Deployment
Run Synopt on your own infrastructure
Self-hosted Synopt puts every byte of telemetry inside your network: three containers you operate, plus the agent on each engineer's Mac. No data reaches us, because there is nothing pointed at us.
Self-hosting is sold with a support agreement, not self-serve. There is no self-hosted signup and no public download of the backend. Talk to us and we will scope it with you.
What you actually run
Three containers via Docker Compose, and one agent per Mac. That is the entire operational footprint: there is no message broker and no cache server.
Backend container
A single Go binary containing the ingest API and the processing pipeline. It holds no state of its own: everything lives in Postgres.
Database container
PostgreSQL with the TimescaleDB extension, managed by you. Time series are compressed by Timescale, and background jobs run in-process on a timer, which is why there is no Redis and no separate worker in this diagram.
Dashboard container
The Next.js dashboard, served by its own Node process. It talks to the backend over your internal network and is the only container you need to expose to browsers.
The agent, per Mac
Installed by signed installer or one CLI command, and pointed at your backend's internal hostname. macOS only: Windows and Linux endpoints are not supported.
Zero outbound data flows
This is the claim self-hosting exists for, so it is worth being specific about it rather than gesturing at “on-prem”:
- No phone-home. The backend makes no outbound connection to us, at any point in its lifecycle.
- No vendor telemetry or analytics. We do not learn that you deployed it, how many seats you run, or whether it is healthy.
- No update check against our servers. Agent updates are served by your own backend or your MDM.
- No license check, of any kind. There is no licensing code in the backend today: nothing to phone home to, and nothing to verify locally either.
- Because of the above, it runs fully air-gapped. You can verify this the boring way: watch the container's egress.
Agent-to-backend traffic is HTTPS (TLS 1.2+) over your internal network, authenticated with a per-agent bearer token that is stored only as a hash. More detail on the security page.
The agent is open source. The backend is not.
The agent (the only component that runs on an employee's machine) is public under Apache-2.0. Read it before you install it, build it yourself, or diff it against the binary we ship.
git clone https://github.com/Codex-Labs-Tech/synopt-agent.gitgithub.com/Codex-Labs-Tech/synopt-agent
The backend and the dashboard are not public and are not Apache-licensed. Self-hosted customers receive container images and binaries under a commercial agreement. If your evaluation requires source access to the backend, say so when you contact us and we will tell you honestly what is possible.
Which one should you pick?
Choose Synopt Cloud
If you want data on a dashboard today. We host it on EU infrastructure in Germany (EU); you install the agent and start a free trial without talking to anyone.
Start free trialChoose self-hosted
If your data cannot leave your infrastructure: a hard data-residency rule, a regulated sector, a works council that has to sign off on where telemetry lands, or an air-gapped network. Expect a conversation and a support agreement rather than a signup form.
Contact usEU and EEA customers can use either. Synopt Cloud runs in Germany (EU), so choosing hosted does not mean a transfer out of the EU. Some older internal material of ours said EU/EEA was self-hosted only; that is out of date.
Next step
Email support@synopt.dev or use the contact page. Useful things to include: roughly how many Macs, whether the deployment is air-gapped, and which of Claude Code, Codex CLI and Cursor your team actually uses.