Deploy across multiple servers and roles with Kamal

domain: kamal-deploy.org · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Under servers:, define each role either as a simple host list (e.g. web: [172.1.0.1, 172.1.0.2]) or with custom config under a hosts: key
  2. For non-web roles (e.g. workers), set a custom cmd (like bin/jobs) and any role-specific env, options, or logging overrides
  3. Set primary_role in the root config if your primary/web-equivalent role is named something other than web
  4. Enable the proxy for non-primary roles explicitly with proxy: true (or a full options map) — only the primary role gets it by default
  5. Scope commands to specific roles with kamal deploy -r <roles> (comma-separated, wildcards supported) instead of touching every host

Known gotchas

Related routes

Manage secrets for a Kamal deployment
kamal-deploy.org · 5 steps · unrated
Write a basic Kamal deploy.yml configuration
kamal-deploy.org · 5 steps · unrated
Configure a database accessory in Kamal
kamal-deploy.org · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans