Where Levelrail differs
No Swarm, plain Docker
Apps run as ordinary containers. A level-triggered reconciler compares desired and observed state and converges, recording a reason after every pass.
Agent per node
Extra servers run a small agent that dials out to the control plane with mutual TLS, so managed servers need no inbound port.
Observability included
Node-local metrics, full-text log search, crashloop detection and alerts to eighteen channels ship in the core, with deploy markers on the charts.
Bring your apps with you
The importer reads your existing instance through its own HTTP API and never changes anything there. Run it with —dry-run first.install, import, verify
CapRover and Levelrail, side by side
CapRover is a long-standing project with a large install base and a one-click app store. These are the design differences.
Read the full comparison
Move over safely
1
Install on a spare server
One script checks the host, installs Docker if missing and starts the control plane.
2
Dry-run the importer
Point it at your CapRover URL with —dry-run. The importer is read-only against the source.
3
Import and compare
Import a subset with —only, deploy it, and run both for a while before switching DNS.
Frequently asked questions
Does Levelrail need Docker Swarm?
Does Levelrail need Docker Swarm?
No. It runs plain Docker containers on each node. Placement across servers is explicit, and cordon and drain are supported.
How do I migrate from CapRover?
How do I migrate from CapRover?
Use levelrail-cli import platform caprover with your CapRover URL. It is read-only against the source and supports —dry-run and —only.
Does it have a one-click app store?
Does it have a one-click app store?
Levelrail ships a curated template catalog and is expanding it, but CapRover’s app store is larger today. Check that the services you need are covered.
Is it free?
Is it free?
Yes. Apache 2.0, one edition, nothing behind a paywall.