# Database (match statistics). The app assembles the DSN from these # parts; DATABASE_PORT may be left unset to use the driver default # (5432 for Postgres). DATABASE_OPTIONS is a raw query string appended # to the URL (e.g. ssl=require); leave empty for none. DATABASE_ENGINE=postgres DATABASE_HOST=localhost DATABASE_PORT=5432 DATABASE_NAME=tavolo DATABASE_USER=tavolo DATABASE_PASSWORD=password DATABASE_OPTIONS= # Full-DSN override: when set, the parts above are ignored. Used by the # test suite (sqlite://:memory:) and handy for managed-DB URLs. #DATABASE_URL=postgres://tavolo:password@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