diff --git a/root/defaults/default.conf b/root/defaults/default.conf index 2b6258af..8abe29e2 100644 --- a/root/defaults/default.conf +++ b/root/defaults/default.conf @@ -48,6 +48,24 @@ server { add_header X-Content-Type-Options "nosniff"; } } + location = SUBFOLDERswitch { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_buffering off; + proxy_pass http://127.0.0.1:SUPERVISOR_PORT/switch; + } + location = SUBFOLDERstatus { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_buffering off; + proxy_pass http://127.0.0.1:SUPERVISOR_PORT/status; + } error_page 500 502 503 504 /50x.html; location = SUBFOLDER50x.html { root /usr/share/selkies/web/; @@ -106,6 +124,24 @@ server { add_header X-Content-Type-Options "nosniff"; } } + location = SUBFOLDERswitch { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_buffering off; + proxy_pass http://127.0.0.1:SUPERVISOR_PORT/switch; + } + location = SUBFOLDERstatus { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_buffering off; + proxy_pass http://127.0.0.1:SUPERVISOR_PORT/status; + } error_page 500 502 503 504 /50x.html; location = SUBFOLDER50x.html { root /usr/share/selkies/web/; diff --git a/root/etc/s6-overlay/s6-rc.d/init-nginx/run b/root/etc/s6-overlay/s6-rc.d/init-nginx/run index e1eaed6f..6056929e 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-nginx/run +++ b/root/etc/s6-overlay/s6-rc.d/init-nginx/run @@ -7,6 +7,10 @@ NGINX_CONFIG=/etc/nginx/sites-available/default CPORT="${CUSTOM_PORT:-3000}" CHPORT="${CUSTOM_HTTPS_PORT:-3001}" CWS="${CUSTOM_WS_PORT:-8082}" +# Port of the selkies dual-mode supervisor API (/switch and /status). +# Only consulted when SELKIES_ENABLE_DUAL_MODE=true on the selkies side; +# this value drives nginx routing only, not the selkies bind port. +SUP="${SELKIES_SUPERVISOR_PORT:-8082}" CUSER="${CUSTOM_USER:-abc}" SFOLDER="${SUBFOLDER:-/}" FILE_MANAGER_PATH="${FILE_MANAGER_PATH:-$HOME/Desktop}" @@ -31,6 +35,7 @@ cp /defaults/default.conf ${NGINX_CONFIG} sed -i "s/3000/$CPORT/g" ${NGINX_CONFIG} sed -i "s/3001/$CHPORT/g" ${NGINX_CONFIG} sed -i "s/CWS/$CWS/g" ${NGINX_CONFIG} +sed -i "s/SUPERVISOR_PORT/$SUP/g" ${NGINX_CONFIG} sed -i "s|SUBFOLDER|$SFOLDER|g" ${NGINX_CONFIG} sed -i "s|REPLACE_DOWNLOADS_PATH|$FILE_MANAGER_PATH|g" ${NGINX_CONFIG} s6-setuidgid abc mkdir -p ${FILE_MANAGER_PATH}