Dacker is a modern Docker monitoring dashboard that provides real-time container insights, image management, and admin access in a single Docker image.
- Admin login with first-login password reset
- Live container metrics (CPU, memory)
- Image and container management (start/stop/restart/update/delete)
- Detailed container logs and metadata views
- Real-time search across containers and images
- Backend: FastAPI (Python 3.13)
- Frontend: React + Vite
- Database: SQLite
- Auth: JWT
- Docker SDK for runtime stats and actions
Create a docker-compose.yml file:
services:
dacker:
image: zeusdlk/dacker:latest
ports:
- "7878:7878"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- dacker-data:/data
restart: unless-stopped
volumes:
dacker-data:Run:
docker compose up -dOpen:
http://localhost:7878
Default credentials:
- Username:
admin - Password:
admin
On first login, you'll be prompted to set a new password. Data is stored in /data/app.db.
docker run -d --name dacker \
-p 7878:7878 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v dacker-data:/data \
zeusdlk/dacker:latestBackend:
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 7878Frontend:
cd frontend
npm install
npm run dev- Async-ready FastAPI architecture: structuring routes, request models, and response handling cleanly while keeping the service async-friendly.
- JWT-based auth flow: issuing tokens, validating requests, and enforcing protected routes.
- Secure password storage: using strong hashing with
passliband tracking first-login resets in SQLite. - Service composition: separating Docker API integrations into a dedicated module for clean boundaries.
- Error handling and resiliency: returning safe API errors while shielding the UI from runtime failures.
- Access to
/var/run/docker.sockis required to list and manage containers/images. - The app is packaged as a single Docker image containing both backend and frontend.