Getting started
Conductor is the control plane for self-hosted Rails ops across a fleet — it manages servers, apps, routing, databases, backups, and provider APIs, across Kamal, native, and Docker deploys, driven by a web UI, a CLI, and AI agents over MCP.
The core loop
Register a server → Add an app → Connect GitHub → Deploy → Point a domain
- Register a server. Add a host Conductor can reach over SSH (provide its IP + an SSH key). One server can host many apps.
-
Provision a database (optional). Register a Postgres cluster and provision a per-app database + role; Conductor surfaces the
DATABASE_URL. -
Add an app. Give it a name, repository URL, server, and a deploy method —
kamal,native, ordocker. - Connect GitHub. So Conductor can clone private repos.
-
Set env vars.
SECRET_KEY_BASE,DATABASE_URL, API keys — managed per app in Conductor. - Deploy. From the UI or an agent (an MCP endpoint any agent can drive).
- Point a domain. Conductor manages routing + TLS (Let's Encrypt) via the shared proxy.
Topologies
Conductor doesn't force one layout:
- Standalone — one app on its own box.
- Fleet — many apps on one shared box (shared proxy + shared Postgres), for density.
Deploy method and topology are independent choices.
Drive it two ways (CLI in progress)
-
Web UI — the dashboard at
/dashboard. -
MCP — the full toolset over HTTP: AI agents (or your own scripts via
curl) call Conductor's tools to run the whole loop programmatically. Connect an agent by signing in through the browser (OAuth) — no token to paste. See Deploy via MCP. -
CLI (early / in progress) —
bin/conductorcurrently covers secret-safeset-envand a genericcall <tool>passthrough over the MCP endpoint. A fuller command set is planned; until then, script against MCP directly.
Next: Deploy an app.