Docker & Kubernetes logs without the logging stack

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.

bash
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
RAM use

~30MB

Runs comfortably on a small VPS.

Deployment

1 image

No sidecar agents or log collectors.

Log tailing

Live

WebSocket streams, not polling.

SQLite

Optional

Skip the DB entirely in no-auth mode.

Quick setup

Generate a deploy command for your server

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.

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.

Generated docker-compose.yaml
yaml
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-stopped

Save this into docker-compose.yaml on your server, then run docker compose up -d.

What you get out of the box

The essentials for day-to-day Docker and Kubernetes work. No Elasticsearch cluster required.

Real-time streams

Tail stdout and stderr from Docker containers or Kubernetes pods over WebSockets. Autoscroll, reconnect, and timestamps included.

Granular RBAC

Limit who sees which containers, namespaces, or pods with wildcards or regex. Handy when prod and staging share a host or cluster.

Kubernetes hub

Pods, deployments, HPAs, services, and cluster events. Set RUNTIME_MODE to docker, kubernetes, or both.

Host metrics

CPU and memory for the host, containers, and pods. No second tool required.

Workload detail & shell

Inspect containers and pods in dedicated views. Optional in-browser terminal when permissions allow.

Webhook notifications

Slack, Teams, Discord, or custom HTTPS webhooks for workload, security, health, and admin events.

Alert rules

Log patterns, Docker events, Kubernetes events, and CPU or memory thresholds with cooldowns and per-channel delivery.

How it works

Install to first log tail in three steps

01

Connect your runtime

Mount the Docker socket, kubeconfig, or both. RUNTIME_MODE controls which APIs and UI sections are enabled.

02

Pick a mode

Auth mode for teams with SQLite, or no-auth for a fast local dashboard.

03

Tail and act

Read logs, watch host stats, and start/stop/restart containers or pods from the same UI.

Who it's for

Small teams that want answers now, not another platform project.

Dev teams

Debug faster when logs and host signals sit in one place.

Platform teams

RBAC for containers and Kubernetes namespaces. Simple patterns, strict enough to trust.

Self-hosters

Logs stay on your box. No third-party telemetry pipeline.

DockLog vs. a full logging stack

Not a replacement for Elasticsearch at scale. A faster path when you just need the logs.

Setup time
DockLogUnder a minute
StackSeveral services to install
Docker + Kubernetes
DockLogOne UI with RUNTIME_MODE
StackSeparate tools per runtime
Per-user RBAC
DockLogBuilt in
StackRoll your own or add plugins
Workload actions
DockLogStart / stop / remove
StackOften view-only
Database required
DockLogOptional
StackUsually yes (Elasticsearch, etc.)

Ready to deploy?

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.