DockLog is a self-hosted dashboard for tailing container and pod output, checking host stats, and managing workloads. One image for Docker, Kubernetes, or both.
docker pull aimldev/docklog:latest
docker run -d \
--name docklog \
-p 8888:8000 \
-v /var/run/docker.sock:/var/run/docker.sock \
aimldev/docklog:latest~30MB
Runs comfortably on a small VPS.
1 image
No sidecar agents or log collectors.
Live
WebSocket streams, not polling.
Optional
Skip the DB entirely in no-auth mode.
Choose Docker Compose or docker run, pick a runtime (Docker, Kubernetes, or both), toggle auth mode, set your port, pick which workload actions to allow, then copy the result.
Generate Docker Compose or a plain docker run command with runtime, auth, and action flags
These ALLOW_* flags are the server gate. In auth mode, each user (including admin) also needs matching can_* permissions in Admin → Users.
services:
docklog:
image: aimldev/docklog:latest
container_name: docklog
ports:
- "8888:8000"
environment:
- SECRET_KEYSECRET_KEY: Secret token string for signing secure JWT user session cookies.=generate-secret-here
- DB_PATHDB_PATH: SQLite database storage file path for users and audit records.=/app/data/docklog.db
- CLIENT_ACCESSCLIENT_ACCESS: strict or off. Controls browser origin validation for API and WebSocket access.=strict
- ENVENV: Set to production to enforce a non-default SECRET_KEY and disable localhost origin bypass.=production
- TRUST_PROXYTRUST_PROXY: Honor X-Forwarded-* headers from a trusted reverse proxy. Set true behind Nginx, Traefik, or Caddy.=true
volumes:
- /var/run/docker.sockdocker.sock: Local UNIX host socket allowing direct control of the Docker daemon engine.:/var/run/docker.sockdocker.sock: Local UNIX host socket allowing direct control of the Docker daemon engine.
- ./data:/app/data
restart: unless-stoppedSave this into docker-compose.yaml on your server, then run docker compose up -d.
The essentials for day-to-day Docker and Kubernetes work. No Elasticsearch cluster required.
Tail stdout and stderr from Docker containers or Kubernetes pods over WebSockets. Autoscroll, reconnect, and timestamps included.
Limit who sees which containers, namespaces, or pods with wildcards or regex. Handy when prod and staging share a host or cluster.
Pods, deployments, HPAs, services, and cluster events. Set RUNTIME_MODE to docker, kubernetes, or both.
CPU and memory for the host, containers, and pods. No second tool required.
Inspect containers and pods in dedicated views. Optional in-browser terminal when permissions allow.
Slack, Teams, Discord, or custom HTTPS webhooks for workload, security, health, and admin events.
Log patterns, Docker events, Kubernetes events, and CPU or memory thresholds with cooldowns and per-channel delivery.
Mount the Docker socket, kubeconfig, or both. RUNTIME_MODE controls which APIs and UI sections are enabled.
Auth mode for teams with SQLite, or no-auth for a fast local dashboard.
Read logs, watch host stats, and start/stop/restart containers or pods from the same UI.
Small teams that want answers now, not another platform project.
Debug faster when logs and host signals sit in one place.
RBAC for containers and Kubernetes namespaces. Simple patterns, strict enough to trust.
Logs stay on your box. No third-party telemetry pipeline.
Connect to the DockLog server you already run. Live logs, Kubernetes pods, container controls, log export, and host metrics on Android, Windows, and Linux.
Requires a DockLog server you host or try the live demo
Demo Credentials: demo / Demo@1106
Not a replacement for Elasticsearch at scale. A faster path when you just need the logs.
Docs cover auth mode, RBAC, Kubernetes setup, reverse proxies, and password recovery. Or use the deployment builder above for Compose or a plain docker run command.