Files
xenia-pos-local/nginx-proxy/nginx.conf.cloud.example
bonamin 34ae328b0d feat: bump client-services (accumulated feature work + deploy fixes)
Snapshot of in-progress work across local_backend, manager_dashboard,
and waiter_pwa (pricing, chat, fiscal, prep zones, recovery codes, CRM,
inventory, permissions), plus the nginx/docker-compose deploy fixes for
the Unraid + NPM reverse-proxy setup.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-19 10:00:14 +03:00

51 lines
1.7 KiB
Plaintext

# Cloud deployment config — use this when Nginx Proxy Manager (NPM) sits in front.
#
# NPM handles TLS termination and forwards plain HTTP to this nginx on port 80.
# Set up two proxy hosts in NPM:
# - waiter.yourdomain.com → http://<vps-internal-ip-or-container>:PORT
# - manager.yourdomain.com → http://<vps-internal-ip-or-container>:PORT
#
# NPM should forward to whichever port this container exposes on the host (e.g. 8080),
# or use a Docker network so NPM can reach this container by name.
#
# In NPM proxy host settings, make sure:
# - "Websockets Support" is ON (needed for SSE / live updates)
# - "Block Common Exploits" is your call
# - Custom header: X-Forwarded-Proto = https (NPM adds this automatically)
#
# Replace waiter.yourdomain.com / manager.yourdomain.com with your real domains.
server {
listen 80;
server_name waiter.yourdomain.com;
location / {
proxy_pass http://waiter_pwa:80;
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 $http_x_forwarded_proto;
# SSE / long-poll support
proxy_read_timeout 3600s;
proxy_buffering off;
}
}
server {
listen 80;
server_name manager.yourdomain.com;
location / {
proxy_pass http://manager_dashboard:80;
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 $http_x_forwarded_proto;
# SSE / long-poll support
proxy_read_timeout 3600s;
proxy_buffering off;
}
}