Documentation Index
Fetch the complete documentation index at: https://docs.dbdock.xyz/llms.txt
Use this file to discover all available pages before exploring further.
Installation issues
pg_dump, pg_restore, or psql not found
DBdock uses PostgreSQL’s command-line tools. Install them:
macOS
macOS
Ubuntu / Debian
Ubuntu / Debian
Fedora / RHEL
Fedora / RHEL
Windows
Windows
Install from postgresql.org — choose “Command Line Tools” if you don’t want the full server.
pg_dump --version
EACCES on npm install -g dbdock
Don’t use sudo. Configure npm’s global prefix to a directory you own:
Configuration issues
Secrets still in dbdock.config.json
Migrate them to .env:
dbdock migrate-config.
Strict mode failures
IfDBDOCK_STRICT_MODE=true and you see errors about secrets in config, run migrate-config — strict mode refuses any config file that contains secrets.
Missing environment variables
DBdock needs at minimum:- Database — either
DBDOCK_DB_URL/DATABASE_URL, orDBDOCK_DB_PASSWORD(with connection details in the config file) - Storage credentials if using S3/R2/Cloudinary
DBDOCK_ENCRYPTION_SECRETif encryption is enabled
.env exists and contains the right variables. See the configuration reference.
Database connection errors
password authentication failed
- Your password is wrong or has been rotated
- If using
DBDOCK_DB_URL, password is URL-encoded — special characters like@,#,/must be percent-encoded
could not connect to server: Connection refused
- Postgres server isn’t running on that host/port
- Firewall blocks outbound connection (check security groups, network ACLs)
- Test manually:
psql -h HOST -p PORT -U USER -d DBNAME
connection timed out
- Remote server is unreachable
- If on a cloud VPC, check security groups allow traffic from your runner
- Increase timeout: not configurable in DBdock, use network/firewall fixes instead
.pgpass not being used
- File must be at
~/.pgpass - File permissions must be exactly
0600:chmod 600 ~/.pgpass - Format:
host:port:database:user:password— no spaces
Storage errors
AWS S3
Verify credentials
DBDOCK_STORAGE_ACCESS_KEY and DBDOCK_STORAGE_SECRET_KEY set in .env. Try aws s3 ls s3://your-bucket to test.Verify bucket + region
Bucket name must match config exactly. Region must match the bucket’s actual region.
Cloudflare R2
- Endpoint URL:
https://<ACCOUNT_ID>.r2.cloudflarestorage.com(notpub-<hash>.r2.dev) - Account ID is in your Cloudflare dashboard sidebar
- API token must have Object Read & Write scope
- Region is always
auto
Cloudinary
cloudNamein config must exactly match dashboard (case-sensitive)- API credentials are under Dashboard → Account Details
- Free tier is 25 GB — check usage in dashboard
Encryption key errors
Invalid encryption key
The key must be exactly 64 hexadecimal characters (0-9, a-f):.env as DBDOCK_ENCRYPTION_SECRET.
Restore fails with decryption error
- Wrong key — old backups need the key they were encrypted with
- See Key rotation guide for restoring backups encrypted with an old key
No backups found during restore
list shows nothing:
Local storage
- Check files exist in the configured
path - File permissions allow reading
- Files follow pattern:
backup-*.sql
S3 / R2
- Files are in the
dbdock_backups/prefix - Correct bucket + region
- Filenames match:
backup-*.sql
Cloudinary
- Look in
dbdock_backupsfolder in Media Library - Correct cloud name
- Filenames match:
backup-*.sql
Alerts not delivering
- Check spam folder first
- Verify SMTP credentials (Gmail needs App Password, not account password)
- Provider’s activity/send logs (SendGrid, SES, Mailgun all have dashboards)
- Run
npx dbdock testto send a test
Slack
- Webhook URL still valid (recreate if deleted)
- Channel still exists
- App still installed in workspace
Getting more help
Still stuck?GitHub Discussions
Ask the community.
Open an issue
Report a bug or request a feature.

