Install. Release. Deploy. Roll back.
The same loop whether you run 5 devices or 500.
curl -fsSL https://simpledockerops.com/install | sudo sh
Simple Docker Ops agent installed.
Pair this device:
Code: X72K-4PQ9
https://app.simpledockerops.com/pair
Or scan the QR code shown above. - 1
Install and pair
Run the install command on a device that already has Docker. The agent prints a code and a QR; enter it in the portal and the device joins your organisation with its own credentials.
- 2
Create an application
Paste docker-compose.yml. Declare the variables it needs. Attach registry credentials if the images are private.
- 3
Cut a release
A release freezes the Compose file, resolves every image tag to a digest, and records the platforms each image provides. Releases are immutable.
- 1
Deploy to a fleet
Pick a device or a fleet, a strategy (waves, threshold, on-failure), and go. Devices report applying, healthy, or failed.
- 2
Watch and roll back
Container health, logs, and telemetry per device. If the gate trips, the rollout pauses or rolls back to the previous known-good release.
- 3
Keep it converged
Every device reconciles desired state on reconnect and after power loss. Drift is reported, not silently accumulated.
Desired state in the cloud, reconciliation on the device
- Desired state is persisted in PostgreSQL; the control channel only carries change notifications and commands.
- The agent re-reads authoritative state after every reconnect. Deployments are idempotent.
- Images resolve to OCI digests at release time so a tag cannot change under a rollout.
- Docker Engine access is root-equivalent; the agent runs with exactly the permissions it needs and every action is audited.
- Secrets are envelope-encrypted at rest, scoped, masked in the UI, and delivered only with a release that needs them.
- Agent updates are signed; a failed update rolls back to the previous binary automatically.
What a device reports
{
"device": "dev_8k2m",
"inventory": { "os": "Debian 13", "arch": "arm64",
"docker": "29.0.2", "compose": "2.31", "agent": "0.1.0" },
"telemetry": { "cpu_percent": 12, "mem_percent": 43,
"disk_percent": 31, "cpu_temp_c": 48,
"throttled": false, "uptime_s": 3283200 },
"desired_release": "rel_184", "actual_release": "rel_184",
"state": "healthy",
"containers": [
{ "service": "collector", "image": "ghcr.io/acme/collector@sha256:…", "health": "healthy" },
{ "service": "mqtt", "image": "eclipse-mosquitto@sha256:…", "health": "healthy" }
]
}Add your first device free.
Five devices and five gigabytes of registry on the Free plan. No card, no sales call, no Kubernetes.
curl -fsSL https://simpledockerops.com/install | sudo sh