Containly: frequently asked questions
Short, factual answers about price and licence, connecting hosts, Compose files, updates, security and switching from Portainer. Something missing? Write to us through the contact form on the home page.
Price and licence
Is Containly free?
Yes. Containly is free for up to 2 Docker hosts: the local host it runs on plus one more. The free tier includes every core feature, with no expiry and no account. For more hosts you buy a Pro licence inside the app: Pro Lifetime for CHF 189 once, Pro Annual for CHF 89/yr or Pro Monthly for CHF 15.90/mo. Pro also adds Microsoft Entra ID single sign-on, appearance presets, workflows and the Pro backup features (schedules, S3, SFTP, SMB and NFS targets, restore to another host).
Can I try Pro for free?
Yes. Pro Monthly and Pro Annual start with a free 7-day trial, with every Pro feature. The trial is available once per customer: a further subscription of the same customer starts and is billed right away. If you cancel during the trial, nothing is charged; otherwise the first period is billed when the trial ends. Pro Lifetime is a one-time payment without a trial. Details are in the terms.
Can I try Containly before installing?
Yes. The public demo at demo.containly.ch starts a Containly of your own in the browser, with sample hosts, containers and stacks. Nothing in it touches a real Docker host, and everything you change is deleted when your session ends. If you like what you see, the install guide sets Containly up on your own server in about a minute.
Is Containly open source?
No. Containly is proprietary software, but free to use for up to 2 hosts, for private and commercial use, with no account. The image is published on Docker Hub as amslertec/containly. The documentation, example Compose file and licence terms are on GitHub. A Pro licence is a paid key that you activate in the app; it unlocks unlimited hosts, Microsoft Entra ID single sign-on, appearance presets, workflows and the Pro backup features.
Does a Pro licence work offline?
Yes. A Pro licence is bought and activated inside Containly and keeps working offline. Containly checks the licence about once a day. Each successful check stores a signed lease that is valid for up to 30 days (for a subscription at most until 3 days after the paid period). If the licence server cannot be reached, Pro stays active until that lease expires; if it expires while the server is unreachable, Pro stays active until at least 14 days after the last successful check. A definitive answer from the licence server (revoked, refunded, cancelled after the paid period) ends Pro right away. Containly itself needs no account and no cloud service: it runs on your server, and your containers, stacks and data stay there.
Hosts and connections
Can Containly manage multiple Docker hosts?
Yes. One Containly instance manages the local Docker host and your remote hosts: 2 hosts in the free tier, unlimited with Pro. Remote hosts connect over TCP with TLS client certificates, over SSH, or through the Containly agent. You switch hosts in one click, and the dashboard shows all of them together: status, containers, CPU, memory and disk, updates and critical CVEs per host.
Can I manage a Docker host behind NAT without opening ports?
Yes, with the Containly agent. The agent is a small hardened container that you start on the remote host. It dials out to Containly over WSS, so the host needs no open Docker port, no SSH access and no inbound firewall rule. You enrol it with a one-time token and a docker run or Compose snippet that Containly shows you. Logs, terminal, stats, files and Compose stacks all run over that one connection.
Can I move a container or a stack to another host?
Yes. Live migration moves a single container or a whole Compose stack, with its image, volumes and networks, from one connected host to another. Containly runs pre-flight checks first, shows a live progress log while it copies, and rolls back automatically if a step fails. For a single container, migrate sits in the same menu as pause and kill.
Stacks and updates
Where are my Compose files stored?
Containly stores Compose stacks as plain files in folders on the host, in the stack paths you set per host. There is no database lock-in: you can version the folders with Git, back them up and edit them without Containly, and docker compose still works in the same folder. Compose projects started outside Containly are found through their Compose labels and shown next to the others. Override files such as compose.override.yaml are used for every action, just like docker compose does.
Can Containly update containers automatically?
Yes. Containly checks registries by digest without pulling and detects newer versions of pinned version tags. Updates run as a bulk job on the server with live progress that keeps going when you reload the page. Under Schedules you can run update checks and auto-updates hourly, on chosen weekdays or monthly. Every run lands in the audit log, and one email per update scan lists the images with updates.
How does Containly update itself?
With one click in the app. Containly recreates its own container on the new version and rolls back to the previous one if the new version does not start up healthy. If you prefer the command line, run docker compose pull and then docker compose up -d in the Containly folder; that updates it too, without the automatic rollback.
Does Containly scan images for vulnerabilities?
Yes, with Trivy. Containly scans your images on demand or on a schedule and shows the severity counts directly in the image list. For each image you see every CVE with the package, the installed version and the version that fixes it. New critical CVEs can trigger a notification in the app, by email or through a notification channel (Discord, Telegram, Slack, Pushover, ntfy, Gotify or a webhook) or as web push to your phone or browser.
Can I redeploy stacks from CI or monitor Containly with Prometheus?
Yes, both are Free. Under Profile, API tokens you create a personal token with the scopes it needs: read the API, redeploy stacks (optionally only picked stacks) or Prometheus metrics. A pipeline such as GitHub Actions, Gitea or Forgejo Actions then redeploys a stack with one curl call and can follow the job until it finishes. Under Settings, Integrations an admin switches on /metrics for Prometheus: host CPU, memory and disk, container state, health, restarts, CPU and memory for every host. The export is off by default and needs a metrics token unless you allow open scrapes for a trusted network.
Security, platforms and switching
Is it safe to put Containly on the internet?
Containly has root-equivalent access to every connected host, so treat it like SSH access. Put it behind a reverse proxy with TLS, set CONTAINLY_SECURE_COOKIES=true and bind the port to 127.0.0.1. Containly has two-factor authentication with recovery codes, admin and viewer roles, login rate limiting, an audit log of every change and, with Pro, Microsoft Entra ID single sign-on. A filtered Docker socket proxy is available as an option.
Which platforms does Containly run on?
Containly runs on any Linux host with Docker Engine and Docker Compose v2. The image is published for linux/amd64 and linux/arm64, so a Raspberry Pi 4 or 5 with a 64-bit system works as well as a mini PC, a virtual machine or a VPS. Containly is built for Docker Engine; Kubernetes, Swarm services and Podman are not among its supported targets.
How do I switch from Portainer to Containly?
Run Containly next to your current setup. Both only talk to the Docker API, so Containly takes nothing over. Point it at the folders that hold your Compose projects, add your other hosts and check that everything shows up; running Compose projects are found through their labels. When you are happy, decide what to keep. The guide to switching from Portainer has the steps.