Sfoglia il codice sorgente

feat(nginx): Enable upstream keepalive (#1206)

* Enable keepalive

* Adapt envsubst

* Fix shellcheck issues

* Lower connection count
otbutz 2 anni fa
parent
commit
b584185f0f
2 ha cambiato i file con 21 aggiunte e 3 eliminazioni
  1. 12 2
      nginx/nginx.conf
  2. 9 1
      nginx/start.sh

+ 12 - 2
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;
     }
   }
 }

+ 9 - 1
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;'