Runs are scrollback
A Semaphore run is a text stream. Railwarden paints every host and task live as a matrix, with the failed host highlighted, per-task timing, and drill-down. Six hundred hosts stay readable.
Semaphore proved a one-binary Ansible UI is the right shape. Railwarden keeps that shape and adds what teams outgrow it for: a live host-by-task matrix instead of scrollback, OpenTofu, PowerShell, Python, and Go alongside Ansible, Terraform, and Bash, RBAC and teams in the open source core, enforced approvals, and an audit trail you can prove offline. Your Semaphore backup imports in one command.
Semaphore is a fine task runner. These are the walls teams hit as the fleet grows.
A Semaphore run is a text stream. Railwarden paints every host and task live as a matrix, with the failed host highlighted, per-task timing, and drill-down. Six hundred hosts stay readable.
Semaphore gates RBAC behind its enterprise tier and has no approval gates or provable audit. Railwarden ships roles, teams, per-object grants, policy-enforced approvals, and a tamper-evident hash-chained audit trail in the open source core.
Semaphore forgets a run the moment it ends. Railwarden tracks every host across runs: flaky hosts flagged, durations trended, drift detected from a dry run, and big jobs split across shards balanced by measured host cost.
The full three-way table including AWX is on the comparison page.
| Capability | Railwarden | Semaphore |
|---|---|---|
| Deploy without Kubernetes | ||
| Live host-by-task matrix | ||
| Tools | Ansible, Terraform, OpenTofu, Bash, PowerShell, Python, Go | No Python, PowerShell, or Go |
| RBAC and teams in open source | Enterprise tier | |
| Per-object grants | ||
| Enforced approval policies | ||
| Tamper-evident, signed audit | ||
| Duration-balanced job splitting | ||
| Fleet memory: flaky hosts, trends | ||
| Drift detection from a dry run | ||
| Drag-and-drop workflow editor | On the roadmap | |
| Distributed workers in open source | Paid tier | |
| Active-active HA on PostgreSQL | ||
| Advisory AI triage and fleet answers | ||
| Drop-in Go plugins: tools, secrets, AI, notifiers | ||
| Import from the other side | One command |
Honesty first: Semaphore has years of production use, a large installed base, and packaged distributions everywhere. Railwarden answers with everything above it: the live matrix, the governance layer, the fleet memory, and an import that brings your projects across in one command.
Export a Semaphore backup, import it into Railwarden. Projects, inventories, templates, and schedules come across, with a dry run first so you see the plan before anything is written.
railwarden import semaphore backup.json --db railwarden.dbrailwarden import semaphore backup.json --db railwarden.db --applyThe migration reference maps every Semaphore concept to its Railwarden equivalent.