Booking pages synced with your calendars, run on dedicated machines in any of 10+ Pilae Cloud regions, six of them in Switzerland and the EU, or your own datacentre, from the MIT-licensed community edition of Cal.com. Pilae runs it on your own servers, or in Zurich, Switzerland, and eleven other Pilae Cloud regions.
- Licence
- MIT
- Runs on
- Your own hardware, or any of 10+ Pilae regions — six of them in Switzerland and the EU
- Upgrades
- Pinned, tested against your configuration, applied in your window
- Upstream
- cal.com
Running Cal.com in production: what it takes
Pin and deploy
Cal.diy at a version we have tested, on PostgreSQL, with the encryption key generated for you and kept apart from the database.
Register the calendar apps
Calendar connections go through app registrations in your own Microsoft or Google tenant, so the credentials are yours and can be revoked by you.
Publish the booking pages
Booking pages answer publicly through the Pilae gate on port 443, the one hardened entry point. The machine and its database stay on your private network.
Back up and restore on a schedule
The database goes offsite daily, encrypted, in your chosen country, with the key backed up separately. Once a month we restore it into a scratch instance, book a test slot and record the result in the console.
Follow upstream fixes
We follow Cal.diy releases and the security advisories on its repository. The Pilae Agent tests each release on a copy of your data, waits for your approval and applies it in your window.
What Cal.com is, and who runs it
Self-hosted Cal.com for booking pages
Cal.com puts a booking page in front of your calendar. Visitors see when you are free, pick a slot and answer a few questions, and the meeting lands in your Microsoft 365, Google or CalDAV calendar with a video link attached. It does the job most people use Calendly for, without a per-seat subscription or a vendor reading everyone’s availability.
What we deploy is Cal.diy, the MIT-licensed fork that the public Cal.com repository became when Cal.com, Inc. closed the source of its commercial product in April 2026. It covers individual scheduling. Team scheduling, workflows and single sign-on are in the commercial product only, and we check which of the two you need before anything else.
Cal.com in production: calendars, keys and backups
Booking data is small but personal: names, email addresses, and the answers people give before a meeting. We run Cal.com on dedicated machines in any of 10+ Pilae Cloud regions, six of them in Switzerland and the EU, or on your own hardware. Booking pages face the internet through one hardened gate on port 443; the machine and its database stay on your private network. The database is backed up daily, encrypted, in your chosen country, and restored every month into a scratch instance, as described under backups.
The key that encrypts calendar credentials is kept apart from the database, and calendar access goes through app registrations in your own tenant. Upgrades go through the Pilae Agent, tested on a copy and applied in your window. Our monitoring probes the booking pages every 60 seconds.
Cal.com licence and alternatives
Cal.diy has no licence fee and no limit on users. If you are comparing it with Calendly, see the Calendly alternative. Booking webhooks can feed n8n for reminders and follow-ups. See the plans for the price. Talk to us about the booking links you want to bring home.
Cal.com system requirements
Before anything is deployed, this is what has to exist. We size it with you in the first session, and we say so when your own hardware is already enough.
- CPU and memory
- 2 vCPU · 4 GBOne Next.js application container. Booking pages are light, and calendar sync scales with the number of connected calendars, not with visitors.
- Database
- PostgreSQLHolds users, event types, availability, bookings and the tokens for connected calendars. It is the one thing that has to come back after a restore.
- Encryption key
- AES-256 key, stored apartEncrypts the calendar and video credentials in the database. It is backed up separately, so a database dump alone does not expose your calendars.
- Calendar connection
- Entra ID app · Google OAuth · CalDAVAn app registration in your own tenant reads free and busy times and writes bookings. CalDAV covers Nextcloud and other standard servers.
- Outgoing mail
- SMTP relayConfirmations, cancellations and reschedules go to attendees from your own domain.
- DNS and TLS
- 1 public hostnameBooking pages must be reachable by the people booking, so unlike most apps we run, Cal.com has a public hostname, served through the Pilae gate on port 443.
Migrating from Calendly to Cal.com
There is no import from Calendly, and not much needs one. What a Calendly account holds is event types, availability and connected calendars, and each person sets those up again in a few minutes. The bookings themselves already live in your calendars, so nothing is lost when the account closes. The parts to plan are the links. Every booking link in email signatures, on the website and in old messages points at Calendly, so we list them, publish the new pages, and keep the Calendly pages open with a pointer to the new ones until the subscription ends. Team scheduling is the other thing to check first. Round-robin and collective events are not in Cal.diy, so a team that relies on them needs a different setup, and we say so before the move rather than after.
List people and links
Who books meetings through Calendly, which event types they use, and where their links are published: signatures, the website, templates, forms.
Check team scheduling
Round-robin and collective events are not in Cal.diy. If a team depends on them, we settle how they will book before anyone moves.
Set up event types and calendars
Each person connects their Microsoft 365, Google or CalDAV calendar and recreates their event types and availability, with us on hand for the first ones.
Swap the links, then close Calendly
New links go into signatures, the website and templates. Calendly stays open until no new bookings have arrived there for a full cycle.
Where a booking goes
| Visitor opens the booking page | Cal.com, your chosen country | Free and busy times only, never event titles |
| Visitor picks a slot | Cal.com database | Name, email, answers to your questions |
| Event is written | Your Microsoft 365, Google or CalDAV calendar | The calendar event, through your own app registration |
| Video link is added | Your video provider, if you connect one | Meeting link, for example from Zoom |
| Confirmation is sent | Your SMTP relay | Email to the attendee and the host |
| Daily backup | Offsite storage, same country | Encrypted database, key stored separately |
What Pilae is responsible for
A pinned version
A version we have run, not whatever latest resolves to that day.
A runbook
What it depends on, how it fails, what to do about it. In your repository.
A restore drill
Backups restored on a schedule. A backup nobody has restored is a file.
A patch window
Security updates in a window you agreed, with a rollback ready.
Someone watching
Every endpoint probed on the minute. An alert reaches a person, not a dashboard nobody opens.
- Where it runs
- zur1, fra1, fal1, gra1, ams1, hel1, lon1, ash1, hil1, sin1, tok1, syd1, on-premZurich, Frankfurt, Falkenstein, Gravelines, Amsterdam, Helsinki, London, Ashburn, Hillsboro, Singapore, Tokyo, Sydney, Your own hardware
- Who holds the credentials
- You do. Ours are separate, named, logged and revocable with one command. We ask before anything changes outside an agreed window.
- If you leave
- The machine, the data, the compose files and the runbook are already yours. Nothing stops when our access does.
What running Cal.com costs
On Starter, Cal.com runs in Pilae Cloud for CHF 449EUR 479USD 559 a month, hosting and onboarding included. On Business, it is one of up to three apps for CHF 1,590EUR 1,690USD 1,990 a month, on your own servers or in Pilae Cloud. Enterprise is quoted. The plans set what each includes; these are the inputs that move the price around them.
- Instance size
- The CPU, memory and, where a model runs, the GPUs the app needs for your users and your data.
- High availability
- One machine with tested restores, or a replicated setup that keeps serving when a node fails.
- Storage and backups
- How much data it holds, how long backups are kept, and point-in-time recovery for its database.
- Plan and support
- Starter, Business or Enterprise: support hours, response times in the contract and how often we review the service with you.
- Region
- Your own hardware, where the infrastructure is already yours, or a Pilae Cloud region, where machines are priced per month. On Starter, Pilae chooses the site.
- Sign-on and integrations
- Single sign-on, directory sync, mail relays and the other systems the app has to reach.
Cal.com: common questions
Is Cal.com open source?
What is missing compared with Calendly or the commercial Cal.com?
Upstream says Cal.diy is for non-production use. Why run it for a business?
Which calendars does it connect to?
Where does booking data live?
Also in business
Odoo Community
Open-source ERP for sales, invoicing, inventory, purchasing and manufacturing, operated on your own servers or dedicated machines in Switzerland and the EU.
Replaces SAP Business One, Microsoft Dynamics
Plane
Issues, cycles and roadmaps for engineering and product teams, on dedicated machines in Switzerland, the EU or your own datacentre.
Replaces Jira, Linear
Twenty
An open-source CRM for contacts, companies and deals, with a data model you shape yourself, operated on your servers or dedicated machines in Switzerland and the EU.
Replaces Salesforce, HubSpot CRM
Bring us your Cal.com. We will tell you what it takes.
Thirty minutes on the deployment you already have, or the one you are about to start.