Aeroplane - Self-hosted deployment control plane
servers that ship
Deploy apps and databases<br>on your own
server.
Aeroplane gives you a self-hosted control plane for apps, databases, domains, logs,<br>backups, and updates on infrastructure you own.
Get Started<br>Bootstrap node<br>> curl -fsSL https://get.aeroplane.run | sh<br>Managed surface
[apps]
[postgres]
[redis]
[domains]
[backups]
[logs]
[+ more]
resolve_preview app.example.com<br>service_status api: active<br>backup_window postgres: 02:00 UTC
docker.ready - caddy.routing - postgres.backed-up - redis.live - logs.streaming - domains.issued - updates.available - buildkit.warm - docker.ready - caddy.routing - postgres.backed-up - redis.live - logs.streaming - domains.issued - updates.available - buildkit.warm -
After bootstrap
Your server gets a cockpit.
Aeroplane keeps the powerful parts visible: deploys, databases, domains, logs, backups, and host maintenance.
01<br>Install the control plane<br>One script prepares the host, starts the services, and leaves the stack in a place you can inspect.
02<br>Attach projects<br>Create apps and databases from the same interface, then wire domains, env vars, logs, and backups around them.
03<br>Keep it running<br>Use the panels you need day to day: deployments, database access, host health, updates, and storage.
Deploy anything
Import from
Railway
Move a Railway project into your self-hosted Aeroplane control plane without rebuilding the stack by hand.<br>Services, variables, databases, and domains arrive as a project you can inspect and deploy.
01<br>Connect Railway<br>Use a Railway personal API token to pull projects, environments, services, and deployment settings into view.
02<br>Choose what moves<br>Pick the target environment and services, skip Railway-only variables, and decide whether databases should be recreated.
03<br>Land in Aeroplane<br>Aeroplane creates the project, links app variables to new database credentials, imports custom domains where possible, and can queue deploys.
Railway project
production env
connected
web<br>Next.js
repo<br>api<br>Node
vars<br>postgres<br>DB
data
Aeroplane stack
self-hosted
migrated
web<br>deployed
live<br>api<br>env linked
ready<br>postgres<br>managed
backed up
Included in the import
App variables and command overrides<br>Postgres, MySQL, Redis, MongoDB, and Timescale services<br>Database data imports for supported Postgres-family databases<br>Custom domains and detected service ports
Import from Vercel
Move a Vercel app into Aeroplane with its Git source, environment target, commands, and custom domains already shaped for your server.
01<br>Connect Vercel<br>Paste a Vercel API token, choose a personal account or team, and browse projects with connected Git sources.
02<br>Pick the runtime shape<br>Choose production, preview, or development variables, skip Vercel system vars, and decide whether to deploy immediately.
03<br>Run it on your server<br>Aeroplane recreates the Git service with root directory, commands, variables, and custom domains ready for self-hosted deploys.
Vercel project
production target
ready
repo acme/web<br>root apps/site<br>env production<br>deploy queued
Included in the import
Git repo, branch, and root directory<br>Build and install command overrides<br>Production, preview, or development variables<br>Custom domains with vercel.app hostnames skipped
100% free to use
No cloud subscription. No seat pricing. No deployment tax.
Bring a server, install Aeroplane, and keep the control plane on infrastructure you own.
Star on GitHub
Follow the project, watch the roadmap, and help more people find the self-hosted path.
Star repo