You can run the exact same infrastructure that powers Synap's managed pods on a $10/month VPS. Same PostgreSQL database, same search engine, same file storage, same API. The only difference is who manages the server — you or us.
This guide covers the why, what, and how of self-hosting your second brain. For exact commands and configuration files, I'll link to the full deployment docs at the end.
Why self-hostFull control. Your data lives on a server you own, in a jurisdiction you choose. No third-party access, no shared infrastructure, no terms of service that can change. The database is a standard PostgreSQL instance you can query, back up, and migrate with standard tools.
Compliance. If you work in a regulated industry — healthcare, finance, legal, government — self-hosting means your knowledge base never touches a third party's infrastructure. GDPR, HIPAA, SOC 2 — the simplest path to compliance is not sending data out.
No vendor risk. If Synap changes pricing, pivots, or shuts down, your data is already on your server in standard PostgreSQL. You can continue running the self-hosted stack indefinitely, or migrate the data to any PostgreSQL-compatible system.
Cheaper at scale. The managed pod costs $50/month and includes everything — hosting, backups, updates, support. A VPS with equivalent specs costs $5-20/month. If you're comfortable managing a server, the savings are significant.
The pod stackA Synap data pod is five services running in Docker containers:
PostgreSQL + pgvector — The primary database. All entities, relationships, properties, views, channels, and event chain data live here. pgvector handles semantic search embeddings.
Typesense — Full-text search engine. Indexes entity titles, content, and properties for instant search. Syncs automatically from PostgreSQL.
MinIO — S3-compatible object storage for file attachments. Documents, images, and any uploaded files are stored here.
Synap Backend — The API server. Hono + tRPC + Drizzle ORM. Handles all client requests, Hub Protocol communication with AI services, and connector syncs.
Caddy — Reverse proxy with automatic HTTPS. Handles TLS certificates via Let's Encrypt, routes traffic to the backend, and serves as the entry point for all external connections.
RequirementsThe minimum specs for a comfortable setup: a Linux VPS with 4GB RAM, 2 vCPUs, and 40GB SSD storage. This handles a workspace with tens of thousands of entities, full-text search, and semantic embeddings without breaking a sweat. Providers like Hetzner, DigitalOcean, or Contabo offer this for $5-20/month depending on region.
You'll need Docker and Docker Compose installed. That's it for dependencies. The entire stack runs in containers, so there's no manual package management or version conflicts to worry about.
Quick start (high level)The deployment process is four steps: clone the deployment repository, configure your environment variables (database credentials, domain name, encryption keys), run Docker Compose, and point your DNS to the server. Caddy handles HTTPS automatically once DNS resolves.
First boot takes about two minutes. PostgreSQL initializes, Drizzle runs migrations to create the schema, Typesense starts its search index, and MinIO creates the default storage bucket. After that, you connect the Synap desktop app to your pod URL and you're running.
For the complete step-by-step with exact commands and configuration files, see the Docker deployment guide.
Data storage and backupsYour data lives in three places, each backed up differently:
PostgreSQL data directory. This is your primary data. Back it up with pg_dump — either on a cron schedule or before updates. A full dump of a workspace with 50,000 entities is typically under 500MB and takes seconds.
MinIO bucket. File attachments and uploads. Back up with mc mirror (MinIO's CLI) to a second location — another server, a local drive, or an S3 bucket. This is your largest data volume, so incremental sync is the way to go.
Typesense index. Full-text search data. Back up with the Typesense snapshot API. However, this is technically rebuildable from PostgreSQL — if you lose the search index, a re-index from the database restores it completely.
A reasonable backup strategy: daily pg_dump to a remote location, daily mc mirror for files, and weekly Typesense snapshots. Automate all three with cron. Total backup time for a moderate workspace: under a minute.
Self-host if: You want full control over your data location and access. You work in a regulated industry that requires on-premise data. You're comfortable with basic server administration (Docker, SSH, cron). You want to run in an air-gapped or private network. You want to save on monthly costs and don't mind investing ops time.
Use managed if: You want zero operational overhead. You don't want to think about backups, updates, or server monitoring. You want support when something goes wrong. You value your time more than the cost difference.
Both options give you the same data sovereignty guarantee: your data is in a dedicated PostgreSQL instance, not a shared database. The managed pod just means we handle the ops — the data is still exclusively yours, exportable with a single pg_dump.
Managed pod: $50/month. Includes hosting, automated backups, updates, monitoring, and support. No ops required.
Self-hosted: $5-20/month for a VPS (depending on provider and specs) + your ops time. You handle backups, updates, and troubleshooting. If you value your time at $50/hour and spend 30 minutes a month on maintenance, the real cost is $30-45/month — not far from managed.
The honest answer: self-hosting saves money if you're already comfortable managing Linux servers. If Docker Compose is new to you, the managed pod is worth the premium — your time is better spent building your knowledge base than debugging container networking.
Get startedReady to self-host? Start with the self-hosting guide for the overview, then follow the deployment documentation for step-by-step instructions.
Or if you'd rather skip the ops and start capturing immediately, the managed pod is one click away.
One plan, $50/month. Dedicated pod, any AI model, full sovereignty.