
Deploy Cal.com on Your Own Server
Scheduling Infrastructure For Everyone
Want to deploy Cal.com on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
What is Cal.com?
The open source Calendly alternative. You are in charge of your own data, workflow and appearance. White-label by design. API-driven and ready to be deployed on your own domain. Full control of your events and data.
Self-Host Cal.com
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
Application
Database
Deploy
Copy the configuration and run it on your server.
services:
calcom:
image: calcom/cal.com:v3.1.3
environment:
CALCOM_TELEMETRY_DISABLED: "1"
CALENDSO_ENCRYPTION_KEY: 47621ad8f7e30b5ac20eb556aae039a4
DATABASE_DIRECT_URL: postgresql://calcom:361a0e199ac5b492@calcom-db/calcom
DATABASE_URL: postgresql://calcom:361a0e199ac5b492@calcom-db/calcom
EMAIL_FROM: ""
EMAIL_SERVER_HOST: ""
EMAIL_SERVER_PASSWORD: ""
EMAIL_SERVER_PORT: ""
EMAIL_SERVER_USER: ""
NEXTAUTH_SECRET: e659070847e662f21d9dd293247acc3f
NEXT_PUBLIC_WEBAPP_URL: http://calcom.your-domain.com
NODE_TLS_REJECT_UNAUTHORIZED: "0"
calcom-db:
image: postgres:15.0-alpine
environment:
POSTGRES_DB: calcom
POSTGRES_PASSWORD: 361a0e199ac5b492
POSTGRES_USER: calcom
volumes:
- calcom-db:/var/lib/postgresql/data
volumes:
calcom-db: {}
Then run:
docker compose up -d
Access
Once started, access your app at http://localhost:3000
Why Self-Host Cal.com?
Full Data Ownership
Your data stays on your servers. No third-party access.
No Monthly Fees
Pay only for your server. No per-seat or usage charges.
Complete Control
Customize, backup, and scale on your own terms.
Privacy & Compliance
Meet GDPR, HIPAA, or internal security requirements.
Technical Details
Docker Image
calcom/cal.com:${CALCOM_VERSION}Official Docs
cal.comWant to go faster?
Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.
Install on any Linux server:
sh -c "$(curl -sSL https://get.senate.sh)"