Skip to main content
Keep the simple CapRover workflow, drop the Swarm dependency 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. Get started | View on GitHub

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

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.

Try it beside your CapRover setup

Import read-only, run both, and keep what works. Get started | View on GitHub
Last modified on October 12, 2026