Growth Dudes
Join free

✓ VERIFIED No per-seat Calendar sync Team scheduling

Cal.com

Self-hosted scheduling that doesn't charge per seat. The Calendly replacement where your booking data stays yours.

⏱ 30 min ◆◆◇ some copy-pasting ↺ reversible

What it does

Let people book time with you without the back-and-forth. Sync with Google, Outlook, and Apple calendars. Set availability, buffer times, and event types. Team scheduling, round-robin assignment, and payment collection included.

Why it's on the shelf

Calendly charges $10-$16/month per seat. A 5-person team pays $600-$960/year. Cal.com self-hosted: $10/month for the VPS, unlimited seats. The trade-off: setup is 30 minutes instead of 2 minutes, and you manage your own OAuth credentials for calendar sync.

What it replaces

Calendly, Acuity Scheduling, Chili Piper, SavvyCal. Whatever you pay for that today is what this page is here to delete. Worth being honest with yourself first though: if the bill is already small, the answer may still be that this isn't worth your Saturday.

Skip this one if... You don't want a server you're responsible for. Cal.com runs on your own box, which is what makes it free and what makes it yours - but it also means the backups, the updates and the 11pm restart are on you. If that's a no, close the tab; it'll cost you 30 min to find out the hard way.

Setting it up

These are the steps in order. The time on the bar above is what this took us end to end, including the reading.

  1. Provision a VPS with 2GB RAM
  2. Install Docker and Docker Compose
  3. Clone the Cal.com self-hosting repo
  4. Configure .env with your domain, database, and Google OAuth credentials
  5. Run docker-compose up -d

The code

The actual configuration, not a sketch of one. The highlighted lines are the ones you have to change.

What this doesThe key variables. Clone the repo for the full compose file.
.env (excerpt)
NEXT_PUBLIC_WEBAPP_URL=https://book.yourdomain.com  ← your domainDATABASE_URL=postgresql://cal:pass@db:5432/cal  ← set a passwordGOOGLE_CLIENT_ID=your-google-oauth-id  ← from Google Cloud consoleGOOGLE_CLIENT_SECRET=your-google-oauth-secretCALCOM_TELEMETRY_DISABLED=1
Before you run this Google Calendar integration requires a Google Cloud project with OAuth credentials (free, but involves setup). This is Google's requirement, not Cal.com's.

What it costs to run

Needs a $10/month VPS (2GB RAM). Runs Next.js + Postgres.

This keeps working without us Cal.com runs on your own box under the AGPL-3.0, with your data in your own database. If Growth Dudes stops existing tomorrow, nothing on this page stops working. That is deliberate, and it's the only promise here we can actually keep.

Field notes

What people found when they actually ran it - dated, named and specific, including the times our setup number turned out to be optimistic.

Nobody has posted one for Cal.com yet.

We're not going to invent them. Run it, then tell the room what actually happened - the time you got, and the step that wasn't in the instructions.

Join and post one

NEXT

Others people run alongside it