Cal
Scheduling infrastructure for absolutely everyone
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.
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
- Cal.com Official Website
- Cal.com GitHub Repository
- Cal.com Documentation
- Cal.com Discord Community
- Issues and Bug Reports
- Product Roadmap
Implementation Details
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:
- Create Project: Open Google API Console and create a project if needed
- Enable API: Search for "calendar" and enable Google Calendar API
- OAuth Consent: Configure OAuth consent screen with app type and basic details
- Scopes Configuration: Add scopes
.../auth/calendar.events
and.../auth/calendar.readonly
- Test Users: Add Google accounts that will use the integration
- Create Credentials: Generate OAuth Client ID for Web Application
- Redirect URIs: Add
/api/integrations/googlecalendar/callback
and/api/auth/callback/google
with your domain - 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
Postgres
postgres:16-alpine