DEV Community

Cover image for I built a self-hosted Docker platform in Go
Fran
Fran

Posted on

I built a self-hosted Docker platform in Go

usulnet — Self-hosted Docker management platform

I've been building usulnet, a self-hosted platform for managing Docker
infrastructure. It's a single Go binary that handles containers, images,
volumes, networks, stacks, security scanning, backups, monitoring,
reverse proxy, SSH/RDP/database connections, and multi-node deployments
— all from one web UI.

Key highlights:
• Single binary (~50 MB), no Node.js or Python dependencies
• Trivy security scanning with CVE detection and scoring
• Multi-node master/agent architecture with NATS + mTLS
• Built-in terminal (xterm.js), code editor (Monaco), Neovim in browser
• 11 notification channels (Slack, Discord, Telegram, PagerDuty, etc.)
• RBAC with 44+ permissions, 2FA, LDAP/OIDC
• Backup & restore to S3/local with cron scheduling
• Reverse proxy management (Caddy + Nginx Proxy Manager)
• Full REST API with OpenAPI 3.0 docs

Tech stack: Go, Chi, Templ, Tailwind CSS, Alpine.js, HTMX, PostgreSQL,
Redis, NATS.

Fast deploy (60 seconds, auto-generated secrets):
curl -fsSL https://raw.githubusercontent.com/fr4nsys/usulnet/main/deploy/install.sh | bash

GitHub: https://github.com/fr4nsys/usulnet
License: AGPL-3.0

This is the first public beta (v26.2.0). It's functional and used in
production, but there may be rough edges. Bug reports and feedback are
very welcome — please open an issue on GitHub.

Top comments (1)

Collapse
 
paperbanana profile image
PaperBanana

Love the single binary approach! The Go + HTMX stack is a breath of fresh air compared to heavy Node-based tools. 👏