Cal.com Simple Installation on Ubuntu Server
https://youtube.com/@codwithmuh

Cal.com Simple Installation on Ubuntu Server

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

  1. Navigate to Hosts >> Proxy Host.
  2. Click the Add Proxy Host button.
  3. Fill in the details according to your scenario:Domain Names: example.comSchema: https / httpForward Hostname/IP: your server IPForward Port: your application port (e.g., Moodle port)

Additional Options

  • Check the option "Block Common Exploits".
  • Check the option "Websockets Support".

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

  1. Navigate to Hosts >> Proxy Host >> SSL.
  2. Follow the prompts to generate an SSL certificate for your domain.







要查看或添加评论,请登录

Muhammad Rashid的更多文章

社区洞察

其他会员也浏览了