DockLog
DockLog is a free, self-hosted Docker log viewer and container admin dashboard with real-time WebSocket tailing, RBAC, alerts, webhooks, and Android & desktop apps. No Elasticsearch required.

Project Overview
DockLog is an open-source, self-hosted Docker log viewer and container management dashboard built for developers, platform teams, and self-hosters who need answers fast, without standing up Elasticsearch, Loki, or a full observability stack. Mount the Docker socket, run one container, and tail stdout and stderr in real time from a modern web UI. At its core, DockLog streams container logs over WebSockets with autoscroll, reconnect, timestamps, search, highlighting, and multi-container layouts. CPU and memory metrics sit beside your logs so you can correlate spikes with output. No second monitoring tool required. Start, stop, restart, and delete containers from the same dashboard, inspect workloads in a dedicated detail view, and open an in-browser shell when permissions allow. For teams, DockLog ships production-ready access control out of the box. Auth mode stores users and audit records in SQLite with JWT sessions. RBAC supports wildcard and regex container rules, ideal when production and staging share a host. Every administrative action is recorded in a full security audit trail. Prefer a frictionless local setup? No-auth mode skips the database entirely. DockLog also includes webhook notifications to Slack, Microsoft Teams, Discord, or custom HTTPS endpoints, plus configurable alert rules for log patterns, Docker events, and CPU or memory thresholds, with cooldowns and per-channel delivery. Companion Android and desktop apps (v1.0.0) connect to servers you already run. Add your DockLog URL, sign in, and monitor containers, follow live logs, and manage workloads from your phone or workstation. Linux (.deb, AppImage) and Windows builds are available alongside Google Play. Deployment takes under a minute: pull aimldev/docklog from Docker Hub, mount /var/run/docker.sock, and go. The dashboard typically runs at ~30 MB RAM on a small VPS. A built-in deployment builder generates Docker Compose or docker run commands with auth mode, ALLOW_* action flags, reverse-proxy settings, and production hardening, documented at docklog.dev. DockLog is MIT-licensed open source. It is not a replacement for Elasticsearch at petabyte scale, but the fastest path when you just need Docker logs, container controls, and host signals in one self-hosted place.
Responsibilities & Contributions
- Designed and built the Go backend, WebSocket hub, and embedded Vue UI.
- Integrated Docker daemon APIs for logs, stats, and container lifecycle actions.
- Implemented RBAC, staff management, audit logging, and JWT auth workflows.
- Built webhook notifications and configurable alert rules with cooldowns.
- Shipped the deployment builder, docs site, and Docker Hub distribution.
- Released v1.0.0 Android and desktop companion apps (Linux & Windows).
Engineering Challenge
Developers and small teams needed real-time Docker logs and container controls immediately, but full logging stacks (Elasticsearch, Loki, Fluentd) take hours to install, consume significant RAM, and are overkill for day-to-day debugging on a single host or small VPS.
Technical Solution
Built a single Go container that mounts the Docker socket, streams logs over WebSockets, surfaces host metrics inline, and adds optional SQLite-backed RBAC, webhooks, and alert rules, plus native Android and desktop clients for teams that want monitoring outside the browser.
System Architecture
Technical Decisions
Go
Keeps the server lightweight (~30-50 MB RAM) while handling high-throughput WebSocket log streaming and concurrent container operations.
Vue
Embedded SPA for real-time log tailing, container management, health charts, and admin workflows in one responsive dashboard.
Docker SDK
Direct integration with the Docker daemon for log tailing, stats, lifecycle actions, and event-driven alert rules.
WebSockets
Low-latency, push-based log delivery with reconnect and autoscroll. No polling overhead on busy hosts.
SQLite
Optional embedded database for users, RBAC permissions, and audit records without an external DB service.
Features & Capabilities
- Real-time WebSocket Docker log streaming with autoscroll & reconnect
- Log search, highlighting & multi-container log layouts
- Start, stop, restart & delete containers from the UI
- Container detail view with optional in-browser shell access
- CPU & memory host metrics with historical charts
- Granular RBAC with wildcard & regex container permissions
- Staff management with per-user can_* action controls
- Full security audit trail for administrative actions
- Auth mode (SQLite + JWT) or no-auth for instant local dashboards
- Webhook alerts to Slack, Teams, Discord & custom HTTPS endpoints
- Alert rules for log patterns, Docker events & resource thresholds
- Built-in deployment builder for Compose & docker run commands
- Android & desktop companion apps for remote monitoring (v1.0.0)
- Single-container deploy at ~30 MB RAM, no sidecar agents
- MIT open source on Docker Hub (aimldev/docklog)
Outcomes & Impact
- Sub-minute deploy with one Docker image. No logging stack required.
- Runs comfortably at ~30 MB RAM on a small VPS.
- Built-in per-user RBAC without custom plugins or Elasticsearch.
- Shipped v1.0.0 Android & desktop clients (Google Play, Linux, Windows).
- Published on Docker Hub with docs, live demo & deployment builder at docklog.dev.
Engineering Focus Areas
Technologies DockLog Uses
DockLog is built using modern technologies carefully selected to optimize performance, stability, and scale.
Why we chose Go
High-performance backend with efficient concurrency for log streaming and container APIs.







