Cal.com logo

Deploy Cal.com

Booking pages on your own server

WorkUtilitiesCal.com + PostgreSQL + Email

Deploy Cal.com with managed PostgreSQL, booking emails that send, and a public HTTPS URL. The admin account is created with a generated password before the app is reachable, so nobody else can claim it, and public sign-up starts closed. Share your booking page, let people pick a time that fits your availability, and keep every booking in your own database.

What you get with Cal.com

  • Public booking pagesEvery event type gets its own page at your app URL. Visitors pick a day and a time in their own time zone and book without an account.
  • Event types your waySet the length, the location (a video link, your office, a phone call), buffers, minimum notice and booking limits for each kind of meeting.
  • Availability onceDefine your working hours and date overrides in one schedule, or several, and every event type only offers the times you are free.
  • Emails that sendConfirmations, reschedules and cancellations go to you and your guests through the Email add-on, with a calendar invite attached.
  • Claimed from the first secondThe admin account exists before the URL answers and public sign-up is off, so Cal.com’s setup page is never open to strangers.
  • Webhooks and embedsSend booking events to your own systems with webhooks, and embed the booker on your website inline, as a popup or as a floating button.

After you deploy Cal.com

  1. 1Sign in and set your emailSign in with admin@example.com and CALCOM_ADMIN_PASSWORD from the app’s Variables. Then change the email to your own under Settings > My account and confirm the link Cal.com sends, because booking notifications go there.
  2. 2Finish the onboardingCal.com asks for your name, username and time zone and sets up working hours. Your booking page is then your app URL followed by your username.
  3. 3Create event types and share themAdd the meetings you offer, choose a location for each, and share the links or embed them on your site. Turn on two-factor authentication to unlock the admin settings.

How Cal.com is wired

Cal.com and its PostgreSQL database ship together with the Email add-on. The public hostname serves the app, the booking pages and the embeds. All data lives in PostgreSQL, so there is no volume to manage.

PostgreSQL holds everything
Users, event types, schedules, bookings and avatars live in the attached PostgreSQL database, with passwords generated at deploy. Redeploys keep every booking.
Mail goes through the Email add-on
Booking confirmations, reschedules, cancellations and password resets send through the platform relay from your project’s sending address.
Scheduled work runs in the app
Cal.com’s task queue, booking reminders and scheduled webhooks are called every few minutes from inside the app, with keys generated at deploy.
Secrets generated at deploy
The session secret and the encryption key for stored calendar credentials and 2FA secrets are generated for each deploy. Keep CALENDSO_ENCRYPTION_KEY: data encrypted with it needs it.

Why run Cal.com on StackBlaze

  • Scale your appChange CPU, RAM, and replicas without a rebuild, or let autoscaling add replicas when CPU climbs.
  • Git-based CI/CDPush to GitHub and it builds and ships. Pull requests get their own preview URL on Pro and Business.
  • One-click rollbackA deploy went wrong? Go back to any previous successful deploy.
  • Environments built inProduction, staging, and dev as separate environments in one project, each with its own URL.
  • Built-in observabilityCPU, memory, and response time per app, live logs with search, and alerts to Slack, Discord, or a webhook.
  • Developer-first toolsA CLI and Stack MCP: deploy, read logs, and wire services from your terminal or your AI assistant.
  • Built for teamsInvite teammates with roles. An audit log records who changed what.
  • Managed Postgres with HAPostgres is run for you. Turn on high availability for a three-node cluster when the app needs it.

Common questions about Cal.com

How do I sign in the first time?

Open /auth/login on your app URL and sign in with admin@example.com and the password in CALCOM_ADMIN_PASSWORD from the app’s Variables. Change the email to your own right after, because booking notifications go to it.

Which edition of Cal.com is this?

The open-source AGPLv3 edition, version 6.2, without a license key. Teams and round-robin scheduling, organizations, workflows, routing forms, insights, API keys, SSO and admin user management are Cal.com enterprise features and stay locked.

Can other people sign up?

Not at first: public sign-up is off. Cal.com unlocks its admin settings once the admin turns on two-factor authentication, and Settings > Admin > Features then lets you open sign-up for your colleagues.

Can I connect my calendar?

CalDAV and Apple Calendar connect with your own account details. Google Calendar, Google Meet, Zoom and Cal Video need an app or API key you create with that provider, set as variables.

Do I need any paid accounts?

No. Booking pages, availability, confirmations by email, webhooks and embeds work with what the template deploys. Video meeting links from Zoom, Google Meet or Cal Video need your own account with that provider, so give each event type a location such as your own meeting link, a phone number or an address: a booking without one makes Cal.com try Cal Video and skip the confirmations.

Can I use my own domain?

Yes. Attach a custom domain from the dashboard, for example meet.example.com, and set NEXT_PUBLIC_WEBAPP_URL and NEXTAUTH_URL to the new https address so links and emails use it. Custom domains

What does it cost?

You pay for the compute, storage and bandwidth Cal.com and PostgreSQL use, and for the emails it sends, not per booking. Pricing

More Work templates