cal.diy
MIT-licensed scheduling with calendar integrations, booking pages and APIs, recommended only for personal, non-production self-hosting.
- Stars
- 50k
- Forks
- 16k
- Last update
- 3 Nov 2026
Overview
Cal.diy is a community-maintained fork of Cal.com for running scheduling infrastructure on your own server. It supports event types, availability schedules, calendar connections, booking management and integrations. The project strictly recommends personal, non-production use and directs commercial users to Cal.com.
Who it's for
Tech stack
Features and benefits
Key features
- Event types, recurring event types and seated events
- Booking management and private booking links with hashed URLs
- Availability schedules, date overrides and travel schedules
- Buffer times, minimum notice, booking limits and out-of-office settings
- Calendar integrations including Google Calendar, Outlook, Apple Calendar and CalDAV
- Video conferencing integrations including Daily.co, Zoom and Google Meet
- Paid events through Stripe or PayPal
- Webhooks and integrations with automation, CRM and messaging tools
- Inline, popup and floating-button embeds
- REST API v2, API keys and OAuth clients
Why it helps in Pakistan
- Keep control of your scheduling infrastructure through self-hosting.
- Inspect and modify the entire MIT-licensed codebase without an enterprise-code split.
- Run the software without a Cal.com account or licence key.
- Use availability rules and booking limits to define when personal appointments can be booked.
- Test calendar, conferencing and API integrations in a non-production environment.
Pakistan use cases
- 01
A developer in Lahore can test an embedded booking page on a local portfolio prototype.
- 02
A student in Karachi can use a personal instance to arrange study sessions with recurring event types.
- 03
A freelancer in Islamabad can evaluate calendar connections and availability rules before choosing a production scheduling service.
- 04
A Pakistani software team can experiment with scheduling webhooks and API v2 in a non-production sandbox.
Requirements
- Hardware
- Check the official docs for minimum CPU, RAM and storage requirements; no minimum hardware specification is stated.Docker source builds require an available database.
- Operating system
- Windows setup notes are provided for Git Bash, WSL and PowerShell.Check the official docs for supported OS versions.
- Skills
- Advanced server administrationDatabase managementSecuring sensitive dataEnvironment-variable configurationGit and command-line developmentDocker and Docker Compose for Docker-based setup
- Accounts needed
- No Cal.com account or licence key is required.Additional credentials may be needed for enabled integrations.Check the official docs for cloud-provider account requirements.
Setup guide
Commands are copied from the project's README and official docs.
- 1
Docker Compose: prepare the system
Install Docker and Docker Compose. Clone withgit clone --recursive https://github.com/calcom/cal.diy.git, then runcd cal.diy. - 2
Create configuration and secrets
Runcp .env.example .env. Generate NEXTAUTH_SECRET withopenssl rand -base64 32and CALENDSO_ENCRYPTION_KEY withopenssl rand -base64 24. Add the generated values to .env instead of the default secret placeholders. - 3
Configure Web Push and runtime settings
Generate VAPID keys withnpx web-push generate-vapid-keys. Set NEXT_PUBLIC_VAPID_PUBLIC_KEY and VAPID_PRIVATE_KEY in .env. Review DATABASE_URL and NEXT_PUBLIC_WEBAPP_URL. Do not commit real keys to .env.example. - 4
Start the stack
Optionally rundocker compose pull. Start the web app, local PostgreSQL database and Prisma Studio withdocker compose up -d. - 5
Create your first user
Open http://localhost:3000 or your configured NEXT_PUBLIC_WEBAPP_URL and complete the setup wizard. To skip calendar connection, navigate to <NEXT_PUBLIC_WEBAPP_URL>/event-types.
Works with
Google Calendar
Supported calendar integration; calendar connections can be added from Settings > Integrations.
Outlook / Office 365 Calendar
Listed as a supported calendar integration.
Apple Calendar and CalDAV
Both are listed as supported calendar connections.
Provides the documented Cal Video integration.
Zoom, Google Meet and Microsoft Teams
Listed as supported video conferencing integrations.
Stripe and PayPal
Supported for paid events. The sources do not establish payment-provider availability for Pakistani users.
Zapier, n8n, Make and Pipedream
Listed as supported automation integrations; enterprise Workflows are not included.
HubSpot, Salesforce and Close
Listed as supported CRM integrations.
Discord, Telegram and WhatsApp
Listed as messaging integrations; specific messaging actions are not described in the supplied sources.
Captures emails during development and is required when E2E_TEST_MAILHOG_ENABLED is 1.
An optional database host connected through DATABASE_URL. Railway documents service-variable references for internal connections.
What it costs
| Software | Free to self-host under the MIT licence. |
|---|---|
| Hosting | Budget roughly $10–40 per month for a development VPS running the app and PostgreSQL; this is a general estimate, not a documented sizing recommendation. Minimum server requirements are not stated. Check current prices and the official docs before choosing a server. |
| Paid cloud option | Cal.diy has no hosted or managed version. The project recommends the separate Cal.com service for commercial use, with hosted and on-prem enterprise options at https://cal.com/sales. |
FAQ
Is Cal.diy suitable for a live Pakistani business?
The project strictly recommends personal, non-production use and does not guarantee its security or safety. For commercial scheduling, the maintainers recommend Cal.com instead.
Do I need a Cal.com account or licence key?
No. Cal.diy is entirely MIT-licensed and requires neither a Cal.com account nor a licence key.
Does it include team scheduling and enterprise workflows?
No. Teams, Organizations, team event types, Workflows, SSO/SAML and the Insights Dashboard are among the removed features.
Must I connect a calendar during setup?
No. You can skip the calendar step by navigating to <NEXT_PUBLIC_WEBAPP_URL>/event-types, then add a connection later through Settings > Integrations.
Can Pakistani users collect payments through it?
Paid events through Stripe and PayPal are listed features, but the supplied sources do not confirm provider availability or account eligibility in Pakistan. Check the provider requirements before evaluating this feature.
Troubleshooting
Windows Prisma error: unexpected character / in variable name
Replace the packages/prisma/.env symlink with a real copy using rm packages/prisma/.env && cp .env packages/prisma/.env in Git Bash or WSL.
No key set vapidDetails.publicKey
Run npx web-push generate-vapid-keys and add the generated values to NEXT_PUBLIC_VAPID_PUBLIC_KEY and VAPID_PRIVATE_KEY in .env.
Failed to commit changes: Invalid prisma.user.create()
Set the user's metadata field to an empty JSON object {}. The README also suggests leaving id empty so it can autoincrement.
CLIENT_FETCH_ERROR with a container DNS lookup failure
The README suggests setting NEXTAUTH_URL to http://localhost:3000/api/auth so the backend can resolve its own authentication endpoint.
Official links
Get it set up for you
Don't want to install it yourself? A Jugaad maker can set up cal.diy for your business. Payment is held in Safe Deal until it works.
No maker offers a setup gig for this yet. Post a request and makers will quote.
Related tools
excalidraw
by excalidraw
An open-source whiteboard for hand-drawn diagrams and wireframes, with offline use and collaboration on Excalidraw.com.
- A Lahore software agency sketche…
- A Karachi retailer draws an orde…
- An Islamabad teaching team creat…
plane
by makeplane
Plane is an open-source project management tool for tracking tasks, running cycles, organizing docs, and planning product roadmaps.
- A Lahore software house can trac…
- A Karachi digital agency can div…
- An Islamabad startup can manage…
appsmith
by appsmithorg
Build custom admin panels, dashboards, and internal tools with Appsmith, an open-source low-code platform.
- A Karachi distributor could buil…
- A Lahore software agency could c…
- An Islamabad support team could…
Built by calcom and contributors on GitHub. All credit goes to the authors. GitHub stats refresh daily. Jugaad does not host, copy or sell this code.
Is this your project?
