In development · Coming in v2.0

Docker Management GUI for Linux Servers

Portainer makes you run an agent container on every server you want to see. CtrlOps reads Docker over the SSH connection you already have, so a box you can reach is a box you can manage. Containers, logs, shells and Compose stacks, in the app you already use for the rest of the server.

DockerDesign preview · v2.0

Running

3

Restarting

1

Exited

1

Reclaimable

4.1 GB

Compose stackacme-api4 services
ContainerImageStatusCPUMemoryPorts
api-gatewayghcr.io/acme/gateway:2.4.1running12d4.2%312 MB0.0.0.0:8080->8080
worker-queueghcr.io/acme/worker:2.4.1running12d18.7%604 MB-
postgrespostgres:16-alpinerunning31d2.1%1.2 GB127.0.0.1:5432->5432
redisredis:7-alpinerestarting4s0.0%18 MB127.0.0.1:6379->6379
legacy-cronacme/cron:0.9exited---

Read over your existing SSH session. Nothing installed on web-01.

Docker Manager is not in the current build. Fourteen other features have shipped, and the free trial gets you all of them today.

Release status

Status

In active development

Target release

CtrlOps v2.0

Current build

v1.1.5, shipped Sep 2026

Docker Container Management has been on the public roadmap since before this page existed, and every release before it is listed in the changelog. No date is promised here, because a date we miss is worth less than a version we hit.

The way it goes now

Eight commands to restart one container.

None of these commands are hard. That was never the problem. The problem is that every question costs another round trip, the id has to be carried by hand between them, and the whole sequence starts again on the next server.

A normal afternoon
  1. 01$ ssh deploy@203.0.113.24Server one of four.
  2. 02$ docker psNine columns wrapped across three lines each.
  3. 03$ docker ps --format "{{.Names}}\t{{.Status}}"Re-run it, because the first one was unreadable.
  4. 04$ docker logs --tail 200 a3f9c21b4e77Copy the id by hand. Hope it is the right one.
  5. 05$ docker logs -f a3f9c21b4e77Now the terminal is busy. Open another tab.
  6. 06$ docker exec -it a3f9c21b4e77 shNo bash in the image. Try sh.
  7. 07$ docker restart a3f9c21b4e77Did it come back? Run docker ps again to find out.
  8. 08$ exit && ssh deploy@203.0.113.61Server two of four. Start over.

Multiply by four servers. Now do it again tomorrow, from memory, while something is down.

The usual fix is to install something that watches Docker for you. Which raises the question this page is actually about: what do you have to put on the server to get a screen?

The difference

A Docker UI that installs nothing on your server.

Every other way to get a screen in front of Docker asks you to put something on the host first: an agent container, an exposed port, a second set of logins to manage. That is a fine trade when you run a platform. It is a lot of ceremony for four servers and a Compose file.

How CtrlOps v2.0 Docker Manager will compare with Portainer, Docker Desktop and terminal UIs such as lazydocker and ctop
 PortainerDocker Desktoplazydocker / ctopCtrlOps v2.0
Installed on the serverAn agent container per hostNothing, it is local onlyThe binary, on every hostNothing
How it reaches the engineIts own agent, over a port you openThe local Docker socketThe local socket, after you SSH inYour existing SSH session
Another login to manageYes, Portainer has its own usersNoNoNo, your SSH key is the auth
Many servers in one viewYes, once every agent is deployedNoNo, one terminal per hostYes
Rest of the server in the same appNo, containers onlyNoNoYes - files, logs, PM2, cron, monitoring
Where credentials liveIn the Portainer instance you hostOn your machineOn your machineOn your machine, never on ours

Portainer is a good product and this is not a claim that it is not. It is a claim about a trade: it manages containers thoroughly and asks for an agent to do it, while CtrlOps manages the whole server and reaches Docker through the connection it already has. If you run a container platform, take the agent. Read the longer version of that argument on the why CtrlOps page, or see how the same agentless model already works for live monitoring and PM2.

Scope of the v2.0 release

What Docker Manager will actually do.

Four areas, decided and in build. This list is the release scope, not a wish list - if something is not here, it is not in v2.0.

Containers, logs and shells

Every container on every connected server in one list, with the columns you keep re-running docker ps to get.

  • Name, image, state, uptime, published ports, live CPU and memory
  • Start, stop, restart and remove from the row
  • Stream logs live, search them, download them
  • Open a shell inside a running container in one click

Compose stacks, as stacks

A Compose project is one thing, so it is shown as one thing rather than as five unrelated containers that happen to share a prefix.

  • Compose projects on the server detected and grouped by stack
  • Up, down and restart the whole stack, or one service in it
  • Read and edit the compose file in place
  • Per-service state and logs without leaving the stack view

Images, volumes, networks

  • Image list with real sizes and tags, pull and remove
  • Dangling images and stopped containers surfaced with the disk they hold
  • Volumes and networks inspectable without docker inspect

Registry, build and redeploy

  • Connect a registry and pull a tag
  • Redeploy a container onto a new tag
  • Build from a Dockerfile already on the server

The AI Terminal, already there

  • Describe a container problem in plain English
  • Every command shown for approval before it runs
  • This one is not waiting for v2.0 - it works today
Who this is for

The afternoons this gives back.

Not a platform team running a cluster. The people who have a handful of servers with containers on them, and no good screen to look at.

SSH into four servers just to find out which containers are up.

Every container on every server, in one list

Four boxes running Compose stacks means four terminals and four rounds of docker ps, usually before you have even found the one that is broken. Docker Manager will list them together, already sorted by state, so the restarting one is the first thing you see instead of the thing you go looking for.

  • One list, every server
  • State and uptime at a glance
  • No agent to deploy first

Copying container ids by hand to read a log that scrolls past.

Click the container, read the log

A container that keeps restarting tells you why in the last few lines before each restart, and getting to them currently costs a docker ps, a copied id and a docker logs with the right tail length. Clicking the row will do it, and the log will keep streaming while you read it instead of locking up the terminal you needed.

  • Live log stream
  • Search and download
  • Shell into the container

Five containers listed separately when they are obviously one app.

A stack you can bring up and down as one thing

A Compose project is one application, and docker ps shows it as five unrelated rows that happen to share a name prefix. Docker Manager will group them back into the stack they belong to, with the compose file readable and editable in place, and up, down or restart applying to the whole thing or to one service in it.

  • Grouped by project
  • Whole-stack actions
  • Edit the compose file in place

Finding out a server is out of space because of images nobody pruned.

See what Docker is holding before it becomes an incident

Old images, dangling layers and stopped containers quietly take a disk down, and the usual discovery method is a deploy failing at 6pm. The image list will show real sizes with reclaimable space called out, so pruning is something you decide to do rather than something you are forced into.

  • Real image sizes
  • Reclaimable space surfaced
  • Prune without the flags
What this is, and is not

A Docker manager, not an orchestrator.

The honest version of the boundary, written before the thing ships rather than discovered afterwards. Docker Manager is where you see and drive the containers already on your servers. It is not a cluster scheduler, it is not a build service, and it never claims to be either.

What v2.0 will do

  • Lists every container on every connected server, with live CPU, memory, state and ports.
  • Starts, stops, restarts and removes a container from its row.
  • Streams container logs live, and opens a shell inside a running container.
  • Groups Compose projects as stacks, and brings a whole stack up or down.
  • Lists images with their real sizes, pulls tags, and reclaims the disk dangling ones hold.
  • Pulls from a connected registry and redeploys a container onto a new tag.

What it is not

  • It is not Kubernetes, and it will not become itNo clusters, no pods, no manifests, no Helm. Docker Manager talks to the Docker engine on a server you can SSH into, which is a different job from scheduling workloads across a cluster. If you are on Kubernetes, you want Lens, k9s or the dashboard, and none of them is what this is trying to be.
  • It does not schedule or place containersNo Swarm services, no replicas, no deciding which host something should run on. A container belongs to the server it was created on. This manages what is there and what you tell it to start, and that is the whole scope.
  • It does not build or host images for youA build runs on your server from a Dockerfile already on it, using the Docker daemon on that server. There is no cloud build service and no registry of ours. Your images live in your registry, which is the same lock-in answer the rest of CtrlOps gives.
  • It does not alert you when a container diesNo notifications, no PagerDuty, no on-call. The panel shows what is happening while you are looking at it. If you need to be told at 3am that a container is crash-looping, that is a monitoring platform with alerting, and this is not one.
  • It does not keep container historyLive CPU and memory only. You cannot look back at what a container did last Tuesday or compare this week against last. Retained time-series for containers is an APM, and Datadog, Grafana with cAdvisor, or Prometheus do it properly.

It will run over the SSH connection you already have, so nothing is installed on the server and uninstalling CtrlOps leaves your containers exactly as they were. That is the same boundary every other module keeps - see how CtrlOps connects.

Hear about it before it lands.

One email before Docker Manager launches in v2.0. No newsletter, and your address is never sold or shared.

Docker FAQ

Questions before you join the list.

Docker Manager is in active development and is targeted at CtrlOps v2.0. No release date is published, because a date that slips is worth less than a version we hit. Docker Container Management has been listed as in-progress on the public CtrlOps roadmap since before this page existed, and every release before it is in the changelog. Join the waitlist on this page and you get one email when it ships.
No. Nothing is installed on the host. CtrlOps reads and drives Docker over the SSH connection you already use for that server, the same way it already does live monitoring, PM2 and log tailing. There is no agent container to deploy, no port to open, and no second set of logins to manage. That is the main difference from Portainer, whose multi-host model is an agent container running on each managed host.
Partly, yes. Three things already ship in the current build. The AI Terminal writes and explains docker commands from a plain-English description and shows every one of them for approval before it runs. The Security Audit includes Docker as one of its four audit categories, checking daemon and socket exposure, privileged containers, volume permissions and image provenance. And the free YAML Validator lints docker-compose files in your browser with no account. What lands in v2.0 is the dedicated panel that replaces the commands entirely.
For a small fleet of servers, it is meant to be. The trade is different in both directions. Portainer manages containers more thoroughly than CtrlOps will at v2.0, and it has a Kubernetes story CtrlOps has none of. In exchange it asks you to run an agent container on every host, expose a port for it, and manage its own users. CtrlOps installs nothing, authenticates with your SSH key, and puts containers in the same app as the files, logs, processes and metrics on that server. If you run a container platform, take the agent. If you have four servers with Compose stacks on them, you probably should not have to.
Yes. Compose projects on the server are detected and grouped as a stack rather than listed as unrelated containers that happen to share a name prefix. You can bring the whole stack up, down or restart it, act on a single service inside it, and read and edit the compose file in place.
No, and it is not planned. Docker Manager talks to the Docker engine on a server you can SSH into. Scheduling workloads across a cluster is a different job with different tools, and Lens, k9s or the Kubernetes dashboard do it properly. There are no pods, no manifests and no Helm in this, at v2.0 or after it.
No. There are no alerts, no notifications and no integrations with PagerDuty, Slack or email for containers. The panel shows you what is happening while you are looking at it, and it keeps no historical CPU or memory you can look back through. If you need to be told at 3am that a container is crash-looping, you need a monitoring platform with alerting, such as Datadog or a self-hosted Prometheus with Alertmanager.
That is still being decided and we would rather say so than guess. The v2.0 scope is the standard Docker engine reachable over SSH on the servers you have connected. Rootless installs and custom socket paths are on the list to look at, and if it matters to your setup, join the waitlist and say so when you reply to the launch email.
No. It is part of CtrlOps, included in the same plan as every other feature, at $7 per user per month or $70 per user per year after the 1-month free trial. There is no container add-on and no per-host pricing. See pricing.
Get started

Docker is coming. The other fourteen are here.

Connect a server and you get live monitoring, an AI terminal, file management, PM2, logs, cron and a security audit that already checks your Docker hosts. Docker Manager joins them in v2.0. 1-month free trial, no credit card.

Windows

✓ Start instantly·✓ No credit card·✓ No sneaky autorenewals