Files
cal.diy/cc
hausgeist 3dbad3113d cc: build-based deploy — cal.diy publishes no prebuilt release images
Verified: Docker Hub calcom/cal.diy has 0 tags; scarf/ghcr mirrors serve none.
The upstream Dockerfile + compose build args are the deploy path.
2026-09-28 00:23:53 -07:00
..

cc branch — Commons Computer deployment source-of-truth

This repo is the Commons Computer mirror of bmann/cal.diy (fork of calcom/cal.diy, MIT community edition of Cal.com). Two branches matter:

branch what it is
main upstream mirror (tracks bmann/cal.diy main)
cc deployment source of truth — pinned at a cal.diy release + CC-specific deploy config

Pinned release: v6.2.0 (1c193cca, latest cal.diy release at pin time). Deployment target: pve CT 102 "caldiy" on the Commons Computer Proxmox host, Docker Compose (Postgres + Redis + cal.com web), served publicly at cal.commonscomputer.com behind the Caddy edge. See issue #11 and the cc-ansible repo (inventories/production/group_vars/cc_apps/, playbooks/caldiy-*.yml) for the runbook.

What the cc branch carries (vs upstream)

  • docker-compose.cc.yml — CC compose override: pins the prebuilt image at the current release tag and keeps studio (prisma) + calcom-api (v2 API) out of the v1 stack. calcom still reads runtime config from .env.
  • cc.env.example — the CC production env template (webapp URL, telemetry off, branding). Ansible renders the real .env from vault secrets.
  • cc/README.md — this manifest + the upstream-merge process below.
  • No secret is ever committed here; generated secrets live in the cc-ansible ansible-vault (group_vars/cc_apps/vault.yml).

Cutting a new release (upstream-merge process)

cal.diy releases land as tags on bmann/cal.diy (and the parent calcom/cal.diy). To move the CC deployment to a newer stable release:

# 1. pull the new release into the mirror (full history not required: depth=1
#    from the tag is enough to diff trees, but keep history for clean merges)
git fetch upstream --tags

# 2. ff-merge main up then rebase the cc config on top of the new tag
git checkout main && git merge --ff-only upstream/main && git push cc main
git checkout cc
git rebase --onto v6.2.1 v6.2.0          # or: git merge v6.2.1

# 3. bump the pinned image + update this manifest
#    - docker-compose.cc.yml: calcom.image tag   -> v6.2.1
#    - cc/README.md: Pinned release line          -> v6.2.1 (commit ref)
git add -A && git commit -m "cc: bump to v6.2.1 (issue #11)"
git push cc cc

Then re-run playbooks/caldiy-deploy.yml to rebuild the image and migrate.

Manual deploy (if not using ansible)

git clone --branch cc https://git.commonscomputer.com/commonscomputer/cal.diy.git /opt/caldiy
cd /opt/caldiy
cp cc.env.example .env   # then fill RELEASE secrets (see generation notes in cc.env.example)
# cal.diy publishes no prebuilt images for releases — build from source:
docker compose -f docker-compose.yml -f docker-compose.cc.yml build calcom
docker compose -f docker-compose.yml -f docker-compose.cc.yml up -d database redis calcom

The cal.com build is heavy (~20-40 min on first run: yarn install + Next.js production build); give the host 6+ cores / 8 GB RAM (the caldiy CT is sized for this). Subsequent builds are fast thanks to the layer cache.