diff --git a/nginx/nginx.conf b/nginx/nginx.conf index ecc9ae6853..b93f2b9c7d 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -26,6 +26,16 @@ http { # worker_connections 1000; # } + upstream server { + server $IMMICH_SERVER_HOST + keepalive 2 + } + + upstream web { + server $IMMICH_WEB_HOST + keepalive 2 + } + server { gzip on; @@ -61,7 +71,7 @@ http { rewrite /api/(.*) /$1 break; - proxy_pass $IMMICH_SERVER_URL; + proxy_pass ${IMMICH_SERVER_SCHEME}server; } location / { @@ -86,7 +96,7 @@ http { proxy_set_header Connection "upgrade"; proxy_set_header Host $host; - proxy_pass $IMMICH_WEB_URL; + proxy_pass ${IMMICH_WEB_SCHEME}web; } } } diff --git a/nginx/start.sh b/nginx/start.sh index a5c50f97ba..911eab2b1d 100755 --- a/nginx/start.sh +++ b/nginx/start.sh @@ -2,8 +2,16 @@ set -e export IMMICH_WEB_URL=${IMMICH_WEB_URL:-http://immich-web:3000} +IMMICH_WEB_SCHEME=$(echo "$IMMICH_WEB_URL" | grep -Eo '^https?://' || echo "http://") +export IMMICH_WEB_SCHEME +IMMICH_WEB_HOST=$(echo "$IMMICH_WEB_URL" | cut -d '/' -f 3) +export IMMICH_WEB_HOST export IMMICH_SERVER_URL=${IMMICH_SERVER_URL:-http://immich-server:3001} +IMMICH_SERVER_SCHEME=$(echo "$IMMICH_WEB_URL" | grep -Eo '^https?://' || echo "http://") +export IMMICH_SERVER_SCHEME +IMMICH_SERVER_HOST=$(echo "$IMMICH_SERVER_URL" | cut -d '/' -f 3) +export IMMICH_SERVER_HOST -envsubst '$IMMICH_WEB_URL $IMMICH_SERVER_URL' < /etc/nginx/nginx.conf.template > /etc/nginx/nginx.conf +envsubst '$IMMICH_WEB_SCHEME $IMMICH_WEB_HOST $IMMICH_SERVER_SCHEME $IMMICH_SERVER_HOST' < /etc/nginx/nginx.conf.template > /etc/nginx/nginx.conf exec nginx -g 'daemon off;'