* feat: add gateway reverse proxy for extra services Add a lightweight Node.js gateway on port 3000 that routes requests by URL prefix (/ws/*, /ws_mp/*, /ws_debug/*) to the correct backend service, stripping the prefix before forwarding. This allows all extra services to be accessed through a single port. Also makes the multiplayer server more tolerant by generically stripping /ws_mp/ prefix on HTTP requests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: enable gateway by default for extra services Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: add REMOTE_EXTRA env var for unified extra services proxy Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: make gateway port configurable via PORT env var Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: simplify Caddyfile extra services routing Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
26 lines
578 B
Caddyfile
26 lines
578 B
Caddyfile
{
|
|
layer4 {
|
|
:25 {
|
|
proxy {
|
|
to windmill_server:2525
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
{$BASE_URL} {
|
|
bind {$ADDRESS}
|
|
|
|
# Extra services: LSP, Multiplayer, Debugger (windmill_extra gateway)
|
|
reverse_proxy /ws/* /ws_mp/* /ws_debug/* http://windmill_extra:3000
|
|
|
|
# Search indexer, Enterprise Edition (windmill_indexer:8002)
|
|
# reverse_proxy /api/srch/* http://windmill_indexer:8002
|
|
|
|
# Default: Windmill server
|
|
reverse_proxy /* http://windmill_server:8000
|
|
|
|
# TLS with custom certificates
|
|
# tls /certs/cert.pem /certs/key.pem
|
|
}
|