Files
Inboxintel/.env.example
T
cesnimda 2dd2d22673
CI / backend (pull_request) Successful in 51s
CI / frontend (pull_request) Successful in 12s
CI / format (pull_request) Successful in 49s
CI / db-tests (pull_request) Successful in 52s
Security / secrets (pull_request) Successful in 4s
Security / dependencies (pull_request) Successful in 1m3s
feat(ops): nightly database backups with rotation (RECOMMENDATIONS #3)
Adds a compose 'backup' sidecar: daily pg_dump of the inboxintel DB into ./backups
(git-ignored), atomic write (.tmp -> rename), rotation after BACKUP_KEEP_DAYS
(default 7). Previously there were NO backups — a bad migration or volume loss
meant total data loss. Restore procedure documented in compose + SECURITY.md.

Verified: compose config parses; a live pg_dump against the staging DB produced a
valid dump over the compose network with the same image/credentials the sidecar uses.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 16:19:16 +02:00

21 lines
638 B
Bash

# Copy to .env and fill in. docker-compose reads these.
POSTGRES_PASSWORD=change-me
# Google OAuth2 credentials (create at https://console.cloud.google.com/apis/credentials)
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# AI mode: Disabled | LocalOllama | CloudOpenAi
AI_MODE=Disabled
# Origin the API allows for CORS (the frontend container).
FRONTEND_ORIGIN=http://localhost:8081
# Dev mode: shows the "test/dev" banner and caps the initial sync.
# Set DEV_MODE=true and MAX_MESSAGES=1000 to test against a large mailbox.
DEV_MODE=false
MAX_MESSAGES=0
# Nightly DB backup rotation (days of dumps to keep in ./backups)
BACKUP_KEEP_DAYS=7