Configuration
Most of DockPod's day-to-day configuration happens in the UI under Settings, not in a config file.
Data Directory Layout
Everything DockPod persists lives under --data-dir (default ./data):
data/
├── dockpod.db # SQLite — users, deploy apps, build logs, plan limits, audit log, etc.
├── repos/ # git clones for Git Deployment apps, one folder per app ID
├── ssh-keys/ # per-app Ed25519 deploy keys (0600 permissions)
├── paste/ # saved compose files + env files for Paste & Deploy and 1-Click Deploy
├── local-ca/ # self-generated CA cert+key for .test/.local custom domains (see Custom Domains)
└── traefik-dynamic/ # per-domain Traefik routing config + certs, generated as domains are addedBack up dockpod.db (and ssh-keys/ if you use private repos) to preserve your install's state.
License
DockPod ships fully functional on the Free tier — no license required. To unlock Pro features (rollback, unlimited Git Deployment/database provisioning, Telegram/Slack/Discord notifications, scheduled tasks, multi-user), go to Settings → General → License and paste your license key. See Pricing for the full Free vs Pro breakdown.
Licenses are Ed25519-signed, verified offline (no phone-home required after activation), and locked to a specific machine — Settings → General → License shows this server's Machine ID; send it to whoever issues your license before it can be minted for this install.
Panel Domain
Settings → General → Domain lets you access the panel itself at a custom domain over HTTPS instead of http://server-ip:8080. It reuses the exact same shared Traefik instance and Let's Encrypt account as your deployed apps' domains — see Custom Domains for how certificate issuance works (real domain vs. local .test/.local vs. plain HTTP), the same logic applies here. The first save takes a few seconds while the reverse proxy restarts to pick up the new route; existing app domains keep working throughout.
Profile — Password & Two-Factor Authentication
Click your username (top right) → Profile for account-level settings that apply to you specifically, not the whole install — unlike Settings, this page has no admin gate, so it's where a non-admin team member's own account settings will live too.
Change Password updates the password you sign in with — requires your current password, not just an active session.
Two-Factor Authentication adds a TOTP second factor (Google Authenticator, 1Password, Authy, etc.) to your login. It's per-user, opt-in, and not Pro-gated — available on a Free-tier single-admin install too. Enrolling shows a QR code to scan and, once you confirm a code from your app, 10 backup codes — save them somewhere safe, each is single-use and meant for when you lose access to your authenticator device. Once enabled, logging in becomes a two-step flow: password first, then the 6-digit code (or a backup code). Disabling requires re-entering your password, not just being logged in.
Environment Variables Summary
See Installation for the full flag/env-var table.