49,876
stars
+48
15,593
forks
203
watchers
19,836
prs
9,489
issues
611
releases
0
discussions
README
[!WARNING]
Use at your own risk. Cal.diy is the open source community edition of Cal.com and it is intended for users who want to self-host their own Cal.diy instance. It is strictly recommended for personal, non-production use. Please review all installation and configuration steps carefully. Self-hosting requires advanced knowledge of server administration, database management, and securing sensitive data. Proceed only if you are comfortable with these responsibilities.
[!TIP]
For any commercial and enterprise-ready scheduling infrastructure, use Cal.com, not Cal.diy; hosted by us or get invited to on-prem enterprise access here: https://cal.com/sales
Cal.diy
The community-driven, open-source scheduling platform.
GitHub
Issues
·
Contributing
About Cal.diy
Cal.diy is the community-driven, fully open-source scheduling platform — a fork of Cal.com with all enterprise/commercial code removed.
Cal.diy is 100% MIT-licensed with no proprietary "Enterprise Edition" features. It's designed for individuals and self-hosters who want full control over their scheduling infrastructure without any commercial dependencies.
What's different from Cal.com?
- No enterprise features — Teams, Organizations, Insights, Workflows, SSO/SAML, and other EE-only features have been removed
- No license key required — Everything works out of the box, no Cal.com account or license needed
- 100% open source — The entire codebase is licensed under MIT, no "Open Core" split
- Community-maintained — Contributions are welcome and go directly into this project (see CONTRIBUTING.md)
Note: Cal.diy is a self-hosted project. There is no hosted/managed version. You run it on your own infrastructure.
Built With
- Next.js
- tRPC
- React.js
- Tailwind CSS
- Prisma.io
- Daily.co
Getting Started
To get a local copy up and running, please follow these simple steps.
Prerequisites
Here’s what you need to run Cal.diy.
- Node.js (Version: =18.x)
- PostgreSQL (Version: =13.x)
- Yarn _(recommended)_
If you want to enable any of the available integrations, you may want to obtain additional credentials for each one. More details on this can be found below under the integrations section.
Development
Setup
1. Clone the repo (or fork https://github.com/calcom/cal.diy/fork)
sh
git clone https://github.com/calcom/cal.diy.git
If you are on Windows, run the following command in Git Bash with admin privileges:
git clone -c core.symlinks=true https://github.com/calcom/cal.diy.git
2. Go to the project folder
sh
cd cal.diy
3. Install packages with yarn
sh
yarn
4. Set up your .env file
- Duplicate .env.example to .env
- Use openssl rand -base64 32 to generate a key and add it under NEXTAUTH_SECRET in the .env file.
- Use openssl rand -base64 24 to generate a key and add it under CALENDSO_ENCRYPTION_KEY in the .env file.
Windows useTop issues
#23391Booking an appointment in a free slot returns "The appointment could not be booked. No available users found. Can you try another time slot?"38 comments · 2025-08-27#11900Conditional Questions on Event Types37 comments · 2023-10-15#28995Docker Image Missing34 comments · 2026-04-24#12462[CAL-4350] Accept stripe coupons on booking payment32 comments · 2023-11-21#21921cal.com deployment redirects to localhost:3000 every time24 comments · 2025-06-19#25903Managed Event doesn't yet support a Hidden Event toggle in parent event23 comments · 2025-12-16#15032[CAL-3737] Railway deployment does not work20 comments · 2024-05-14#8904User specified local language (i18n)20 comments · 2023-05-15
Latest release
v6.2.0 v6.2.0 2026-03-01What's Changed fix: show invite link settings modal when clicking edit invite link in team members view by @anikdhabal in https://github.com/calcom/cal.com/pull/27917 fix: exclude test files from CODEOWNERS foundation approval by @hariombalhara in https://github.com/calcom/cal.com/pull/27919 fix(app-store): preserve existing enabled state during seed by @devanshu0x in https://github.com/calcom/cal.com/pull/27918 fix: use randomString() for booking uid in slots e2e tests to avoid unique constraint flake by @alishaz-polymath in https://github.com/calcom/cal.com/pull/27916 fix: use rand