Getting Started
Synth is a self-hosted deployment platform with embedded intelligence. It runs as two components: the Synth server (the central orchestrator) and Envoy (lightweight agents on target machines).
Prerequisites
- Node.js 22+
- npm 10+
Quick Start
git clone https://github.com/synth-deploy/synth.git
cd synth-deploy
npm install
npm run build
npm start
The Synth server starts on http://localhost:9410 with demo data seeded
automatically (3 partitions, 3 environments, 3 operations, and sample
deployments).
For production installation, Docker deployment, environment variable reference, and multi-Envoy setup, see the Installation & Configuration guide.
Key Concepts
Partitions
Isolated deployment contexts. Each partition has its own variables, deployment history, and configuration. Cross-partition data access is never allowed.
Artifacts
The things you deploy — container images, Helm charts, npm packages, NuGet packages, or archives. Synth analyzes artifacts automatically to understand what they contain and how to deploy them.
Environments
Named deployment targets (production, staging, development) with their own variable sets. When variables conflict between partition and environment, the conflict policy determines resolution.
Deployments
Immutable snapshots of a deployment configuration. A deployment captures the exact steps, variables, and config at execution time. Deployments can be re-executed for reproducible results.
Debrief
Every agent decision is logged in plain language. The decision log records what happened, why, and the context. Failed deployments generate automatic postmortem reports.
Envoy
Lightweight agents deployed on target machines. Envoys execute deployment steps, run health checks, and report results back to the Synth server. They can run LLM-powered diagnostics when deployments fail.
API
Synth exposes a RESTful API at /api and an MCP server at
/mcp. The UI communicates through the REST API.
See the API Reference for the full endpoint listing.
# List partitions
curl http://localhost:9410/api/partitions
# List artifacts
curl http://localhost:9410/api/artifacts
# List deployments
curl http://localhost:9410/api/deployments