Lightweight, Coolify-aware monitoring for Docker servers.
Binnacle is a self-hosted dashboard for developers and small teams operating Docker workloads on a Linux server. It combines live host and workload metrics, local history, Coolify/Compose-aware grouping, HTTP checks, deterministic alerts, incident grouping, durable webhook/SMTP notifications, timed silences, effective resource health, bounded container logs, and read-only host process diagnostics, scoped exports, optional Prometheus exposition, and persisted personalization without requiring a separate observability stack.
The current stable release is v0.6.0. Advanced authentication (TOTP and
trusted-proxy authentication) and portability (personal API tokens, exports,
and Prometheus eligibility) remain disabled by default pending their acceptance
tests. Exact release tags and the stable container image are production
artifacts; untagged source builds are development builds. See the
roadmap and release checklist
for qualification details.
- Read-only permanently: Binnacle observes hosts and Docker workloads. It does not restart, stop, delete, exec into, or redeploy containers.
- Local-first: metrics, checks, alerts, configuration, and history remain on the monitored server. Core operation needs no SaaS service and sends no telemetry by default.
- Small deployment: one Go process, one SQLite database, and an embedded web interface; queues, collection, and persistence are bounded.
- Docker-compatible, Coolify-aware: ordinary Docker and Compose work without Coolify; available metadata improves logical resource grouping.
- Single-server: one Binnacle instance monitors one Linux Docker server.
Supported targets are Ubuntu 22.04/24.04 and Debian 12/13 on amd64 or arm64, with Docker Engine 29.5.1 or newer. Coolify is the primary deployment path and Docker Compose is the portable alternative. Kubernetes, Podman, non-Linux hosts, and workload control are unsupported.
For production installation with the published v0.6.0 image, follow the
installation guide. To evaluate Binnacle locally
with synthetic data:
git clone https://github.com/drilonrecica/binnacle.git
cd binnacle
make dev-demoOpen http://127.0.0.1:8080 and complete setup. This uses a fresh temporary
database on each run.
Docker socket warning: a Docker socket is privileged even when its filesystem mount is read-only. Binnacle contains no mutation paths, but a compromised process with socket access may control Docker. Prefer a constrained read-only socket proxy where practical; see Security.
The supported local entry points are:
make dev-demo # application with deterministic synthetic data
make dev-host # application against the local host and Docker engine
make check # formatting, static checks, and test suite
make build # production binary and embedded frontend
make test # Go and frontend unit testsFrontend end-to-end suites require Playwright and are documented by
make help. Release qualification uses ./scripts/release-gate.sh.
- Product boundaries and guarantees
- Roadmap
- Checks and alerts
- Incidents and notifications
- Logs and process diagnostics
- Coolify enrichment and administrator access
- API tokens, exports, Prometheus, and personalization
- Installation, upgrades, and recovery
- Security policy
- Contributing guide and governance
- Architecture decision records
Binnacle is licensed under AGPL-3.0-only. Network users of a modified version must be offered its corresponding source as required by the license. The license does not grant rights to the Binnacle name or logo.
