Multi-host Docker management Web UI — manage containers, images, volumes, networks, stacks, and more from a single dashboard.
- Containers — Start, stop, restart, kill, remove, update (pull+recreate), backup volumes
- Images — List, pull, remove, prune unused, see which containers use each image
- Volumes — Create, remove, prune unused, see container mount mappings
- Networks — Create, inspect, remove
- Stacks — Deploy / stop / remove Docker Compose stacks, YAML +
.enveditor
- Live Dashboard — Container status pie chart, system info, top memory consumers
- System Monitoring — CPU, memory, disk, network RX/TX with time range selector (Live / 1H / 24H / 7D)
- Container Stats — Real-time CPU, memory, network charts per container with historical data
- Metrics Persistence — Automatic 60-second collector stores up to 7 days of history (SQLite)
- JWT Authentication — Login / register with bcrypt-hashed passwords
- API Keys — Create and revoke programmatic access keys
- Session Management — View and terminate active sessions
- Audit Log — Track all administrative actions
- RBAC — Environment-based user roles
- Image Scanner — Vulnerability scanning integration (Trivy)
- Alert Rules — Threshold-based alerts with notification channels
- Webhooks — Incoming and outgoing webhook support
- Container Groups — Organize containers with custom groups
- Favorites — Pin important containers for quick access
- Migration — Import stacks from Portainer or filesystem paths
- Scheduler / Cron Jobs — Auto-backup, auto-update, system prune, scheduled image scans
- S3 Backup Destinations — Upload volume backups to S3-compatible storage (AWS, MinIO, Backblaze)
- Container Backup — One-click backup of all container mounts (volumes + bind mounts)
- Docker Contexts — Switch between multiple Docker hosts
- Swarm Management — Nodes, services, and stack orchestration
| Layer | Technology |
|---|---|
| Backend | Go 1.26, Gin, Docker SDK v27.5.1, GORM, SQLite (CGO-free) |
| Frontend | React 19, TypeScript, Vite, TailwindCSS, shadcn/ui, Recharts |
| Auth | JWT (24h), bcrypt |
| Scheduler | robfig/cron/v3 |
| Storage | SQLite + S3 (AWS SDK v2) |
| Monitoring | Prometheus metrics endpoint |
- Docker Desktop (Windows / Mac / Linux)
- Docker Compose
git clone https://github.com/gottschalkfelix4-source/dockerdash.git
cd dockerdashdocker compose up -dThis will start:
- Backend on http://localhost:8080
- Frontend on http://localhost:8081
Open http://localhost:8081 and use the default credentials:
| Field | Value |
|---|---|
| Username | admin |
| Password | admin |
⚠️ Change the default password immediately after first login!
cd backend
# Install Go dependencies
go mod download
# Build and run
go run ./cmd/servercd frontend
# Install dependencies
npm install
# Start dev server
npm run devdockerdash/
├── backend/
│ ├── cmd/server/ # Entry point
│ ├── internal/
│ │ ├── api/ # REST API handlers
│ │ ├── auth/ # JWT & bcrypt
│ │ ├── db/ # GORM & SQLite
│ │ ├── docker/ # Docker SDK client
│ │ ├── metrics/ # Metrics recorder
│ │ ├── models/ # Database models
│ │ ├── scheduler/ # Cron jobs & metrics collector
│ │ └── ws/ # WebSocket handlers (logs, terminal)
│ └── data/ # SQLite DB & stack storage
├── frontend/
│ ├── src/
│ │ ├── pages/ # Route pages
│ │ ├── components/ # Reusable components
│ │ ├── layouts/ # App layout
│ │ └── stores/ # Zustand state management
│ └── dist/ # Production build
└── docker-compose.yml
| Dashboard | Containers | Container Detail |
|---|---|---|
| Monitoring | Images | Volumes |
|---|---|---|
| Variable | Default | Description |
|---|---|---|
PORT |
8080 |
Backend server port |
DATABASE_URL |
/app/data/dockerpanel.db |
SQLite database path |
JWT_SECRET |
docker-panel-secret |
JWT signing secret |
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Built with ❤️ using Go + React + Docker