# Production behind an existing reverse proxy (e.g. NPMplus / Nginx Proxy Manager) # that owns ports 80/443 and handles HTTPS. No Caddy: the web app and API are # published on the host for the proxy to reach. # # docker compose -f docker-compose.yml -f docker-compose.prod.yml -f docker-compose.behind-proxy.yml \ # --env-file deploy/production.env up -d --build # # In the proxy, for your domain: # / -> http://127.0.0.1:3737 (WEB_PORT) # /api/ -> http://127.0.0.1:3738/ (API_PORT; strip the /api prefix, websockets on) services: caddy: profiles: ["caddy"] # not started web: ports: !override - "${PROXY_BIND:-127.0.0.1}:${WEB_PORT:-3737}:3737" api: ports: !override - "${PROXY_BIND:-127.0.0.1}:${API_PORT:-3738}:4000"