Welcome to the Meetrix Cal.diy developer guide for Google Cloud Platform! With the Meetrix pre-configured GCP image, you can deploy a production-ready Cal.diy instance in minutes.

This guide walks you through finding the product on GCP Marketplace, configuring the deployment, pointing DNS, creating your admin account, and managing the server.

What Is Cal.diy?

Cal.diy is the open-source, self-hostable scheduling platform that came out of Cal.com's original codebase, covering booking pages, calendar sync, and availability management without per-seat fees. Deploying it on Google Cloud Platform keeps your bookings and calendar data inside your own GCP project instead of a third-party SaaS account.

Prerequisites

Before you begin, make sure you have the following:

  • Basic Google Cloud Platform knowledge.
  • An active Google account with a GCP project and billing enabled.
  • A domain name you can manage DNS records for.

Launch Cal.diy from GCP Marketplace

Step 1: Find the Product

  1. Log in to your Google account.
  2. Go directly to the product page: Cal.diy on GCP Marketplace
  3. You can also browse all Meetrix products at the Meetrix Solutions Page.
  4. You will see the following product listing page.
Cal.diy Scheduling self hosted booking and appointment platform product listing on GCP Marketplace

Step 2: Accept the Agreement

  1. Select your GCP project from the project selector at the top.
  2. Review the product description and pricing details, then click GET STARTED.
  3. Accept the terms and conditions and click AGREE.
Cal.diy GCP Marketplace agreements screen

Free Trial

This product includes a 5-day free trial with up to USD 50.00 in licence fee credits. To activate it, tick I accept the solution trial Terms and Conditions on the launch screen before proceeding.

Cal.diy GCP free trial terms acceptance

Trial note

Infrastructure charges (VM, disk) still apply during the trial. Only the Meetrix licence fee is credited. You can cancel the trial at any time by deleting the deployment.

Configure Your Cal.diy Deployment on GCP

You will see the deployment configuration form. Fill in the fields across the following sections:

Cal.diy GCP deployment configuration form showing deployment name, service account, zone, and machine type

General

  • Deployment name - A unique name for this deployment.
  • Deployment Service Account - Use an existing account with the required roles, or create a new one.
  • Zone - Select the GCP zone closest to your users.
  • Machine type - Default e2-standard-2 (2 vCPU, 8 GB memory) works for most setups. Choose a larger type in the Compute-optimised or Memory-optimised series for heavier booking traffic.

Networking

  • Network / Subnetwork - Leave as default unless you have a custom VPC.
  • External IP - Leave as Ephemeral so the instance is reachable from the internet.
  • Allow SSH (TCP port 22) - Enabled by default. Restrict the source IP range if you want to limit SSH access to specific IPs.
Cal.diy GCP networking configuration showing network, subnetwork, external IP, and SSH firewall settings

Application Settings

  • Domain name - The domain for your Cal.diy instance (e.g. book.yourdomain.com). Make sure to point your DNS A record to the instance IP before or shortly after deploying.

Click DEPLOY and wait a few minutes for the deployment to complete.

Point DNS to Your Cal.diy Server

Step 1: Get the External IP

  1. Once deployment is complete, click the VM instance resource name in the deployment details.
  2. Copy the External IP from the Network interfaces section.
Cal.diy VM instance network interface showing the external IP address on GCP

Step 2: Create a DNS A Record

  1. Go to your DNS provider.
  2. Add an A record pointing your Cal.diy domain (e.g. book.yourdomain.com) to the copied external IP.
  3. Wait for DNS propagation before proceeding (typically a few minutes to 1 hour).

DNS must propagate first

The image issues SSL via Let's Encrypt, which verifies domain ownership over HTTP. Make sure your DNS A record is pointing to the server IP and has propagated before the certificate request runs.

Create Your Admin Account

Once DNS has propagated and SSL has issued, visit your domain. Unlike a pre-set admin account, Cal.diy walks you through a first-run setup wizard where you create the administrator user yourself.

Cal.diy Administrator user setup wizard step 1 of 3, asking for username, full name, email, and password

Fill in a username, full name, email address, and a password (minimum 15 characters, mixing uppercase, lowercase, and at least one number), then click Next Step to continue through the remaining setup steps.

502 Bad Gateway Error?

If you encounter a "502 Bad Gateway" error, the application is likely still starting up. Please wait about 5 minutes and then refresh the page.

Generate an SSL Certificate for Cal.diy Manually

Cal.diy will automatically try to issue SSL for the domain name you provided during deployment. If it's unsuccessful, for example if DNS hadn't propagated yet, you can generate it manually.

Step 1: SSH into the Server

  1. Go to the VM instance page in the GCP console.
  2. Click SSH to open a browser-based terminal and authorize access.
VM instance details page with SSH and logs options on GCP

Step 2: Run the Certificate Script

The image includes a pre-configured certificate script. Run it with:

sudo bash /root/certificate_generate_standalone.sh

This script runs certbot using the domain name you provided during deployment.

Check Cal.diy Server Logs

SSH into the server as shown above, then check the running containers and their logs:

sudo docker ps

Select the correct container and check its logs:

sudo docker logs <container_id>

You can also view instance-level logs from the VM instance page in the GCP console by clicking Logging.

Manage Your Cal.diy Deployment on GCP

Shut Down the VM

To stop the VM without deleting it, go to Compute Engine → VM Instances in the GCP console, select your instance, and click Stop. You can restart it at your convenience by clicking Start/Resume.

Delete the Deployment

To fully remove the deployment and stop all billing:

  1. Go to Solution deployments in the GCP console.
  2. Find your Cal.diy deployment.
  3. Click Delete to remove all associated resources.

Upgrades

When there is an upgrade, we will update the product with a newer version. You can check the product version in GCP Marketplace. If a newer version is available, back up your server data, delete the current deployment, and launch the product again using the newer version.

API Documentation

Cal.diy is built on the same codebase as Cal.com and exposes a powerful REST API that allows you to control the entire platform programmatically. You can find self-hosting documentation here:

Official Cal.diy Self-Hosting Documentation

Troubleshoot Cal.diy on GCP

Insufficient Capacity Error

If you see an error stating there is not sufficient capacity for the selected machine type while deploying, try a different zone or try again later.

502 Bad Gateway

If you see a 502 Bad Gateway error when accessing your domain, the application is likely still starting up. Wait 5-10 minutes and try again.

Storage Full Error

If the application becomes unresponsive, check whether the instance storage is full. SSH into the server and run:

df -h

If the root volume is between 90-100%, resize the boot disk from the Compute Engine console, then reboot the instance.

Technical Support

If you run into any issues, our support team is here to help. Reach out to us at support@meetrix.io and we will respond within 12 hours.

Frequently Asked Questions

What is Cal.diy used for?

Cal.diy handles booking pages, calendar sync, and availability management, so teams and individuals can run a full scheduling platform without per-seat SaaS fees or handing calendar data to a third party.

Is Cal.diy free and open source?

Yes. Cal.diy is MIT-licensed and open source, and the Meetrix GCP image includes a 5-day free trial. You only pay standard GCP infrastructure costs plus the Meetrix licence fee once the trial ends.

Can I use my own domain name with Cal.diy on GCP?

Yes. Point a DNS A record at the instance's external IP after deployment, then visit your domain to run the first-time setup and issue your Let's Encrypt SSL certificate.

Is my Cal.diy booking data secure on GCP?

Yes. The deployment runs entirely inside your own GCP project. You control the network, firewall rules, and access policies, and no third party has a copy of your bookings or calendar data.

What machine type should I choose for Cal.diy?

The default e2-standard-2 (2 vCPU, 8 GB memory) works well for individuals and small teams. For heavier booking traffic or more connected calendars, choose a larger machine type in the Compute-optimised or Memory-optimised series during deployment.

How do I create the admin account?

The deployment doesn't set an admin account for you. Visit your domain after DNS and SSL are ready, and you'll land on the Administrator user setup wizard, where you create your username, full name, email, and password in three steps.

How do I renew the SSL certificate?

Certificates issued by Let's Encrypt renew automatically. If you generated one manually with the certificate script, you can re-run it at any time: sudo bash /root/certificate_generate_standalone.sh

What's the difference between Cal.diy and Cal.com?

Cal.diy is the open-source, MIT-licensed community edition that came out of Cal.com's original codebase. Cal.com is the closed-source, hosted SaaS product. Cal.diy gives you the same core booking and calendar features, self-hosted on your own infrastructure.

Deploy Cal.diy on GCP in Minutes

Launch a production-ready, self-hosted Cal.diy scheduling platform with a pre-configured Meetrix image.

Get Started on GCP Marketplace