Run the sync server as a plain container; stop cleanly on SIGTERM

Drop the Compose/Caddy example: production runs on Kubernetes, and locally
the container only needs a forwarded port and a volume. The README now gives
the `docker run` steps and what a Kubernetes deployment needs (one replica,
since it's a single SQLite file; a volume at /data; TLS at the ingress).

The server only shut down on Ctrl-C, so `docker stop` and pod termination,
which send SIGTERM, waited out the grace period and killed it. It now shuts
down gracefully on either.

Also ignore `.env`, which can hold the OIDC client secret.
This commit is contained in:
2026-10-08 23:09:34 -05:00
parent de55fc634a
commit 5b4fa81bc1
6 changed files with 63 additions and 49 deletions

View File

@@ -1,4 +1,9 @@
# Where users reach the server, exactly as the reverse proxy serves it.
# Settings for the mtgc-server container, for `docker run --env-file`. Copy to
# .env (which git ignores) and fill in. See the README's "Running the sync
# server" for the full list.
# Where users reach the server, exactly as they reach it: through your ingress
# in production, or the forwarded port locally (http://localhost:8080).
MTGC_PUBLIC_URL=https://mtgc.example.com
# Username/password accounts, managed with `mtgc-server user ...`.