Deploy the puzzle relay alongside the container stack

Adds a puzzle-relay service (docker-compose.yml) running the same
image as php but executing app:puzzle-relay instead of php-fpm, kept
off the host network - only nginx can reach it. nginx proxies
wss://dmtools.fvandenberg.nl/puzzle-ws/ through to it
(docker/nginx/default.conf), with the public URL set via a new
.env.prod. setup.sh/restart.sh now rebuild, restart, and clean up the
new container alongside the existing ones.

Still needs "Websockets Support" enabled on the NPM proxy host for
this domain, or the upgrade headers never reach the container.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Frank
2026-09-12 13:36:38 +02:00
co-authored by Claude Sonnet 5
parent 2ccbf4ca67
commit efba34a1e2
5 changed files with 49 additions and 5 deletions
+8
View File
@@ -0,0 +1,8 @@
# Committed prod defaults (see .env for the full explanation of the cascade).
# The relay itself still binds 0.0.0.0:8091 inside its own container (see
# PUZZLE_RELAY_LISTEN in .env) - it's never published to the host or the
# internet directly. Browsers instead reach it through this same domain, via
# the /puzzle-ws/ proxy in docker/nginx/default.conf, which forwards to the
# puzzle-relay container over the docker network.
PUZZLE_RELAY_PUBLIC_URL=wss://dmtools.fvandenberg.nl/puzzle-ws/