mrkeyoor.com_
Wed 16 Sept 12:54 UTC
Self-Hostedevaluationupdated 25 Aug 2026

cal.diy review

The former Cal.com repository now redirects to Cal.diy, a community edition for people who want to host their own scheduling page. It handles bookable availability and calendar connections, but the current project removes Cal.com's teams, organizations, workflows, insights, and SSO features.

+164stars / 7d
Verdict

Our run installed 4,673 packages into 3,958 MB, passed the tests, and then failed the build because NEXTAUTH_SECRET was unset, so Cal.diy is a serious self-hosting commitment rather than a quick calendar widget. Use it for a personal booking service if you are comfortable owning PostgreSQL, secrets, upgrades, and provider credentials. For a business deployment or team scheduling, follow the project's own advice and choose the supported Cal.com product or a smaller scheduler.

We ran it

Lab card: what happened when we ran cal.diyScreenshot of cal.diy (cal.diy)
Install✓ · 231s4673 packages · 3958 MB
Build✗ · 81s
Tests✓ · 181sran, no count parsed
Repo7695 files~555,499 lines of source · 205.8 MB · 50 CI workflows · Dockerfile

Answers from our run

Does cal.diy build from source?

Dependencies installed in 231 seconds (4673 packages), and the build failed. We cloned commit 176037d into a clean Debian container with 3 CPUs and no project-specific setup.

Do cal.diy's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use cal.diy?

Businesses seeking a supported production deployment: the README strictly recommends Cal.diy for personal, non-production use and points commercial users to Cal.com.

What are the alternatives to cal.diy?

Easy!Appointments, Rallly. Our run installed 4,673 packages into 3,958 MB, passed the tests, and then failed the build because NEXTAUTH_SECRET was unset, so Cal.

Setup2/5Docker path exists, but secrets, database, and OAuth work add up
Docs4/5Detailed local, Docker, upgrade, integration, and troubleshooting guides
Community4/5Recent push and current issue activity around a widely watched repo
Maturity3/5Large tested codebase, but the fork warns against production use

Discussed on

  1. hnCal.diy: open-source community edition of cal.com259 points

Who it’s for

Experienced self-hosters who want a personal booking page and control over its database.
Developers prepared to operate PostgreSQL, Docker, application secrets, and OAuth credentials.
Individuals who value an MIT-licensed scheduling codebase more than managed support.
Contributors interested in the community fork rather than Cal.com's commercial product.

Who it’s NOT for

Businesses seeking a supported production deployment: the README strictly recommends Cal.diy for personal, non-production use and points commercial users to Cal.com.
Teams that need organizations, workflows, insights, or SSO/SAML: the community edition says those features were removed with the enterprise code.
Anyone expecting a hosted option: the README says Cal.diy has no hosted or managed version.
Operators unwilling to manage calendar-provider credentials: Google, Microsoft, Zoom, and other integrations each require their own setup.
CalDAV users who cannot tolerate a missed conflict check: an open report describes a failed check that allowed a booking over a blocking event.

Setup reality

Our sandbox install succeeded in 231 seconds, placing 4,673 packages and 3,958 MB on disk. Tests then succeeded in 181 seconds. The build failed after 81 seconds because the web package required NEXTAUTH_SECRET; 12 of 13 tasks had completed when it stopped.

The documented path needs Node.js 18 or newer, PostgreSQL 13 or newer, DATABASE_URL, NEXTAUTH_SECRET, and a 32-byte CALENDSO_ENCRYPTION_KEY. Docker Compose can start the web app, database, and Prisma Studio, while calendar, video, CRM, and push integrations add separate credentials.

This is a 7,695-file monorepo with about 555,499 source lines and 50 CI workflow files. The README recommends advanced server, database, and security knowledge, labels the fork personal and non-production, and notes that source builds currently need a database available during the build.

Cal.diy is a personal scheduler, not Cal.com's free enterprise edition

The repository formerly known as calcom/cal.com now redirects to Cal.diy. Its README describes a community fork of Cal.com with the commercial and enterprise code removed. That distinction changes the buying decision. Cal.diy gives an individual a booking page, availability rules, and calendar connections under the MIT license, but it does not include teams, organizations, insights, workflows, or SSO/SAML. The maintainers also recommend it strictly for personal, non-production use and direct commercial users to hosted Cal.com or its on-premises enterprise offering.

The smaller product promise does not mean a small codebase. Our clone contained 7,695 files, about 555,499 lines of source, and occupied 205.8 MB before dependencies. This is a Yarn workspace monorepo built around Next.js, React, tRPC, Prisma, and PostgreSQL. The repository includes a Dockerfile, a Compose setup, and 50 CI workflow files. A capable operator will recognize the shape: several packages, generated database clients, build-time configuration, and enough moving parts that upgrades deserve a maintenance window.

What happened when we ran it

Our sandbox installed Cal.diy successfully in 231 seconds. That one install pulled 4,673 packages and left 3,958 MB on disk, a heavy dependency tree for a personal scheduling service. We ran the project at commit 176037d in an unprivileged container with 3 CPUs and 8 GB of RAM, using the project's Yarn workflow. Installation success matters here because the repo performs generation and post-install work across its packages rather than stopping after dependency resolution.

The build failed after 81 seconds. Twelve of 13 tasks completed, then @calcom/web stopped with Error: Please set NEXTAUTH_SECRET; the log did not identify another cause, so the fair finding is that a clean build requires that secret to be configured. The tests succeeded in 181 seconds. The run therefore shows two things at once: the checked-out code could install and complete its test command, while the documented secret is also enforced during the production build.

Docker Compose still leaves you owning PostgreSQL and secrets

The README requires Node.js 18 or newer and PostgreSQL 13 or newer for development. Its Compose path is more convenient: copy .env.example, generate NEXTAUTH_SECRET and the 32-byte CALENDSO_ENCRYPTION_KEY, then start the app, database, and Prisma Studio. Push notifications need a VAPID key pair. A source build currently needs an available database, and build-time values must match runtime values. That is clear documentation, but it is infrastructure work rather than a one-click appliance.

Resource needs also deserve attention before choosing a small VPS. Our dependency install consumed 3,958 MB on disk, and the README's development tip suggests raising Node's old-space limit as high as 16,384 MB when needed. The suggested limit signals the scale of the development workflow rather than a requirement we measured for every deployment. Operators must also handle backups, TLS, database migrations, secret rotation, and updates that may introduce new environment variables. Compose packages the services; it does not operate them for you.

Calendar integrations make credentials part of the product

A scheduler becomes useful when it can read busy time and create meetings. Cal.diy documents separate setup for Google Calendar, Microsoft Graph, Zoom, Daily, Basecamp, HubSpot, Webex, Zoho products, Pipedrive, and optional Unkey rate limiting. Google alone requires an OAuth consent screen, calendar scopes, redirect URIs, and downloaded credentials stored in the environment. Each provider adds another external console, secret, callback URL, and failure mode that the operator must understand.

That burden is visible in current issue activity. An open CalDAV report says a conflict check failed silently and allowed a booking over a blocking event. One report cannot establish that every CalDAV connection is unreliable. The consequence is serious enough to test against your own calendars. The repository's 50 CI workflow files and successful 181-second test command show substantial engineering effort; neither can validate credentials, provider outages, or calendar data specific to your live instance.

The project is active, but support expectations must stay modest

GitHub reported 47,923 stars and 1,426 open issues and pull requests, with the last push on August 8, 2026. Issues were still receiving updates later in August, so the repository does not look abandoned. The latest tagged release was v6.2.0 on March 1, 2026, and its notes include fixes for booking details, app-store state, test flakiness, and onboarding behavior. A release gap alone is not a health verdict when commits and issue discussions remain current.

Maturity is uneven in the way that matters to a buyer. The 7,695-file project has a long history, a detailed deployment guide, a Compose route, and tests that passed in our sandbox. The community fork simultaneously warns against production use and removes the business features many organizations associate with Cal.com. Take that warning literally. Cal.diy is worth considering for one technically confident owner who wants a personal booking service. A company that needs support, team controls, or a smaller operational footprint should choose something else.

Alternatives

ProjectWhat it isPick it when
Easy!AppointmentsA self-hosted appointment scheduler with a narrower service-booking focus.pick this instead when you need a conventional appointment calendar without Cal.diy's large JavaScript monorepo.
RalllyAn open-source tool for polling people and agreeing on a meeting or event time.pick this instead when group availability polling matters more than running individual booking pages.

What people are saying

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

Sources

  1. Cal.diy README
  2. Cal.diy GitHub repository
  3. Cal.diy v6.2.0 release
  4. CalDAV conflict check issue

More self-hosted reviews

newsnow · forem · octo-server · runtime · openfang · SparkyFitness · the whole board →