SynapSynapDocs

Run your own pod

What a self-hosted pod is made of, what you need to run one, and the tools you operate it with.

For Self-hostersOpen-source podReviewed 2026-10-20

The Synap pod is open source (MIT) and published as signed releases of the backend repository. This section covers running one on your own server. To get a pod running quickly, follow the self-host quickstart first.

What runs on the server

A pod is a Docker Compose project. The services that always run:

ServiceWhat it does
backendThe pod API on port 4000: tRPC, the Hub REST API, MCP, webhooks and background workers
realtimeSocket.IO and collaborative editing, on port 4001
pod-adminThe pod's admin console
postgresPostgreSQL 15 with TimescaleDB: your data and the event log
postgres-backupHourly database dumps, off-host snapshots and restore drills
redisCache and queues
minioFile storage (S3-compatible)
typesenseFull-text search, rebuilt from PostgreSQL
kratosOry Kratos: sign-in and accounts
caddyThe web server in front of everything, with automatic HTTPS. Publishes ports 80 and 443.

Only Caddy is published on the server's public interfaces. PostgreSQL, MinIO, Typesense and Kratos bind to 127.0.0.1 only.

Optional services are behind Compose profiles: monitoring (Dozzle, Prometheus, Grafana, Alertmanager), rsshub (RSSHub and browserless), cloudflare-tunnel and pangolin-tunnel.

What you need

  • A Linux server with Docker and Docker Compose v2, reachable as root.
  • A domain with DNS records for the pod and its admin console. See Domains and TLS.
  • Ports 80 and 443 open, unless you expose the pod through a tunnel.
  • Free disk space: updates refuse to start with less than 2 GB free (SYNAP_UPDATE_MIN_FREE_MB, default 2048).

The server CLI

The installer puts the operator CLI at /usr/local/bin/synap. It is a shell script that ships with each release, in /opt/synap. It works on the deploy directory, so run it from there (or set SYNAP_DEPLOY_DIR on the sudo command: sudo SYNAP_DEPLOY_DIR=/opt/synap/deploy synap …):

cd /opt/synap/deploy
sudo synap help
TaskCommandPage
Installsynap install (run by install.sh)Install
Change a settingsynap config set KEY=VALUE, then synap applyConfiguration
Back up and restoresynap backup …, synap restore …Backups
Updatesynap updateUpgrades
Check health, read logssynap health, synap doctor, synap logsOperations
Review exposure, secrets and trustsynap config list, synap policy showSecurity hardening
Sign-in with a Synap accountsynap federation connect-cloudConnect to the Control Plane

This server CLI is not the user CLI @synap-core/cli, which also runs as synap but on your laptop, to connect computers and agents to a pod.

On this page