Quickstart
Three commands from repo to running app. No Kubernetes, no CI pipeline, no registry.
1. Install
For the official Linux releases, Meridian is a single executable:
curl -fsSL meridian-deploy.dev/install.sh | shCheck the installation:
meridian --versionIf you build Meridian yourself with Crystal, the result is still a native binary, but it is not automatically fully standalone. Depending on your toolchain, additional shared libraries may be required.
2. Initialize
Change into your project and let Meridian detect the framework (Marten, Rails, Elixir, Node, Go):
cd my-app
meridian initFor Marten projects, Meridian recognizes the standard project layout, sets MARTEN_ENV=production, and reuses /health if you have defined that route.
This writes a deploy.yml that you should review before the first deploy. Update at minimum the host address, public hostname, and image name:
service: my-app
image: ghcr.io/acme/my-app:latest
servers:
web:
hosts:
- prod-01.example.com
proxy:
host: my-app.example.com
ssl: true
app_port: 3000
proxy:
image: ghcr.io/basecamp/kamal-proxy:latest
transfer:
mode: stream # or 'incremental', or omit to pull from a registry
env:
clear:
MARTEN_ENV: production
secret:
- DATABASE_URL3. Deploy
meridian deployWhat happens during deploy:
- You've already built the image locally (
podman build/docker build). Meridian does not build the image for you. - The image is transferred to the server — via
podman pullfrom a registry, or registry-free withtransfer.mode: stream(SSH + zstd) ortransfer.mode: incremental(OCI layout + rsync). - Meridian writes a Quadlet unit under
~/.config/containers/systemd/anddaemon-reloads your user systemd. - kamal-proxy waits for the health check and atomically switches traffic from the old container color to the new one.
- The old color is stopped and unused images are pruned.
This typically takes 10-20 seconds for a small app.
4. Rollback
Something went wrong? Switch back to the previous color:
meridian rollbackkamal-proxy switches traffic back without rebuilding any container.
Where To Go Next
- Guide overview - concepts and architecture
- Reference - all
deploy.ymloptions and CLI commands
