---
title: "Deploy Cal.com | Open Source Calendly Alternative"
description: "Self Host Cal.com. Scheduling, calendar sync, payments, 100+ integrations"
category: "Automation"
url: https://railway.com/deploy/calcom-calendly-alternative
---

# Deploy Cal.com | Open Source Calendly Alternative

Self Host Cal.com. Scheduling, calendar sync, payments, 100+ integrations

**[Deploy Cal.com | Open Source Calendly Alternative on Railway](https://railway.com/template/calcom-calendly-alternative)**

- **Creator:** Heimdall
- **Category:** Automation
- **Total deploys:** 21

## Template content

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

### Cal.com https://raw.githubusercontent.com/calcom/cal.com/main/apps/web/public/cal-com-icon.svg

- **Image:** calcom/cal.com:latest
- **Public domain:** Yes

## Documentation

![Cal.com logo](https://www.20i.com/blog/wp-content/uploads/2024/06/Calcom-01-HomePage.png)

# Deploy and Host Cal.com on Railway

Cal.com is the open-source scheduling infrastructure platform built as a Calendly alternative, giving you full control over your data, branding, and deployment. With 41,000+ GitHub stars and an AGPLv3 license, it's the most popular self-hosted scheduling solution available. Deploy Cal.com on Railway to run your own booking platform with calendar sync, video conferencing, payment processing, and 100+ integrations out of the box.

Self-host Cal.com on Railway using this template, which pre-configures the Cal.com Next.js application (`calcom/cal.com:latest`) alongside a managed PostgreSQL database for persistent storage. Railway handles networking, SSL, and domain provisioning automatically.

![Cal.com Railway architecture](https://res.cloudinary.com/asset-cloudinary/image/upload/v1776267915/calcom_railway_arch_jimkjw.png)

## Getting Started with Cal.com on Railway

After deployment completes, visit your Railway-generated URL. Cal.com redirects to the first-time setup wizard at `/auth/setup`. Create your admin account by entering your email, username, and password. Once registered, you land on the Cal.com dashboard where you can create event types (consultations, interviews, demos), set your availability schedule, and connect calendar integrations like Google Calendar or Outlook. Share your booking link (e.g., `your-domain.up.railway.app/username`) to start accepting appointments immediately.

To connect Google Calendar, navigate to **Settings > Calendars** and add your Google credentials. For custom branding, go to **Settings > Appearance** to upload your logo and adjust colors.

![Cal.com dashboard screenshot](https://res.cloudinary.com/asset-cloudinary/image/upload/v1776267846/calcom-dashboard_vzs3vg.png)

## About Hosting Cal.com

Cal.com (formerly Calendso) solves the problem of vendor lock-in and limited customization in scheduling tools. Unlike Calendly or Acuity, self-hosting Cal.com means your booking data stays on your infrastructure.

- White-label scheduling with custom branding, colors, and domain
- Prevents double-booking with real-time calendar sync (Google, Outlook, Zoho)
- Built-in video conferencing via Cal Video (Daily.co powered)
- Stripe payment processing for paid appointments
- Round-robin and collective scheduling for teams
- Multi-language support (65+ languages)
- API-driven architecture for embedding and automation
- 100+ app integrations (HubSpot, Zoom, Zapier, n8n, and more)

## Why Deploy Cal.com on Railway

Railway makes self-hosting Cal.com straightforward with zero DevOps overhead:

- One-click deploy with managed PostgreSQL included
- Automatic SSL, domain provisioning, and networking
- Full data ownership — no third-party access to your booking data
- No per-seat licensing fees for the open-source edition
- Scale vertically by adjusting Railway service resources

## Common Use Cases for Self-Hosted Cal.com

- **Sales teams**: Embed booking widgets on your website so prospects schedule demos without email back-and-forth
- **Healthcare providers**: HIPAA-compliant appointment booking with patient data stored on your own infrastructure
- **Recruiters and HR**: Share interview scheduling links with candidates, with round-robin assignment across interviewers
- **Educators and consultants**: Offer office hours or paid consultation slots with integrated Stripe payments

## Dependencies for Cal.com on Railway

- **Cal.com** — `calcom/cal.com:latest` (Next.js application, port 3000)
- **PostgreSQL** — Railway managed database for user accounts, event types, bookings, and calendar data

### Environment Variables Reference for Cal.com

| Variable | Description |
|----------|-------------|
| `NEXT_PUBLIC_WEBAPP_URL` | Public-facing URL of the Cal.com instance |
| `NEXTAUTH_URL` | NextAuth callback URL (same as webapp URL) |
| `NEXTAUTH_SECRET` | Session encryption secret |
| `CALENDSO_ENCRYPTION_KEY` | CalDAV credential encryption key |
| `DATABASE_URL` | PostgreSQL connection string |
| `MAX_OLD_SPACE_SIZE` | Node.js heap memory limit in MB |
| `NEXT_PUBLIC_LICENSE_CONSENT` | Must be `agree` to accept license terms |
| `CALCOM_TELEMETRY_DISABLED` | Set `1` to disable anonymous telemetry |

### Deployment Dependencies

- **Runtime**: Node.js 18+, Next.js 16
- **Database**: PostgreSQL 13+
- **Docker Hub**: [calcom/cal.com](https://hub.docker.com/r/calcom/cal.com)
- **GitHub**: [calcom/cal.com](https://github.com/calcom/cal.com)
- **Self-hosting docs**: [cal.com/docs/self-hosting](https://cal.com/docs/self-hosting/docker)

## Hardware Requirements for Self-Hosting Cal.com

| Resource | Minimum | Recommended |
|----------|---------|-------------|
| CPU | 1 vCPU | 2 vCPUs |
| RAM | 1 GB | 2 GB |
| Storage | 1 GB | 5 GB |
| Runtime | Node.js 18+ | Node.js 20+ |

Cal.com is a Next.js application with moderate memory requirements. The `MAX_OLD_SPACE_SIZE=4096` environment variable ensures the Node.js heap has enough room for startup initialization and Prisma ORM operations.

## Self-Hosting Cal.com with Docker

Pull and run the official Docker image with a PostgreSQL database:

```
docker run -d \
  --name calcom \
  -p 3000:3000 \
  -e DATABASE_URL="postgresql://user:pass@db:5432/calcom" \
  -e NEXTAUTH_SECRET="$(openssl rand -base64 32)" \
  -e CALENDSO_ENCRYPTION_KEY="$(openssl rand -base64 24)" \
  -e NEXT_PUBLIC_WEBAPP_URL="https://your-domain.com" \
  -e NEXT_PUBLIC_LICENSE_CONSENT="agree" \
  calcom/cal.com:latest
```

Or use Docker Compose for a complete stack:

```
services:
  database:
    image: postgres:16
    environment:
      POSTGRES_DB: calcom
      POSTGRES_USER: calcom
      POSTGRES_PASSWORD: changeme
    volumes:
      - db-data:/var/lib/postgresql/data

  calcom:
    image: calcom/cal.com:latest
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgresql://calcom:changeme@database:5432/calcom
      NEXTAUTH_SECRET: your-secret-here
      CALENDSO_ENCRYPTION_KEY: your-encryption-key
      NEXT_PUBLIC_WEBAPP_URL: https://your-domain.com
      NEXT_PUBLIC_LICENSE_CONSENT: agree
    depends_on:
      - database

volumes:
  db-data:
```

## Is Cal.com Free to Self-Host?

Cal.com is open-source under the AGPLv3 license. Self-hosting the community edition is completely free with no per-seat fees. The managed cloud service offers paid tiers starting at $12/user/month for team features like round-robin scheduling and analytics. On Railway, your only cost is infrastructure usage — typically $5-15/month for a small instance with PostgreSQL.

## Cal.com vs Calendly: Why Self-Host on Railway?

| Feature | Cal.com (Self-Hosted) | Calendly |
|---------|----------------------|----------|
| Open source | Yes (AGPLv3) | No |
| Self-hosting | Full support | Not available |
| Data ownership | Complete | Vendor-controlled |
| White-label | Built-in | Enterprise only |
| Per-seat cost | $0 (self-hosted) | $10-16/user/month |
| Integrations | 100+ | 100+ |
| API access | Full REST API | Limited on free tier |

Cal.com provides comparable functionality to Calendly while eliminating vendor lock-in and recurring per-seat costs.

## FAQ

**What is Cal.com and why self-host it on Railway?**
Cal.com is an open-source scheduling platform (formerly Calendso) that lets users book appointments, sync calendars, and process payments. Self-hosting on Railway gives you full data ownership, zero per-seat fees, and one-click deployment with managed PostgreSQL.

**What does this Cal.com Railway template deploy?**
This template deploys two services: the Cal.com Next.js web application (`calcom/cal.com:latest`) on port 3000 and a Railway-managed PostgreSQL database for storing user accounts, event types, bookings, and calendar sync data.

**Why does Cal.com need a PostgreSQL database?**
Cal.com uses PostgreSQL (via Prisma ORM) to store all application data including user accounts, event types, booking records, availability schedules, calendar credentials, and app integrations. The database is required — Cal.com cannot run without it.

**How do I connect Google Calendar to self-hosted Cal.com on Railway?**
Go to the Google Cloud Console, create OAuth 2.0 credentials with the calendar scope, then set the `GOOGLE_API_CREDENTIALS` environment variable in your Railway service with the JSON credentials. In Cal.com, navigate to Settings > Calendars to complete the connection.

**Can I use Cal.com with custom domains on Railway?**
Yes. In the Railway dashboard, go to your Cal.com service settings and add a custom domain. Update the `NEXT_PUBLIC_WEBAPP_URL` and `NEXTAUTH_URL` environment variables to match your custom domain, then redeploy.

**How do I enable email notifications in self-hosted Cal.com?**
Set the SMTP environment variables: `EMAIL_SERVER_HOST`, `EMAIL_SERVER_PORT`, `EMAIL_SERVER_USER`, `EMAIL_SERVER_PASSWORD`, `EMAIL_FROM`, and `EMAIL_FROM_NAME`. Cal.com supports any SMTP provider including SendGrid, Mailgun, and Amazon SES.


## Similar templates

- [N8N Main + Worker](https://railway.com/deploy/n8n-main-worker) — Deploy and Host N8N with Inactive worker.
- [Evolution API with n8n](https://railway.com/deploy/evolution-api-with-n8n) — [Jul'26] WhatsApp automation platform using Evolution API, n8n & PostgreSQL
- [Postgres Backup](https://railway.com/deploy/postgres-s3-backups) — Cron-based PostgreSQL backup to bucket storage

Open this page in a browser: https://railway.com/deploy/calcom-calendly-alternative
