A self-hosted web dashboard for deploying and managing database containers via Docker. Built with Next.js 16, Tailwind CSS, and Dockerode.
Deploy Postgres, MySQL, MariaDB, MongoDB, or Redis instances with a single click — each with persistent storage, auto-assigned ports, and credential management.
- One-click deployment — spin up database containers from the UI
- Multi-engine support — Postgres, MySQL, MariaDB, MongoDB, Redis
- Persistent storage — data volumes are bound to
db-data/<name>/on the host - Auto-assigned ports — Docker picks an available host port automatically
- Credential display — view/hide usernames and passwords per instance
- Delete with cleanup — force-remove containers from the dashboard
- Node.js 20+
- pnpm
- Docker (daemon must be running)
- The user running the app needs access to
/var/run/docker.sock
pnpm installPull all supported images ahead of time so deployments are instant:
pnpm prefetch
# or
./scripts/update_images.shpnpm devOpen http://localhost:3000 to access the dashboard.
- Fill in the Deploy Database form (engine type, container name, DB name, credentials, version).
- Click Deploy Database — a new Docker container starts with persistent storage under
db-data/. - The card on the right shows connection details: host, port, username, password, and DB name.
- Click the trash icon to stop and remove a container.
app/
page.tsx # Dashboard UI (deploy form + database cards)
actions/
deployDb.ts # Server action: create & start a container
listDbs.ts # Server action: list managed containers
deleteDb.ts # Server action: force-remove a container
db-data/ # Persistent volume mounts (git-ignored)
scripts/
update_images.sh # Pull latest images for all supported engines
| Engine | Default Port | Image |
|---|---|---|
| Postgres | 5432 | postgres |
| MySQL | 3306 | mysql |
| MariaDB | 3306 | mariadb |
| MongoDB | 27017 | mongo |
| Redis | 6379 | redis |
- Next.js 16 — App Router with React Server Actions
- React 19 — client-side dashboard UI
- Tailwind CSS 4 — styling
- Dockerode — Docker Engine API client for Node.js