Skip to content

Cal.diy

Open-source, self-hosted scheduling app for booking meetings, a community fork of Cal.com.

Stars
49.6k
Forks
15.5k
Licence
MIT
Language
TypeScript
Last update
4 days ago
Type
App

What it is

Cal.diy is a scheduling platform you run on your own server, so people can book time with you through a calendar page. It is a fork of Cal.com with the commercial enterprise features removed and everything under the MIT license. The README says it is intended mainly for personal, non-production use by people comfortable with server administration.

  • Run a personal booking page on your own infrastructure
  • Explore a real-world Next.js, tRPC, and Prisma codebase
  • Test scheduling workflows locally with the seeded sample users from yarn dx

Great for

  • Individuals who want to self-host their own booking page
  • Developers who want to study or modify a large TypeScript scheduling app
  • People who want MIT-licensed code without enterprise add-ons
  • Hobbyists comfortable setting up Node.js and PostgreSQL

Not ideal for

  • Businesses needing production or enterprise scheduling, since the README points to Cal.com for that
  • People without server administration experience, because the README warns self-hosting requires advanced knowledge
  • Anyone wanting a hosted service, since the README says there is no managed version
Step-by-step guide: how to use Cal.diyInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Clone and build from source

    You'll need: Node.js 18.x or newer · PostgreSQL 13.x or newer · Yarn (recommended)

    Clone the repository

    git clone https://github.com/calcom/cal.diy.git

    Go to the project folder

    cd cal.diy

    Install packages with yarn

    yarn
  2. 2

    Run it

    • Copy .env.example to .env and generate NEXTAUTH_SECRET and CALENDSO_ENCRYPTION_KEY with openssl
    • Set DATABASE_URL to point at your PostgreSQL instance
    • Optionally run yarn dx, which needs Docker and Docker Compose, to start a local Postgres with sample users
    • Open http://localhost:3000 and sign in with a seeded account
  3. 3

    Get the most out of it

    • Use yarn db-studio to browse seeded users and their data at localhost:5555
    • Set NEXT_PUBLIC_LOGGER_LEVEL in .env to control tRPC logging verbosity
    • Raise Node memory with NODE_OPTIONS if builds run out of memory
    • Configure optional integrations, which the README says need extra credentials

Downloads

Strengths

  • Fully MIT-licensed with no proprietary enterprise edition, according to the README
  • No license key or Cal.com account required to run it
  • Active community project with a large star count and recent pushes

Trade-offs

  • The README explicitly warns it is use-at-your-own-risk and mainly for non-production use
  • Setup requires Node.js, PostgreSQL, environment secrets, and careful configuration
  • Enterprise features such as Teams, SSO, and Workflows were removed

How it compares

ProjectStarsTypeLevelUpdatedBest for
cal.diy (this)49.6kAppadvanced4 days agoIndividuals who want to self-host their own booking page
create-t3-app29.2kCLIintermediate11 months agoDevelopers who already know some TypeScript and want a Next.js starting point
taxonomy19.3kAppadvanced7 months agoDevelopers learning the Next.js App Router and server components
NotionNext11.9kAppintermediate4 days agoWriters who already keep their posts in Notion and want a website without moving content
open-saas16.2kAppintermediate9 days agoDevelopers who want a head start on a subscription-based web product
ui127kLibraryintermediate4 days agoDevelopers building React or Next.js interfaces who want full control over component code

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.