hammer-editor/docker/config.example.toml
Adam Brown ba70218a44
Support configuring the server time zone (#882) (#922)
Adds a `timezone` config setting, with `HAMMER_TIMEZONE` and `TZ` as
environment-variable fallbacks, applied at startup so both rendered page
timestamps and log lines use it.
2026-08-17 23:20:03 -07:00

53 lines
2.4 KiB
TOML

# Example Hammer server config for Docker.
#
# Mount this file at /data/hammer_data/config.toml (see docker-compose.yml) or
# leave it out entirely to run with defaults. Every value below is optional.
#
# Full reference: ../docs/HOW-TO-RUN-A-SERVER-DOCKER.md
# Public name shown to users. Set this to the hostname clients will connect to.
host = "hammer.example.com"
# Plain HTTP port inside the container. The compose port mapping and the image's
# HEALTHCHECK both assume 8080; changing it means changing those too.
port = 8080
# Time zone for rendered timestamps and log lines, as an IANA zone ID. Defaults to
# the container's zone (UTC unless TZ is set in docker-compose.yml).
# timezone = "Europe/Paris"
# Do NOT set bindHosts under Docker. The main server guide recommends
# ["127.0.0.1", "::1"] behind a reverse proxy, but inside a container that binds
# the container's own loopback, so the published port reaches nothing and the
# server is unreachable while still reporting healthy. Restrict exposure on the
# host side instead, with HAMMER_HTTP_BIND in docker-compose.yml.
# The externally visible base URL, used for links placed in emails. Set this when
# running behind a reverse proxy so generated links use the right scheme/host.
# publicUrl = "https://hammer.example.com"
# TLS: the recommended Docker setup terminates TLS at a reverse proxy in front of
# the container and forwards plain HTTP here. In that case leave sslCert unset.
#
# To have Hammer terminate TLS itself, mount the host certificate directory into
# the container and publish 443. Use absolute container paths: unlike
# termsOfService and privacyPolicy, cert paths are NOT resolved relative to this
# file, and a renewed cert is only picked up when the container restarts.
# sslPort = 443
# [sslCert]
# certChainPath = "/certs/live/hammer.example.com/fullchain.pem"
# privateKeyPath = "/certs/live/hammer.example.com/privkey.pem"
# Storage defaults to an in-process (embedded) PostgreSQL under
# /data/hammer_data/pgdata — no external database needed. To use an external
# PostgreSQL instead, uncomment this and the postgres service in
# docker-compose.yml; host must match that service name.
# [storage]
# type = "remote"
# [storage.remote]
# host = "postgres"
# port = 5432
# database = "hammer"
# user = "hammer"
# password = "change-me"
# useSsl = false # defaults to true; a plain postgres container serves no TLS