Self-Hosting
You can run Compass on infrastructure you control instead of using the hosted version on compasscalendar.com
Start with Run Compass on a server. It walks through a small VPS setup with your own domain, HTTPS, and the Compass services running behind a reverse proxy.
If you only want to run Compass on your own computer, use the normal local development flow with Bun instead of the self-host installer.
Self-host does not require Stripe. Omit the stripe: block so billing stays off and every account remains writable. Hosted Compass uses a 7-day trial then a paid subscription; see Billing And Trial.
Optional calendar hosts: Google Calendar, Microsoft Calendar, iCloud Calendar.
Compass architecture
When you self-host Compass on a server, you get a stack of small services. Only the public website and API are reachable from your browser. The databases stay private inside Docker.
Compass Sync owns calendar sync end to end (OAuth or app-specific password, webhooks or polling, and incremental pulls) in its own isolated database on the same bundled MongoDB. The backend never reads provider credentials directly. Sign-in with Google, Microsoft, or Apple stays a direct backend exchange, separate from calendar connect.
Google and Microsoft use push notifications for near-real-time updates. Apple has no push channel, so Sync polls iCloud on a dedicated reconcile sweep (see Calendar providers).
Start here
Ready to get this setup on your infrastructure? See Run Compass on a server
Have an idea on how we can make self-hosting easier? Let us know in this GitHub Discussion.