Cal

Scheduling infrastructure for absolutely everyone

Deploy Cal

Postgres

postgres:16-alpine

Just deployed

/var/lib/postgresql/data

Cal

calcom/cal.com

Just deployed

Deploy and Host Cal.com on Railway

Cal.com (formerly Calendso) is the open-source Calendly successor. Scheduling infrastructure for absolutely everyone. You are in charge of your own data, workflow, and appearance.

About Hosting Cal.com

Calendly and other scheduling tools are awesome. They made our lives massively easier. We're using them for business meetings, seminars, yoga classes, and even calls with our families. However, most tools are very limited in terms of control and customization. That's where Cal.com comes in. Self-hosted or hosted by us. White-label by design. API-driven and ready to be deployed on your own domain. Full control of your events and data.

Cal.com runs as a Next.js application with a database backend, requiring calendar integration management, email notification systems, and webhook handling for appointment workflows. You'll need to manage OAuth credentials for calendar providers, configure SMTP settings for notifications, and handle timezone calculations across users.

Cal.com Logo

Common Use Cases

  • Business Professionals: Schedule client meetings, consultations, and sales calls with automated booking confirmation and calendar sync
  • Service Providers: Manage appointments for coaching, consulting, healthcare, and other service-based businesses
  • Team Coordination: Handle internal meetings, interview scheduling, and resource booking for organizations

Dependencies for Cal.com Hosting

  • Node.js Environment: Runtime for Next.js application and API integrations
  • Database System: PostgreSQL or MySQL for storing booking data, user information, and configurations
  • External Integrations: Calendar APIs (Google, Outlook), email services, and payment processors for paid bookings

Deployment Dependencies

Implementation Details

Cal.com Booking Interface

Highlights:

  • Next.js - React framework for web application
  • tRPC - End-to-end typesafe API development
  • React - Frontend user interface library
  • Tailwind - Utility-first CSS framework
  • Prisma - Database ORM and schema management

Google Calendar Integration Setup:

To enable Google Calendar integration, follow these steps to obtain API credentials:

  1. Create Project: Open Google API Console and create a project if needed
  2. Enable API: Search for "calendar" and enable Google Calendar API
  3. OAuth Consent: Configure OAuth consent screen with app type and basic details
  4. Scopes Configuration: Add scopes .../auth/calendar.events and .../auth/calendar.readonly
  5. Test Users: Add Google accounts that will use the integration
  6. Create Credentials: Generate OAuth Client ID for Web Application
  7. Redirect URIs: Add /api/integrations/googlecalendar/callback and /api/auth/callback/google with your domain
  8. Download JSON: Copy the JSON credentials to your GOOGLE_API_CREDENTIALS environment variable

Core Features:

  • Appointment Booking: Customizable booking pages with availability management and timezone handling
  • Calendar Synchronization: Integration with Google Calendar, Outlook, and other calendar providers
  • Notification Systems: Email confirmations, reminders, and SMS notifications for appointments
  • Payment Integration: Support for paid bookings through Stripe and other payment processors
  • Team Scheduling: Multi-user scheduling with team availability and round-robin assignment
  • API Access: RESTful API for custom integrations and workflow automation

Configuration Examples:

# Environment variables
DATABASE_URL=postgresql://user:password@localhost:5432/calcom
NEXTAUTH_SECRET=your-secret-key
NEXTAUTH_URL=https://your-domain.com
GOOGLE_API_CREDENTIALS={"client_id":"...","client_secret":"..."}

# Email configuration
[email protected]
EMAIL_SERVER_HOST=smtp.your-provider.com
EMAIL_SERVER_PORT=587
EMAIL_SERVER_USER=your-email
EMAIL_SERVER_PASSWORD=your-password

White-label Capabilities:

  • Custom branding and styling options
  • Domain customization for booking pages
  • Branded email templates and notifications
  • Custom appointment types and workflows

Data Ownership Benefits:

  • Complete control over booking data and user information
  • No vendor lock-in with export capabilities
  • Custom backup and data retention policies
  • GDPR compliance through self-hosting

Why Deploy Cal.com on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Cal.com on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

More templates in this category

View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

View Template
(v1) Simple Medusa Backend
Deploy an ecommerce backend and admin using Medusa

View Template
peppermint
Docker-compose port for peppermint.sh