mrkeyoor.com_
Thu 13 Aug 13:46 UTC
Self-Hostedevaluationupdated 13 Aug 2026

cal.diy

Cal.diy is a community-maintained scheduling application for people who want to run their own booking pages and calendar connections. It is a fork of Cal.com with enterprise and commercial code removed, leaving a fully MIT-licensed edition aimed explicitly at personal, non-production self-hosting.

Verdict

Cal.diy offers an impressive amount of scheduling code under a clean MIT license, but its own maintainers tell you not to trust it with commercial production. Believe that warning. It is a strong personal lab and a serious base for developers willing to become maintainers, not a drop-in Calendly replacement for a business that merely wants to run Docker.

Setup2/5Quick local path, demanding public deployment and integration setup
Docs4/5Extensive setup and integration notes, with some confusing legacy detail
Community5/5Huge audience and very active issue and pull-request traffic
Maturity3/5Deep codebase, but this fork explicitly disclaims production readiness

Who it’s for

Experienced self-hosters who want control over scheduling data and infrastructure.
Individuals running personal booking pages who can maintain PostgreSQL, Docker, secrets, backups, and upgrades.
Developers who want to study or modify a large Next.js, tRPC, Prisma, and React scheduling system.
Contributors who prefer a community fork with no open-core feature split or license key.

Who it’s NOT for

Businesses putting scheduling on a production-critical path: the README strictly recommends Cal.diy only for personal, non-production use and directs commercial users to Cal.com.
Teams needing organizations, shared team scheduling, Insights, Workflows, or SSO/SAML: the README says those enterprise features were removed from this fork.
Casual Docker users expecting an appliance: open reports describe missing image references, confusing Compose variables, and OAuth loops tied to build-time URL values.
Anyone who cannot secure a public web app and PostgreSQL database, rotate secrets, configure SMTP and OAuth credentials, monitor failures, and test restores.
Users wanting a managed version of this exact edition: the project states that Cal.diy has no hosted service.

Setup reality

A local evaluation can be quick with yarn dx, Docker, and the included test users, or with the published Compose stack and first-run wizard. A dependable internet deployment is much harder than docker compose up -d: generate authentication and encryption secrets, set public and authentication URLs consistently, secure PostgreSQL, add TLS and a reverse proxy, configure email, create OAuth applications for each calendar or video provider, and plan backups and upgrades. The README separates build-time from runtime variables because some public settings are compiled into the frontend. Open self-hosting reports show that getting those URLs wrong can break login redirects and calendar OAuth even when the page itself loads.

Cal.com capability without the enterprise layer

Cal.diy is not a small calendar widget. It descends from Cal.com and retains a large scheduling application built with Next.js, React, tRPC, Prisma, PostgreSQL, Tailwind CSS, and an app-store model for integrations. Users can publish booking pages, define event types and availability, connect calendars, and add conferencing or business services through credentials they control. The attraction is clear: the whole community edition is MIT-licensed and requires no Cal.com account or license key.

The fork also draws a sharp boundary. Teams, Organizations, Insights, Workflows, SSO/SAML, and other enterprise-only features have been removed. There is no managed Cal.diy service. Most importantly, the README says to use it at your own risk and strictly recommends it for personal, non-production use. Commercial users are directed to hosted Cal.com or its enterprise on-premises offer.

That warning is not decorative legal text. Scheduling systems sit between public visitors, personal calendars, email, video providers, and often payments. A missed booking, broken OAuth callback, leaked database, or failed reminder has a real cost. Cal.diy gives an experienced operator the code and deployment pieces, but it does not promise the operational safety net a business buyer expects.

A friendly local start hides a large system

For development, the easiest command is yarn dx. It requires Docker and Compose, starts PostgreSQL, seeds several test accounts, and prints their credentials. The manual path needs Node.js 18 or newer, PostgreSQL 13 or newer, Yarn, two generated secrets, a database URL, Prisma migrations, and optional MailHog for email testing. Windows users get separate instructions for Git symlinks and environment handling.

The Docker Compose route is approachable on paper: clone recursively, copy the example environment file, generate NEXTAUTH_SECRET and the 32-byte encryption key, then start the stack. It can include PostgreSQL and Prisma Studio, and a first-run wizard creates the initial user. The README even explains how to skip the apparently required calendar step by navigating directly to the event-types page.

Public deployment is where the work multiplies. The application distinguishes settings needed while building from those supplied at runtime. Public URLs can be embedded in frontend assets, authentication must agree with the external domain, and push notifications need VAPID keys. A reverse proxy and TLS are still your job. SMTP, monitoring, backups, database upgrades, and recovery are not supplied by a Compose command.

Several open reports make this risk concrete. One describes an official image retaining a localhost public URL and sending login flows to the wrong place. Another reports an Outlook OAuth loop despite apparently correct runtime variables because the built URL remained localhost. A separate issue says the Docker Hub image named in the documentation was missing. These are user reports, not proof that every current image fails, but they justify testing the exact tag and domain configuration before migrating a real booking link.

Integrations are powerful and expensive to own

Calendar integration is the reason to run a scheduler instead of a static contact form. Cal.diy documents Google Calendar and Microsoft Graph credentials, along with Zoom, Daily, Basecamp, HubSpot, Webex, Zoho, Pipedrive, and other services. Each useful connection means creating an application with the provider, choosing scopes, protecting a client secret, and registering exact callback URLs. Providers can change their review rules and APIs independently of Cal.diy.

It is a poor fit for someone who wants every integration to work simply because its logo appears in the interface. The operator owns credential rotation and must verify that bookings create the expected remote event. An open v6.2 report says Google Meet links disappeared from booking metadata while the same setup worked on v6.1.16. Pin versions, rehearse upgrades, and test calendar and video creation end to end.

The stripped enterprise scope matters here too. A solo consultant may only need one user's event types, calendar connections, and booking pages. A company quickly asks for centralized teams, organization policy, SSO, reporting, and workflow automation, precisely the areas the README says were removed. Rebuilding them locally defeats the appeal of choosing a ready-made scheduler.

The codebase is active, but the queue is enormous

The last push was August 8, 2026, and issues and pull requests were still receiving updates on August 12. Stable v6.2.0 arrived on March 1 after a rapid run of v6.1 patch releases in January and February. A release tag being several months old does not indicate abandonment when code and issue activity remain current.

The scale of the queue is harder to dismiss. GitHub reported 1,402 open issues and pull requests, broken out by search as 1,107 issues and 295 pull requests. Much of that history comes from the large Cal.com lineage, and many entries concern features outside a personal installation. Even so, it makes issue discovery and upgrade assessment demanding. The activity is vigorous, but users must identify which fixes actually apply to Cal.diy and which old Cal.com assumptions no longer fit the fork.

Documentation is broad, covering local development, Docker, database migrations, upgrades, several deployment providers, content security policy, rate limiting, and many integrations. It also carries legacy names and a long accumulation of special cases. Read the environment-variable tables rather than copying a random Compose example from an issue or older guide.

A good personal project, a risky business dependency

Cal.diy's clean licensing and deep feature base are valuable. It lets a capable developer inspect every scheduling decision, keep data on chosen infrastructure, and modify behavior without an enterprise-code boundary. Few personal projects need this much application, but few alternatives offer as much source to work with.

The correct buying decision follows the README's warning. Use Cal.diy for a personal instance, a development lab, or as source material for a project whose team accepts full maintenance responsibility. Do not quietly turn that experiment into a production dependency because the booking screen looks polished. For revenue-critical scheduling, pay for an operated product or choose a smaller self-hosted system whose feature set and failure modes you can realistically own.

Alternatives

ProjectWhat it isPick it when
Cal.comThe commercial hosted and enterprise-ready scheduling product from the original team.pick this instead when scheduling is business-critical and you need managed hosting, enterprise features, or commercial support.
Easy!AppointmentsA self-hosted appointment scheduler centered on providers, services, and customer bookings.pick this instead when you want a narrower appointment system and do not need Cal.diy's large integration and app ecosystem.
RalllyAn open-source tool for finding a time across groups through polls and event pages.pick this instead when group availability polling matters more than individual booking links and calendar automation.

What people are saying

  1. [github-trending] calcom/cal.diy

Sources

  1. Cal.diy README
  2. Cal.diy v6.2.0 release
  3. Docker setup report
  4. Self-hosted OAuth URL report
  5. Docker image missing report
  6. Google Meet metadata regression report