fix: add nginx proxy to unify web + SocketIO on port 8080

- Nginx routes /socket.io/ to port 9000 (SocketIO)
- Nginx routes everything else to port 8000 (Frappe web)
- Sitename path prefix rewrite for socket.io compatibility
- Update: Zoraxy should now proxy to port 8080 instead of 8000
This commit is contained in:
Claus Lohmar 2026-07-15 21:16:50 +00:00
parent f0e6033cef
commit 6afe8c7d7a

42
deploy/frappe-bench Normal file
View file

@ -0,0 +1,42 @@
upstream frappe-web {
server 127.0.0.1:8000;
}
upstream frappe-socketio {
server 127.0.0.1:9000;
}
server {
listen 8080;
server_name _;
client_max_body_size 50M;
# Route ALL requests containing /socket.io/ to the SocketIO server
# This handles both /socket.io/ and /erp.lohmar.co.uk/socket.io/
location ~* /socket\.io/ {
rewrite ^(.*)/socket\.io/(.*)$ /socket.io/$2 break;
proxy_pass http://frappe-socketio;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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_read_timeout 86400;
}
# All other requests go to Frappe web
location / {
proxy_pass http://frappe-web;
proxy_http_version 1.1;
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_set_header X-Forwarded-Host $host;
proxy_read_timeout 300;
proxy_redirect off;
}
}