Granian serves the compiled SPA assets directly in Rust: hashed js/wasm/css under /static (the release build uses --public-url /static/) and the card images under /assets, configured with the GRANIAN_STATIC_PATH_ROUTE/MOUNT/ DIR_TO_FILE env vars in the Dockerfile. The Python catch-all now only serves the SPA shell (index.html) at / and for client-side routes. Every module logs through getLogger(__name__): lifecycle and business events at INFO, per-move and store detail at DEBUG. The built-in default writes DEBUG to the console; LOGGING_CONFIG points at a YAML file in the logging.config.dictConfig schema to take over the configuration. PyYAML becomes a direct dependency.
38 lines
1.2 KiB
Bash
38 lines
1.2 KiB
Bash
# Postgres
|
|
POSTGRES_HOST=localhost
|
|
POSTGRES_PORT=5432
|
|
POSTGRES_DB=tavolo
|
|
POSTGRES_USER=tavolo
|
|
POSTGRES_PASSWORD=tavolo
|
|
DATABASE_URL=postgres://tavolo:tavolo@localhost:5432/tavolo
|
|
|
|
# OIDC (mock-oauth2-server in dev; it does not validate clients, so any
|
|
# client id/secret works. For a real IdP like Keycloak, use its values here.)
|
|
OIDC_ISSUER=http://localhost:8180/tavolo
|
|
OIDC_CLIENT_ID=tavolo
|
|
OIDC_CLIENT_SECRET=dev-secret
|
|
OIDC_REDIRECT_URI=http://localhost:8080/auth/callback
|
|
|
|
# Redis (session and live-game storage). Unset to fall back to in-memory
|
|
# stores (only sensible for local development with a single worker).
|
|
REDIS_URL=redis://localhost:6379/0
|
|
|
|
# How long a live game survives in Redis without activity.
|
|
GAME_TTL_SECONDS=86400
|
|
|
|
# Seconds the between-hands scoring summary waits for acknowledgements
|
|
# before dealing the next hand anyway.
|
|
HAND_ACK_TIMEOUT_SECONDS=30
|
|
|
|
# Seconds a player has to play before the server plays a random legal card
|
|
# for them (covers disconnects and idle players).
|
|
TURN_TIMEOUT_SECONDS=30
|
|
|
|
# Path to a YAML logging configuration file (logging.config.dictConfig
|
|
# schema). Unset logs DEBUG to the console.
|
|
#LOGGING_CONFIG=/path/to/logging.yaml
|
|
|
|
# App server
|
|
APP_HOST=0.0.0.0
|
|
APP_PORT=8080
|