Back to all templates
Cal.com logo

Cal.com

Application512MB+ RAM

Open-source scheduling platform (Calendly alternative)

schedulingcalendarbookingcalendly-alternative

Deploy Cal.com in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Cal.com

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Deploy Cal.com on a VPS with Server Compass

Use the Cal.com template in Server Compass to deploy a self-hosted scheduling infrastructure with persistent Cal.com application and PostgreSQL volumes on your VPS, then verify the Cal.com web UI in a browser.

About 7 minutesBrowser verified
1
Step 1

Open the server Apps tab

Select your VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Server Compass Apps tab before creating a Cal.com app
2
Step 2

Choose an app template

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Choosing to deploy an app from a Server Compass template
3
Step 3

Search for Cal.com

Use the template picker search to find Cal.com in the Server Compass template catalog.

Searching for Cal.com in the Server Compass template picker
4
Step 4

Select the Cal.com template

Choose the Cal.com template. Server Compass fills the Cal.com image, host port, published server URL, and persistent Cal.com application and PostgreSQL volumes.

Cal.com template selected in Server Compass
5
Step 5

Review the Cal.com settings

Confirm the app name and compose services. In this run, the app was named calcom-demo and used host port 3000.

Reviewing Cal.com project settings and compose services
6
Step 6

Deploy Cal.com

Review the generated environment values, confirm the port is available, and click Deploy Now.

Reviewing Cal.com environment variables and port before deployment
7
Step 7

Watch the deployment progress

Keep the deployment modal open while Server Compass uploads the compose file, pulls the Cal.com image, starts the container, and verifies the stack.

Server Compass deploying the Cal.com template on the VPS
8
Step 8

Confirm Cal.com is running

After deployment finishes, return to the Apps tab and confirm the Cal.com app is marked Running with its application URL available.

Cal.com template running in the Server Compass Apps tab
9
Step 9

Open Cal.com in the browser

Open the application URL in a browser. The Cal.com web UI confirms the site is reachable.

The deployed Cal.com web UI loaded in a browser

After Cal.com Opens

  • Create the first Cal.com administrator account and configure event types before production use.
  • Configure email, OAuth providers, booking links, HTTPS, and team settings before inviting users.
  • Add a domain and HTTPS before exposing the scheduling app to users.
  • Back up the Cal.com PostgreSQL volume before relying on the scheduler for production bookings.

Verified Result

The Cal.com web UI loaded successfully in a browser.

Cal.com deployment questions

What does the Cal.com template deploy?

It deploys Cal.com with PostgreSQL plus a setup container that runs Prisma migrations before the web app starts.

Which port did the tutorial use?

The tutorial used host port 3000, which maps to the Cal.com web server on container port 3000.

Why does the guide stop at the first-run web UI?

The tutorial verifies the clean first-run web UI because real library paths, users, metadata providers, and remote access settings depend on the production server.

Should this become a blog post?

No. The deployment guide should live on the Cal.com template detail page and be linked from the reusable template deployment docs page.

Manual Setup Guide

Set Up Cal.com from Terminal

Get your hands dirty: manual Cal.com deployment guide for developers.

1

Establish SSH Connection

Connect to your remote server using SSH. Make sure you have your server credentials ready.

terminal
# Log into your server
ssh root@<your-server-ip>

# If using key-based auth
ssh -i ~/.ssh/my-key root@<your-server-ip>

First time? Docker not installed? Run: curl -fsSL https://get.docker.com | sh

2

Create Project Directory

Set up a directory to store your Docker configuration.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/calcom
cd ~/apps/calcom
3

Configure Docker Compose

Add this configuration to your docker-compose.yml file:

docker-compose.yml
services:
  calcom:
    image: calcom/cal.com:latest
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgresql://calcom:<your-db-password>@db:5432/calcom
      - NEXTAUTH_SECRET=<your-nextauth-secret>
      - CALENDSO_ENCRYPTION_KEY=<your-encryption-key>
      - NEXT_PUBLIC_WEBAPP_URL=<your-webapp-url>
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy

  db:
    image: postgres:16-alpine
    environment:
      - POSTGRES_USER=calcom
      - POSTGRES_PASSWORD=<your-db-password>
      - POSTGRES_DB=calcom
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U calcom"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  postgres_data:
Environment Variables
PORTHost port(default: 3000)
WEBAPP_URLPublic URL
NEXTAUTH_SECRETNextAuth secret
ENCRYPTION_KEYEncryption key
DB_PASSWORDDB password
4

Start the Services

Execute the deployment and check the container status.

terminal
# Deploy the application
docker compose up -d

# Check container health
docker compose ps

# Monitor logs
docker compose logs -f --tail=100
5

Allow Incoming Connections

Enable network access by updating your firewall rules.

terminal
# Allow the application port through firewall
sudo ufw allow 3000/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:3000
Skip the Terminal

Too complicated? Let Server Compass handle it.

Why type commands when you can click? Deploy Cal.com the easy way with Server Compass.

  • Intuitive dashboard
  • Deploy in 3 minutes
  • Free SSL included
  • Blue-green deploys
  • Real-time logs
  • Version history
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Cal.com with Server Compass, complete these steps to finish setup

1

Create admin account

2

Set up event types

Need help? Check out our documentation for detailed guides.

Cal.com FAQ

Common questions about self-hosting Cal.com

How do I deploy Cal.com with Server Compass?

Simply download Server Compass, connect to your VPS, and select Cal.com from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.

What are the system requirements for Cal.com?

Cal.com requires a minimum of 512MB RAM. We recommend a VPS with at least 1024MB RAM for optimal performance. Any modern Linux server with Docker support will work.

Can I migrate my existing Cal.com data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Cal.com backup and restore procedures.

How do I update Cal.com to the latest version?

Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Cal.com image will be pulled and deployed with zero downtime.

Is Cal.com free to self-host?

Cal.com is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.

Ready to Self-Host Cal.com?

Download Server Compass and deploy Cal.com to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass