Files
Kurt_kalendar/ht_booking/config/production.yaml
2026-05-16 23:03:29 +02:00

61 lines
1.8 KiB
YAML

# Production configuration.
#
# Loaded when LOCO_ENV=production (set in the Dockerfile). This file is
# committed and contains NO secrets — the JWT secret and admin credentials
# come from environment variables (see .env.production.example / DEPLOY.md).
logger:
enable: true
pretty_backtrace: false
level: info
format: compact
server:
port: 5150
# Bind on all interfaces so the Caddy container can reach the app over the
# shared Docker network. Do NOT use `localhost` here — it would be
# unreachable from outside this container.
binding: 0.0.0.0
# Public URL of the site (used by mailers for absolute links).
host: https://tenisrajec.sk
middlewares:
static:
enable: true
must_exist: true
precompressed: false
folder:
uri: "/static"
path: "assets/static"
fallback: "assets/static/404.html"
# In-process async workers — no Redis required.
workers:
mode: BackgroundAsync
# The site has no SMTP server and admin login is password-based, so no mail is
# ever sent. `stub` guarantees a stray mail call can never block on a network.
mailer:
stub: true
database:
# SQLite file on the mounted Docker volume (see docker-compose.prod.yml),
# so the data survives rebuilds and restarts.
uri: {{ get_env(name="DATABASE_URL", default="sqlite://data/production.sqlite?mode=rwc") }}
enable_logging: false
connect_timeout: 500
idle_timeout: 500
min_connections: 1
max_connections: 1
# Create the DB and run migrations automatically on first boot.
auto_migrate: true
# Never wipe data in production.
dangerously_truncate: false
dangerously_recreate: false
auth:
jwt:
# REQUIRED. Generate once with `openssl rand -hex 32` and set JWT_SECRET in
# .env.production. The app will not start without it.
secret: {{ get_env(name="JWT_SECRET") }}
expiration: 604800 # 7 days