Files
FossFLOW/docker-entrypoint.sh
enix ac770382e8 feat(docker): add HTTP Basic Authentication support (#214)
* feat(docker): add HTTP Basic Authentication support

* fix: address review feedback

* Update docker-entrypoint.sh



* Update .env.example

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: use bcrypt for htpasswd and ensure .htpasswd file always exists

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-10 05:41:02 +00:00

27 lines
894 B
Bash

#!/bin/sh
# Start Node.js backend if server storage is enabled
if [ "$ENABLE_SERVER_STORAGE" = "true" ]; then
echo "Starting FossFLOW backend server..."
cd /app/packages/fossflow-backend
npm install --production
node server.js &
echo "Backend server started"
else
echo "Server storage disabled, backend not started"
fi
# Start nginx
# Configure HTTP Basic Auth
touch /etc/nginx/.htpasswd
if [ -n "$HTTP_AUTH_USER" ] && [ -n "$HTTP_AUTH_PASSWORD" ]; then
echo "Setup HTTP Basic Auth..."
echo "$HTTP_AUTH_USER:$(printf '%s' "$HTTP_AUTH_PASSWORD" | openssl passwd -bcrypt -stdin)" > /etc/nginx/.htpasswd
sed -i 's/AUTH_BASIC_SETTING/"Restricted"/g' /etc/nginx/http.d/default.conf
else
echo "No (optional) HTTP Basic Auth configured"
sed -i 's/AUTH_BASIC_SETTING/off/g' /etc/nginx/http.d/default.conf
fi
echo "Starting nginx..."
nginx -g "daemon off;"