The config / secret split
dbdock.config.json holds non-sensitive settings and is safe to commit. Secrets go in environment variables. See the full table in the Security overview.
Strict mode
Have DBDock refuse to run if any secret appears in the config file:dbdock.config.json.
Where secrets should live
Local development
A gitignored
.env file, or your OS keychain. Never commit .env.Production
A secret manager or cloud KMS — AWS Secrets Manager, Vault, GCP Secret Manager, etc.
CI/CD
Your CI provider’s encrypted secret store (GitHub Actions secrets, GitLab CI variables). Inject at runtime.
Cloud sign-in
For the CLI in CI, use
DBDOCK_TOKEN from a secret store. See Authentication.Least-privilege storage credentials
Give DBDock only the permissions it needs. For AWS S3 or R2, a scoped policy is enough to put, get, list, and delete backups:The encryption secret
Your backup encryption secret deserves special care — it’s the one value that, if lost, makes encrypted backups unrecoverable.Rotating keys
Rotate on a schedule and after any suspected exposure. The Key rotation guide walks through rotating your encryption secret without losing access to old backups.Related
Encryption
The crypto behind backups.
Data handling
What sync uploads.

