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
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>
21 lines
638 B
Bash
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
|