Getting Started
DockLog ships as a single Docker image on Docker Hub. Mount the socket, expose a port, and you're tailing logs in the browser. Auth mode adds SQLite-backed users, RBAC, and audit logs.
aimldev/docklog:latest (amd64 and arm64). One container bundles the Go backend and Vue 3 UI. No separate frontend image to wire up.What the image includes
Single-image deployment
Pull, mount the socket, expose a port.
Backend + frontend
API, WebSockets, and Vue UI in one container.
RBAC and actions
Server ALLOW_* gates plus per-user can_* flags.
Audit and persistence
Users and audits in SQLite when auth mode is on.
Webhook notifications
Slack, Teams, Discord, or custom HTTPS webhooks.
Alert rules
Log, event, and metric rules with throttling.
Auth mode (teams)
RBAC, audit log, and JWT sessions. Mount a volume at DB_PATH so users and audits survive restarts. Fresh installs seed admin / admin123.
mkdir -p ./data
docker run -d \
--name docklog \
-p 8888:8000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd)/data:/app/data \
-e SECRET_KEYSECRET_KEY: Secret token string for signing secure JWT user session cookies.=your-secure-key-here \
-e DB_PATHDB_PATH: SQLite database storage file path for users and audit records.=/app/data/docklog.db \
-e CLIENT_ACCESSCLIENT_ACCESS: strict or off. Controls browser origin validation for API and WebSocket access.=strict \
-e ENVENV: Set to production to enforce a non-default SECRET_KEY and disable localhost origin bypass.=production \
-e TRUST_PROXYTRUST_PROXY: Honor X-Forwarded-* headers from a trusted reverse proxy. Set true behind Nginx, Traefik, or Caddy.=true \
--restart unless-stopped \
aimldev/docklog:latestNo-auth mode (local / LAN)
Skips login. Uses in-memory SQLite unless you set DB_PATH. Do not expose on the public internet.
docker run -d \
--name docklog \
-p 8888:8000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-e DISABLE_AUTHDISABLE_AUTH: Skips the login screen. Fine on a private LAN; don't use on the public internet.=true \
--restart unless-stopped \
aimldev/docklog:latestInteractive deployment builder
Pick Compose or docker run, choose a runtime (Docker, Kubernetes, or both), toggle auth and action flags, then copy the snippet:
Deployment Builder
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.
Kubernetes (optional)
Set RUNTIME_MODE=kubernetes or both to enable pod logs, shell, RBAC, alerts, and dashboards for a cluster. Mount kubeconfig or run in-cluster. See the Kubernetes guide for compose examples and Docker Desktop TLS notes.
Environment variables
DockLog is configured with environment variables in Compose or docker run. See the environment variables reference for the full table, including RUNTIME_MODE, KUBECONFIG, and action flags.
Edit or suggest changes on GitHub.