Multi-user, multi-session card deck for the board game niamondo. It is an independent
app next to the Node-RED deck; the only thing they share is the master database niamondo.db.
Status: feature complete, not yet released (image 0.1.0 is not pushed to Docker Hub yet). See SPEC.md.
What it does:
/docs/.static/live.js), strict CSP, no CDN.brew install go # once
cd deck2
cp env.sample .env.local # fill in DECK2_ADMIN_EMAIL, DECK2_ADMIN_PASSWORD, DECK2_LISTEN, …
make test
make run # starts the server at the address in .env.local
make open # opens the browser at that address (macOS)
| Variable | Default | Meaning |
|---|---|---|
DECK2_LISTEN | 127.0.0.1:8080 (image: 0.0.0.0:8080) | address to bind |
DECK2_DATA_DIR | ./data (image: /data/sessions) | directory for sessions.db (local volume, not backed up) |
DECK2_MASTER_DB | ./niamondo.db (image: /app/niamondo.db) | read-only master data |
DECK2_ADMIN_EMAIL, DECK2_ADMIN_PASSWORD | – | admin bootstrap (see env.sample) |
DECK2_PUBLIC_URL | – | public base URL |
DECK2_TRUST_PROXY | false | honour X-Forwarded-For / X-Forwarded-Proto (set true only when the container is reachable solely through the reverse proxy) |
DECK2_INSECURE_COOKIES | false | drop the Secure cookie flag so the app works over plain http. Development only; a warning is logged |
DECK2_MAX_SSE | 300 | maximum concurrent live-update connections |
The image is a static Go binary on ubi9/ubi-micro, running as uid 1001. Run it with
read_only: true, cap_drop: [ALL], no-new-privileges and a writable volume on /data/sessions.
The container serves plain HTTP; TLS must be terminated by the reverse proxy.
make test vulnSERVICE_VERSION in Makefile and the image: tag in docker-compose.nuc2-lan.ymlmake all (docker context colima, Docker Hub login)Content type
Image
Digest
sha256:0d66f2c1c…
Size
11.8 MB
Last updated
3 days ago
docker pull janvda/niamondo-deck2