Overview
Cal.com is a scheduling and appointment management system integrated into the Mondo MOPS ecosystem. It provides a robust solution for managing appointments, scheduling meetings, and coordinating availability across team members. In the MOPS platform, Cal.com serves as the central scheduling infrastructure, accessible via its own subdomain.Cal.com was formerly known as Calendly and provides similar functionality with
additional features for self-hosting and customization.
Architecture
Cal.com in the MOPS stack consists of:- Cal.com Application Container: The main application serving the web interface
- PostgreSQL Database: Stores all scheduling data, accounts, and configuration
- Traefik Integration: Handles routing and TLS termination
Deployment Configuration
Docker Compose Setup
Configuration
Environment Variables
Create a.env file in the Cal.com directory with the following variables:
Key Configuration Options
Installation and Setup
Prerequisites
- Docker and Docker Compose installed
- External
traefik-netnetwork created - Domain with DNS pointing to your server
- SMTP credentials for email notifications
Deployment Steps
-
Create Required Networks:
-
Prepare Directory Structure:
-
Create Configuration Files:
-
Deploy the Stack:
-
Monitor Initial Startup:
First-Time Setup
Once deployed, complete the setup:- Visit
https://cal.trymondo.com - Create the admin account
- Configure organization settings
- Set up event types and availability
Integration with Other MOPS Services
Authentication
Cal.com can be integrated with Auth0 or other authentication providers:- Configure the OAuth provider in your authentication service
- Add the appropriate callback URLs
- Update the Cal.com environment variables with the OAuth credentials
API Integration
Cal.com exposes an API that can be used by other MOPS services:Maintenance
Backup and Restore
Cal.com data is stored in two locations:- PostgreSQL Database: Use Backrest to back up the database volume
- Application Data: The
./datavolume contains uploads and other files
Updates
To update Cal.com:- Update the image tag in docker-compose.yml
- Pull the new image:
- Apply the update:
Troubleshooting
Common Issues
Checking Logs
Health Checks
Performance Tuning
Resource Allocation
Cal.com performs well with moderate resources:- Database: 1 CPU, 1GB RAM
- Application: 1-2 CPU, 2GB RAM
Security Considerations
- Database Access: Limit access to the PostgreSQL database
- SMTP Credentials: Regularly rotate email credentials
- API Security: Monitor API usage and restrict access as needed
- Traefik Configuration: Ensure proper security headers are applied (already configured)
References
This documentation provides a comprehensive guide to deploying, configuring, and maintaining Cal.com within the Mondo MOPS ecosystem. For specific customization needs or advanced features, refer to the official Cal.com documentation.