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.
CapRover alternative
Levelrail runs apps on plain Docker containers with its own reconciler and a small agent per extra server. Git push to deploy, automatic HTTPS, rollback and an importer for your CapRover apps.
curl -fsSL https://levelrail.com/install.sh | sudo sh
Apps run as ordinary containers. A level-triggered reconciler compares desired and observed state and converges, recording a reason after every pass.
Extra servers run a small agent that dials out to the control plane with mutual TLS, so managed servers need no inbound port.
Node-local metrics, full-text log search, crashloop detection and alerts to eighteen channels ship in the core, with deploy markers on the charts.
The importer reads your existing instance through its own HTTP API and never changes anything there. Run it with --dry-run first.
CapRover is a long-standing project with a large install base and a one-click app store. These are the design differences.
One script checks the host, installs Docker if missing and starts the control plane.
Point it at your CapRover URL with --dry-run. The importer is read-only against the source.
Import a subset with --only, deploy it, and run both for a while before switching DNS.
No. It runs plain Docker containers on each node. Placement across servers is explicit, and cordon and drain are supported.
Use levelrail-cli import platform caprover with your CapRover URL. It is read-only against the source and supports --dry-run and --only.
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.
Yes. Apache 2.0, one edition, nothing behind a paywall.
Import read-only, run both, and keep what works.