One control panel for every Docker host.
Containly is a self-hosted web UI to manage containers, Compose stacks, images, volumes and networks across all your hosts — with live logs, an in-browser terminal, monitoring, updates and backups. Your data never leaves your server.
Free for up to 2 hosts — no sign-up.
The whole Docker lifecycle — connect, deploy, monitor, secure
Multi-host management
Connect your local Docker socket and remote hosts over TCP or SSH — no agent to install, just a lightweight helper container. Manage up to 2 hosts for free, unlock more with a license, and switch between them in a click.
Agent for hosts behind NAT
Can’t reach a host directly? Deploy a small hardened agent container that dials out to Containly instead — no open Docker port, no SSH, no inbound firewall rule. Copy-paste the docker run or compose snippet and it enrolls itself; from then on everything works exactly like a directly-connected host.
Per-host overview
Every host gets a clear overview: running vs. stopped containers, images, volumes, networks, CPU and memory — so you always know the state at a glance.
Container control
Start, stop, restart and inspect containers. Follow live logs, open a real terminal in the browser, watch CPU/RAM history, browse the container’s files and edit its environment variables.
Compose stacks
Deploy and manage Docker Compose stacks with live output. Auto-sync from Git (GitOps), review a diff before every redeploy, and archive stacks you no longer run.
Live migration between hosts
Move a container or a whole Compose stack — with its image, volumes and networks — from one host to another, streamed live with a progress log. Pre-flight checks catch problems first, and automatic rollback keeps the source safe if anything fails.
Images & vulnerability scanning
Browse images and their layers, add or remove tags, and prune what you don’t use. Every image is scanned for CVEs (Trivy) with severity badges right in the list.
Volumes & networks
Browse and download volume contents, see which networks are actually in use, and safely remove orphaned volumes and networks to reclaim space.
Monitoring, updates & alerts
Background monitoring watches for offline hosts, unhealthy containers, OOM kills, restart loops and low disk — and detects available image updates and new critical CVEs. You’re notified in-app and by email the moment something needs attention.
One-click self-update
Containly detects new versions and updates its own container in place — recreating itself safely and rolling back automatically if the new version doesn’t come up healthy. No manual pull-and-restart.
Backups
Schedule automatic backups of your Containly configuration and restore them in a single click whenever you need to.
Users & access control
Give people the right access: admin and viewer roles, two-factor authentication (TOTP), invite users by email, and a “stay logged in” option for trusted devices.
Microsoft Entra ID Single Sign-On
ProLet your team sign in with their Microsoft accounts. Entra security groups map to Containly’s admin and read-only roles, with a scheduled background sync — and it works both over plain HTTP without a domain (device code) and as a seamless one-click redirect.
Appearance presets
ProGive your instance a look of its own. Pick a curated colour-and-typography preset, or build your own — choose an accent, a font and per-mode background colours, and Containly derives a coherent, contrast-safe palette for light and dark. The chosen preset applies to everyone on the instance.
Screenshots
Pricing
Containly is free for up to 2 hosts. For unlimited hosts, go Pro — pay monthly or yearly, or once for lifetime access. Every license is bought and activated right inside Containly, keeps working offline, and your data never leaves your server.
Free
CHF 0
up to 2 hosts
- ✓ Every feature included — no trial, no expiry
- ✓ Up to 2 Docker hosts — the local host + 1 more
- ✓ No sign-up — self-hosted, your data stays with you
Pro — Monthly
CHF 15.90/mo
unlimited hosts · billed monthly
- ✓ Everything in Free
- ✓ Microsoft Entra ID Single Sign-On
- ✓ Appearance presets
- ✓ Unlimited Docker hosts
- ✓ Use on up to 2 Containly instances
- ✓ Billed monthly — cancel anytime
- ✓ Buy & activate in-app — works offline
Pro — Annual
CHF 89/yr
unlimited hosts · billed yearly
- ✓ Everything in Free
- ✓ Microsoft Entra ID Single Sign-On
- ✓ Appearance presets
- ✓ Unlimited Docker hosts
- ✓ Use on 1 Containly instance
- ✓ Billed annually — cancel anytime
- ✓ Buy & activate in-app — works offline
Pro — Lifetime
CHF 189
unlimited hosts · one-time
- ✓ Everything in Free
- ✓ Microsoft Entra ID Single Sign-On
- ✓ Appearance presets
- ✓ Unlimited Docker hosts
- ✓ Use on 1 Containly instance
- ✓ One-time payment — yours forever
- ✓ Buy & activate in-app — works offline
Get started
Pull the image and start it with Docker Compose on your own server. The full compose file and docs are on GitHub.
curl -fsSL https://raw.githubusercontent.com/amslertec/containly/main/docker-compose.example.yml -o docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/amslertec/containly/main/.env.example -o .env
docker compose pull
docker compose up -d
docker compose logs -f containly