Back to articles
Technology Insight

Hướng dẫn Self-host Cal.com trên Cloud VPS: Giải pháp thay thế Calendly hoàn chỉnh, không giới hạn tính năng Premium

June 3, 2026

Giới thiệu về bài toán quản lý lịch hẹn trong kỷ nguyên số

Đối với các doanh nghiệp, chuyên gia tư vấn, hay các đội ngũ kinh doanh, việc sắp xếp lịch hẹn với khách hàng luôn là một phần quan trọng nhưng lại tốn không ít thời gian. Trước đây, Calendly gần như là lựa chọn mặc định khi nhắc đến công cụ đặt lịch trực tuyến. Tuy nhiên, các chính sách cắt giảm tính năng ở phiên bản miễn phí và chi phí đăng ký theo mô hình trả phí định kỳ hàng tháng (SaaS) tăng cao đang khiến nhiều doanh nghiệp gặp khó khăn khi muốn tối ưu chi phí vận hành.

Đặc biệt đối với các doanh nghiệp lớn hoặc các tổ chức tài chính, y tế, việc gửi dữ liệu khách hàng và thông tin cuộc họp lên hệ thống máy chủ của bên thứ ba luôn tiềm ẩn những rủi ro lớn về mặt bảo mật và tuân thủ pháp lý (GDPR, HIPAA). Đây chính là lý do vì sao xu hướng dịch chuyển sang các giải pháp mã nguồn mở tự vận hành (Self-hosted) đang bùng nổ mạnh mẽ.

Cal.com là gì? Tại sao đây là giải pháp thay thế Calendly hoàn hảo?

Cal.com (trước đây là Calendso) là một nền tảng quản lý và đặt lịch hẹn mã nguồn mở hàng đầu hiện nay. Dự án này được phát triển nhằm mục đích mang lại sự linh hoạt tối đa cho người dùng mà không bị ràng buộc bởi các rào cản thương mại. Khi lựa chọn phương án tự cài đặt Cal.com trên hạ tầng Cloud VPS riêng, bạn sẽ nhận được những lợi ích vượt trội so với mô hình SaaS truyền thống:

  • Mở khóa toàn bộ tính năng Premium: Bạn có toàn quyền sử dụng các tính năng nâng cao như đặt lịch nhóm (Team scheduling), phân chia lịch theo vòng tròn (Round-robin), tích hợp thanh toán (Stripe), và hệ thống tự động hóa luồng công việc (Workflows) mà không phải trả thêm bất kỳ chi phí bản quyền nào.
  • Làm chủ hoàn toàn dữ liệu: Toàn bộ thông tin khách hàng, thời gian cuộc họp, lịch trình làm việc và ghi chú đều được lưu trữ an toàn trong cơ sở dữ liệu trên VPS của riêng bạn.
  • Tùy biến thương hiệu tuyệt đối (White-label): Loại bỏ hoàn toàn nhãn mác của nhà cung cấp. Bạn có thể sử dụng tên miền riêng (ví dụ: booking.yourcompany.com), thay đổi giao diện, logo, màu sắc để đồng bộ với bộ nhận diện thương hiệu doanh nghiệp.
  • Tiết kiệm chi phí dài hạn: Thay vì trả tiền cho mỗi người dùng (per-user) hàng tháng như Calendly, bạn chỉ cần trả chi phí thuê Cloud VPS cố định hàng tháng, không giới hạn số lượng nhân viên hay số lượng sự kiện tạo ra.

"Cal.com đem lại cho bạn một hạ tầng đặt lịch hẹn đẳng cấp doanh nghiệp với sự tự do tuyệt đối của mã nguồn mở."

Yêu cầu cấu hình hệ thống Cloud VPS tối thiểu

Để đảm bảo hệ thống Cal.com vận hành mượt mà, ổn định và có khả năng xử lý đồng thời nhiều yêu cầu truy cập từ khách hàng, bạn nên chuẩn bị một máy chủ Cloud VPS có cấu hình tối thiểu như sau:

  • Hệ điều hành: Ubuntu 22.04 LTS hoặc Ubuntu 24.04 LTS (Khuyên dùng để có độ tương thích cao nhất với các script cài đặt).
  • Bộ vi xử lý (CPU): Tối thiểu 2 Cores.
  • Bộ nhớ trong (RAM): Tối thiểu 2GB (Khuyên dùng 4GB nếu bạn muốn tự build trực tiếp mã nguồn từ Dockerfile).
  • Ổ cứng: Tối thiểu 20GB SSD/NVMe trống.
  • Tên miền (Domain): Đã trỏ bản ghi A về địa chỉ IP công cộng của Cloud VPS.

Hướng dẫn từng bước Self-host Cal.com bằng Docker & Nginx Reverse Proxy

Sử dụng Docker là phương pháp triển khai tối ưu nhất hiện nay, giúp bạn cô lập môi trường ứng dụng và tránh được xung đột giữa các thư viện hệ thống. Dưới đây là các bước thiết lập chi tiết.

Bước 1: Cập nhật hệ thống và cài đặt Docker

Đầu tiên, hãy kết nối tới VPS của bạn qua SSH bằng quyền root hoặc tài khoản có đặc quyền sudo, sau đó tiến hành cập nhật toàn bộ các gói phần mềm hệ thống lên phiên bản mới nhất:

sudo apt update && sudo apt upgrade -y

Tiếp theo, tiến hành cài đặt Docker và Docker Compose để quản lý các container:

sudo apt install docker.io docker-compose git -y
sudo systemctl enable --now docker

Bước 2: Clone mã nguồn Docker của Cal.com từ GitHub

Chúng ta sẽ sử dụng kho lưu trữ chính thức dành cho Docker được cung cấp bởi đội ngũ Cal.com. Sử dụng tham số --recursive để tải về cả các submodule cần thiết:

git clone --recursive [https://github.com/calcom/docker.git](https://github.com/calcom/docker.git) calcom-docker
cd calcom-docker

Bước 3: Cấu hình biến môi trường (Environment Variables)

Khởi tạo file cấu hình môi trường bằng cách sao chép từ file mẫu có sẵn:

cp .env.example .env
nano .env

Trong giao diện chỉnh sửa file của lệnh nano, hãy tìm và thay đổi các tham số quan trọng sau để phù hợp với hệ thống của bạn:

  • NEXT_PUBLIC_WEBAPP_URL: Điền tên miền chính thức của bạn (ví dụ: [https://booking.yourcompany.com](https://booking.yourcompany.com)).
  • NEXT_PUBLIC_LICENSE_CONSENT: Chuyển giá trị thành agree để đồng ý với giấy phép AGPLv3.
  • CALENDSO_ENCRYPTION_KEY: Sử dụng một chuỗi ký tự ngẫu nhiên dài để bảo mật dữ liệu mã hóa.
  • Cấu hình các thông số gửi Email (SMTP) để hệ thống gửi thông báo xác nhận lịch hẹn cho khách hàng một cách tự động.

Sau khi chỉnh sửa xong, nhấn Ctrl + O để lưu và Ctrl + X để thoát khỏi trình chỉnh sửa.

Bước 4: Khởi động hệ thống Container

Tải xuống các image Docker đã được tối ưu sẵn từ Docker Hub và khởi chạy toàn bộ dịch vụ (bao gồm ứng dụng Cal.com, cơ sở dữ liệu PostgreSQL và Prisma Studio) dưới nền:

docker-compose pull
docker-compose up -d

Quá trình khởi tạo ban đầu và thiết lập cơ sở dữ liệu sẽ mất khoảng 1 đến 2 phút tùy thuộc vào tốc độ mạng và hiệu năng của Cloud VPS.

Bước 5: Cấu hình Nginx và SSL miễn phí với Let's Encrypt

Để đảm bảo an toàn bảo mật, toàn bộ dữ liệu truyền tải qua lịch hẹn cần được mã hóa bằng giao thức HTTPS. Hãy cài đặt Nginx và Certbot:

sudo apt install nginx certbot python3-certbot-nginx -y

Tạo một file cấu hình ảo cho tên miền của bạn trong Nginx:

sudo nano /etc/nginx/sites-available/calcom

Dán đoạn cấu hình Reverse Proxy sau vào file (thay đổi tên miền thành tên miền của bạn):

server {
    listen 80;
    server_name booking.yourcompany.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Kích hoạt cấu hình mới và khởi động lại Nginx:

sudo ln -s /etc/nginx/sites-available/calcom /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Cuối cùng, chạy lệnh Certbot để tự động đăng ký và cài đặt chứng chỉ SSL miễn phí:

sudo certbot --nginx -d booking.yourcompany.com

Các bước thiết lập ban đầu sau khi cài đặt thành công

Sau khi hoàn tất cấu hình máy chủ, hãy mở trình duyệt web và truy cập vào tên miền của bạn. Hệ thống sẽ hiển thị giao diện thiết lập tài khoản quản trị viên tối cao (Admin).

  1. Tạo tài khoản Admin: Nhập email doanh nghiệp và thiết lập mật khẩu mạnh để bảo vệ hệ thống điều hành.
  2. Kết nối Lịch cá nhân: Tích hợp trực tiếp với Google Calendar, Outlook Calendar hoặc Apple iCloud để đồng bộ trạng thái bận/rảnh theo thời gian thực, ngăn chặn tình trạng trùng lịch (double-booking).
  3. Tạo loại sự kiện (Event Types): Thiết lập các mốc thời gian cố định như cuộc gọi tư vấn 15 phút, họp dự án 30 phút, hoặc buổi đào tạo sâu 1 tiếng. Bạn có thể thêm các bảng khảo sát khách hàng trước khi đặt lịch để thu thập thông tin cần thiết.

Kết luận và đánh giá giải pháp

Việc tự vận hành (Self-host) Cal.com trên Cloud VPS là một bước đi chiến lược giúp doanh nghiệp tiết kiệm chi phí bản quyền SaaS đáng kể, đồng thời nâng cao mức độ chuyên nghiệp và khả năng bảo mật thông tin tối đa. Dù quá trình thiết lập ban đầu đòi hỏi một số kiến thức kỹ thuật cơ bản về quản trị máy chủ Linux và Docker, nhưng thành quả nhận lại là một hệ thống đặt lịch tự động hóa hoàn chỉnh, không giới hạn tính năng Premium và hoàn toàn thuộc quyền sở hữu của bạn.

Hướng dẫn Self-host Cal.com trên Cloud VPS: Giải pháp thay thế Calendly hoàn chỉnh, không giới hạn tính năng Premium | DPTCloud