Repository navigation
Dockplane 0.2.0-rc.1
Pre-releaseDockplane 0.2.0-rc.1
The first candidate for 0.2.0.
Dockplane now runs workloads rather than only watching them. You write a
Compose file in Dockplane, save it, and deploy it to one of your hosts.
Dockplane owns what it created: it knows which containers are that stack's,
which revision they are, and how to take them away again.
Highlights
Stacks. A Compose file, saved in Dockplane and deployed to a host. Every
save is an immutable revision, so what is saved and what is running are two
separate facts and the interface never conflates them. A stack that has
unsaved-but-undeployed changes says so; a stack whose host does not agree with
any complete revision says that instead, and stops.
Any revision, forwards or back. Applying revision three to a stack running
revision five is a rollback, and it is named that way. Dockplane converges the
host on whichever revision you chose.
Secrets that stay secret. A stack's environment can hold secrets. They are
encrypted at rest under the deployment's own key — not the database's — and
travel to the host inside the deployment plan. They appear in no log, no audit
entry and no API response. Dockplane shows that a secret is set; it will not
show you what it is.
Start, stop, restart. A deployed stack can be moved between running and
stopped without being redeployed, in dependency order, and the result is read
back off the host rather than taken from the agent's word for it.
Delete. A stack's service containers are removed and its saved
configuration and revision history are deleted. Named volumes are kept, and
no data in them is deleted. A deployed stack has to be named back before the
action is offered, and a stack whose host state is unclear cannot be deleted at
all.
Containers you create by hand. A single container can be created,
reconfigured and removed from the interface. Reconfiguring recreates it on
Docker's side, and it stays the same container in Dockplane — same identity,
same history, same audit trail.
Compose that says no. A file is compiled and checked before it can be
saved. Anything Dockplane will not deploy is refused with the path in the file
and a sentence saying why, rather than deployed with that part quietly missing.
See Compose Support.
Security
Still no remote shell. Stacks are typed capabilities like everything else —
stack.deploy, stack.start, stack.stop, stack.restart, stack.remove —
carrying a resolved plan. No Compose file, YAML parser, Compose CLI or command
string reaches a managed host. Compose is read in one place, the control server,
and nowhere else.
- Dockplane touches only what it can prove is its own. Every container,
volume and network it creates carries its identity. An operation that finds a
container it cannot prove belongs to the stack it was asked about stops
rather than acting, and a deployment refuses a volume or network that carries
somebody else's. - A half-applied stack blocks rather than guesses. If the host does not
match one complete confirmed revision, the stack needs attention and nothing
further is applied, operated or deleted until a person chooses a revision. - An operation whose result never came back is not repeated. The stack stays
blocked, and the next complete reading of that host settles what happened. - Deleting a stack is not deleting its data. Named volumes are kept, and a
new stack of the same name will not adopt them.
Three permissions that guarded nothing — roles.manage, stacks.adopt and
stacks.secrets.reveal — have been removed from the catalog. They could be
granted and conferred nothing, which is worse than not existing.
See Security Model,
Agent Security and
Authentication.
Installation
Ubuntu 24.04, Ubuntu 22.04 or Debian 12, with Docker Engine and the Compose
plugin:
VERSION=0.2.0-rc.1
sha256sum -c SHA256SUMS
tar xzf "dockplane-$VERSION.tar.gz"
cd "dockplane-$VERSION"
sudo ./install-control-plane.sh --domain dockplane.example.comThen sign in and add your first host. See
Installation and
Add a Host.
Upgrading from 0.1.0
The installer is the upgrade: download the release, check it, unpack it, run
it. It takes a backup and validates it before anything changes, and stops if
either fails. Pulling images and editing .env is not an upgrade path.
Upgrade the control plane first, then the agents. While a fleet is
half-upgraded, everything 0.1.0 could already do goes on working on every host,
and an operation this release added is refused on a host whose agent has not
been upgraded yet — with This host does not support that operation. Nothing
is changed on that host and nothing is recorded as if it had been. See
Upgrading.
Supported platforms
| Control plane | Ubuntu 24.04, Ubuntu 22.04 or Debian 12, amd64 |
| Managed hosts | Debian 12, Ubuntu 24.04 or Ubuntu 22.04 with systemd |
Ports: 80 and 443 for browsers, 9443 for agents. The API and PostgreSQL are not
published. See Supported Platforms.
ARM64
experimental — built and inspected, not runtime-tested
Packages, binaries and images are produced for arm64 and inspected, and no
arm64 machine has run them. Use amd64 in production.
This is a release candidate
It is the 0.2.0 feature set, verified end to end, and it has not been run in
anger. Deploy it where you can afford to restore a backup.
Known limitations
Read Known Limitations before deploying.
In short: applying a revision recreates every service, so a stack is briefly
down while it is rebuilt; deleting a stack leaves its networks and its named
volumes behind; a Compose project discovered on a host still cannot be taken
over; a stack secret cannot be read back; backups are not encrypted by
Dockplane; and images are not signed.
License
AGPL-3.0-only. See LICENSE.