Cal.com Simple Installation on Ubuntu Server
Muhammad Rashid
AWS Certified & Community Builder | DevOps Guru | Python, Django, Backend Developer
Cal.com is an open-source alternative to proprietary scheduling tools like Calendly, offering numerous benefits for users and developers alike. As an open-source platform, Cal.com provides unparalleled flexibility, allowing users to customize and extend its features to suit their specific needs. This transparency ensures greater control over data privacy and security, a crucial factor for individuals and organizations concerned about data sovereignty. Additionally, the collaborative nature of open-source projects fosters a vibrant community of contributors who continuously enhance the software, leading to rapid innovation and improvement. By choosing Cal.com, users can enjoy a robust, adaptable scheduling solution without being locked into proprietary ecosystems, ultimately promoting freedom and innovation in managing appointments and calendars.
Step 1: Log in to Your Server via SSH
ssh username@your_server_ip
Step 2: Install and Configure UFW (Uncomplicated Firewall)
Install UFW
sudo apt-get install ufw
Allow SSH Connections
sudo ufw allow ssh
Allow HTTP and HTTPS Connections
sudo ufw allow http
sudo ufw allow https
sudo ufw allow 81/tcp
sudo ufw allow 3000/tcp
Enable UFW
sudo ufw enable
Check UFW Status
sudo ufw status
Step 3: Create and Run the Installation Script
Create a Script File
nano install.sh
Add the Following Script to install.sh
#!/bin/bash
sudo apt update &&
sudo apt upgrade -y &&
curl -fsSL https://get.docker.com -o get-docker.sh &&
sudo sh get-docker.sh &&
curl -SL https://github.com/docker/compose/releases/download/v2.13.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose &&
sudo chmod +x /usr/local/bin/docker-compose &&
sudo apt-get install docker-compose-plugin
Make the Script Executable
chmod +x install.sh
Run the Script
sudo ./install.sh
Verify Docker and Docker Compose Installation
docker -v
docker-compose -v
Clone the Cal.com Docker Repository
git clone https://github.com/calcom/docker.git && cd docker
Enable and Start Docker Service
Check Docker Service Status
领英推荐
sudo systemctl status docker
# Prepare your configuration: Rename .env.example to .env and then update .env
cp .env.example .env
sed -i "s~\(NEXTAUTH_SECRET=\).*~\1$(openssl rand -base64 32)~" .env
sed -i "s~\(CALENDSO_ENCRYPTION_KEY=\).*~\1$(openssl rand -base64 24)~" .env
Start Docker Compose
sudo docker-compose up -d
Step 4: Nginx Proxy Manager Setup
Create a Directory for Nginx Proxy Manager
mkdir npm
cd npm
Create and Edit the Docker Compose File
nano docker-compose.yml
Paste the Following Configuration into docker-compose.yml
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Start Nginx Proxy Manager
docker-compose up -d
Accessing Nginx Proxy Manager
Once the installation is complete, access your Nginx Proxy Manager site by navigating to https://your_server_ip:81 in your web browser. The default login credentials are:
Setting Up a Proxy Host
Additional Options
Save the Configuration
Click the Save button. A new record will be created with your domain name, mapping it to your server IP successfully.
Generate an SSL Certificate