Self-hosted · Rust · MIT
Ferry — your own Render
Turn one machine with Docker into your own Render. Point Ferry at a git repo, a local folder or a Docker image: it builds the code, deploys it with zero downtime and gives it a URL — then scales, heals and logs your apps.
Quick start
# get the code, build the dashboard, then the server and the CLI$ git clone https://github.com/Carter2307/ferry && cd ferry$ (cd web && npm ci && npm run build)$ cargo build --release$ ./target/release/ferryd # in another terminal, with the token ferryd printed$ export PATH="$PWD/target/release:$PATH"$ ferry login --server http://127.0.0.1:7878 --token <token>$ cd examples/node-hello && ferry up --follow$ curl http://node-hello.localhost:8080What Ferry runs
Render’s building blocks, on your own server
Web services, private services, background workers, cron jobs and static sites — plus everything around them. Docker is the only runtime dependency.
Zero-downtime deploysBlue/green deploys with health checks, deploy history, one-click rollbacks and cancel.Git, folders or imagesAny git URL (auto-deploy on GitHub push, deploy hooks for anything else),
ferry up from a local folder, or a prebuilt Docker image.Networking & HTTPSA built-in reverse proxy, a URL per service, custom domains with Let’s Encrypt and a private network.Managed datastoresPostgres and Redis with persistent volumes, wired into services with env var references.Cron & one-off jobsCron jobs on a schedule, and ferry run for one-off commands such as migrations.BlueprintsDescribe everything in ferry.yaml — or apply your existing render.yaml.Self-healingA reconciler replaces crashed containers, enforces instance counts and keeps routes current.Dashboard, CLI & APIA web dashboard, the ferry CLI and a REST API described by OpenAPI 3.1.Documentation