Install tzdata so TZ resolves, default SECRETARY_TIMEZONE to Europe/Warsaw, and pass it through as the container-wide TZ so OS timestamps (logs, date, cron) match the app's scheduling zone.
25 lines
1.1 KiB
YAML
25 lines
1.1 KiB
YAML
services:
|
|
secretary:
|
|
build: .
|
|
restart: unless-stopped
|
|
# Node does not reap zombies from killed script process groups (scheduled scripts run in
|
|
# their own detached process group so the whole tree can be signalled); an init process does.
|
|
init: true
|
|
environment:
|
|
- TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN}
|
|
- TELEGRAM_OWNER_ID=${TELEGRAM_OWNER_ID}
|
|
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
|
|
- STT_MODEL=${STT_MODEL:-gpt-4o-transcribe}
|
|
- PI_MODEL=${PI_MODEL:-}
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
|
- SECRETARY_TIMEZONE=${SECRETARY_TIMEZONE:-Europe/Warsaw}
|
|
- TZ=${SECRETARY_TIMEZONE:-Europe/Warsaw}
|
|
- LOG_LEVEL=${LOG_LEVEL:-info}
|
|
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-}
|
|
- GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET:-}
|
|
- GOOGLE_REFRESH_TOKEN=${GOOGLE_REFRESH_TOKEN:-}
|
|
volumes:
|
|
- /media/disk1/containers/volcanic_secretary/workspace:/workspace
|
|
- /media/disk1/containers/volcanic_secretary/pi-agent:/pi-agent
|
|
- /media/disk1/containers/volcanic_secretary/claude:/root/.claude
|