# monorail.dev
Local-first dev environments that boot in <200ms. A drop-in replacement for the Docker Compose file you've been adding services to since 2019. Single binary. Zero daemon. npx monorail up and you're done.
Try it in your terminal, right now.
curl -fsSL monorail.dev/install | sh — works on macOS, Linux, & WSL.
## Why monorail?
Most teams ship a docker-compose.yml that's grown to 14 services, takes 4 to 11 minutes to boot, eats your laptop's battery, and breaks differently for every new hire.
monorail replaces it with a single 8MB binary that:
- Boots a 14-service stack in under a second, on a fresh machine.
- Reuses native processes where it can, falling back to micro-VMs only when isolation matters.
- Hot-reloads service config without bringing the stack down — including database schemas.
- Ships with a declarative monorail.toml that's diffable, reviewable & lints in CI.
- Replays your team's stack from a single git commit. New hires onboard in 4 minutes.
## Install
## Benchmarks
Cold-start time of the same 14-service stack (Postgres, Redis, Kafka, NATS, Mailhog, Minio, Localstack, two Node APIs, three Go services, a Python worker, a Rust binary), on an M2 MacBook Pro, fresh boot, no cache.
Cold start · 14 services lower is better · n=200
We publish the full benchmark harness, the raw 200-run dataset, and the methodology in /bench. Run it on your own hardware:
# clone, run, compare against your existing setup git clone https://github.com/monorail-dev/bench cd bench && ./run.sh --vs docker-compose
## How it works
monorail reads a single monorail.toml and decides — per service — whether to run it as a native process, a Firecracker microVM, or in a shared lightweight sandbox. Most things run native. Only what needs isolation gets virtualised.
# monorail.toml — committed to your repo [stack] name = "billing-api" profile = "dev" [services.postgres] image = "postgres:15-alpine" isolation = "sandbox" # shared sandbox · cheap data = "./.monorail/pg" # persistent across boots [services.api] cmd = "pnpm dev" isolation = "native" # native process · fastest depends_on = ["postgres", "redis"] port = 3000 [services.worker] cmd = "go run ./cmd/worker" isolation = "microvm" # Firecracker · for messy deps
## Pricing
monorail is open-source & free forever for individuals. The team plan adds shared remote stacks, ephemeral PR environments, and audit logs.
Local · OSS
- Unlimited local stacks
- All isolation modes
- Hot-reload & replay
- Community support
Team
- Everything in Local
- Shared remote stacks
- Ephemeral PR environments
- SOC2 / SSO / audit logs
- Slack support · 24h SLA
Enterprise
- Self-hosted control plane
- VPC peering & private registry
- Dedicated support engineer
- Custom SLA · 99.99%
## Changelog · recent
| version | date | what changed | author |
|---|---|---|---|
| v0.18.2 | 2026-04-17 | Firecracker microVM cold-start down 38% on Apple Silicon. Fixes #2104, #2118. | @nikola |
| v0.18.1 | 2026-04-04 | Hot-reload now preserves Postgres connections across config changes. opt-in. | @dara |
| v0.18.0 | 2026-03-22 | Replay: bring up the exact stack a teammate had on a given commit. major. | @cal + @mira |
| v0.17.4 | 2026-03-08 | Adds monorail doctor for diagnosing slow boots. 14 health checks. | @nikola |
| v0.17.3 | 2026-02-22 | WSL2 cold start down 22%. Native systemd-less boot path. | @dara |
## Built in the open · join us
"We replaced a 412-line docker-compose.yml with a 38-line monorail.toml on a Friday afternoon. Boot time fell from 11 minutes to 0.2 seconds. The team has not stopped talking about it."
— Eilidh K., staff eng · @ stripe
monorail is built by a team of seven, fully in the open, on GitHub. We ship every other Friday. Issues are triaged daily. Every PR gets a human review.
- ★ Star on GitHub — github.com/monorail-dev/monorail
- # Join the Discord — 8,400 devs, 4 maintainers on call
- ↪ Subscribe to the changelog — one email per ship
- ♥ Sponsor a maintainer — github.com/sponsors
Ready when you are.
Install in under five seconds. Free forever for solo work. No credit card. Easy to uninstall: monorail uninstall.
// © 2024–2026 monorail labs ltd · MIT licensed · made on a small team in Berlin & Lisbon · site by opusdevs