macrostack

Layer 5 · self-hosting reality check

What it actually takes to self-host Cal.diy

The docs say Not stated by the vendor (the docs say it 'runs with pretty minimal hardware requirements by itself'). Building it is another matter: the project's Dockerfile gives Node a 6,144 MB heap for the build. In practice you want 2 GB to run the built image with PostgreSQL and Redis; 8 GB on whichever machine does the build. Here is the honest version — real requirements, real monthly cost, what you will be maintaining, and the one thing that catches people out.

Usually reached from Calendly alternatives, where Cal.diy is one of the picks.

Wondering whether you need to at all? Is Calendly free? — what the free tier actually allows, and where the wall is.

RAM — documented minimumNot stated by the vendor (the docs say it 'runs with pretty minimal hardware requirements by itself'). Building it is another matter: the project's Dockerfile gives Node a 6,144 MB heap for the build
RAM — what it really needs2 GB to run the built image with PostgreSQL and Redis; 8 GB on whichever machine does the build
CPU2 vCPU
Disk10 GB or more: the source tree, node_modules and build output are large, plus the PostgreSQL volume.
Monthly cost$6–12/mo on a 2 GB VPS, as long as you build the image on an 8 GB machine you already own and push it to a registry
Setup timeHalf a day for the first build and deploy, and every upgrade or domain change means another rebuild
How you install itClone calcom/cal.diy, set the build-time variables (NEXT_PUBLIC_WEBAPP_URL and the secrets), docker build the image yourself, then run it with PostgreSQL 13+ and Redis from the repo's docker-compose
Ongoing maintenanceThere are no tagged cal.diy releases since the April 2026 fork, so upgrading means pulling main, rebuilding and running database migrations. Some features need cron jobs you set up yourself, and each integration (Google, Microsoft, Zoom) needs developer credentials you create.
Where it stops scalingOne person's booking page, by design. Without Teams or Organizations there's nothing to grow into, and the project doesn't support running it for a business.

The thing that catches people out

The docs tell you to pull the calcom/cal.diy image from Docker Hub, but on 2026-09-30 that repository had no tags and had never been pulled, so you have to build it yourself. The build bakes your address in: NEXT_PUBLIC_WEBAPP_URL is a build-time variable, and a wrong or changed domain sends logins back to localhost:3000 until you rebuild. Build on an 8 GB machine (the Dockerfile reserves a 6 GB Node heap), push the image to your own registry and run it on the small server.

When not to self-host Cal.diy

You're a business. The project itself says it is strictly recommended for personal, non-production use, and Teams, Organizations, Workflows, Insights and SSO were removed. A team that needs shared scheduling should pay for hosted Cal.com or look at Easy!Appointments.

Every guide here carries this section. A site that only ever tells you to self-host is selling something — the useful answer is sometimes no.

Other Layer 5 self-hosting guides

Common questions

How much RAM does Cal.diy actually need?
2 GB to run the built image with PostgreSQL and Redis; 8 GB on whichever machine does the build in practice. The documented minimum is Not stated by the vendor (the docs say it 'runs with pretty minimal hardware requirements by itself'). Building it is another matter: the project's Dockerfile gives Node a 6,144 MB heap for the build, which is the figure at which the process starts rather than the figure at which it works under real use. 2 vCPU alongside it.
What does self-hosting Cal.diy cost per month?
$6–12/mo on a 2 GB VPS, as long as you build the image on an 8 GB machine you already own and push it to a registry This is commodity VPS pricing and excludes your time, which is the larger cost for most people — budget for there are no tagged cal.diy releases since the April 2026 fork, so upgrading means pulling main, rebuilding and running database migrations. Some features need cron jobs you set up yourself, and each integration (Google, Microsoft, Zoom) needs developer credentials you create.
How long does it take to set up Cal.diy?
Half a day for the first build and deploy, and every upgrade or domain change means another rebuild, via Clone calcom/cal.diy, set the build-time variables (NEXT_PUBLIC_WEBAPP_URL and the secrets), docker build the image yourself, then run it with PostgreSQL 13+ and Redis from the repo's docker-compose.
When should I NOT self-host Cal.diy?
You're a business. The project itself says it is strictly recommended for personal, non-production use, and Teams, Organizations, Workflows, Insights and SSO were removed. A team that needs shared scheduling should pay for hosted Cal.com or look at Easy!Appointments.
What is the most common mistake when self-hosting Cal.diy?
The docs tell you to pull the calcom/cal.diy image from Docker Hub, but on 2026-09-30 that repository had no tags and had never been pulled, so you have to build it yourself. The build bakes your address in: NEXT_PUBLIC_WEBAPP_URL is a build-time variable, and a wrong or changed domain sends logins back to localhost:3000 until you rebuild. Build on an 8 GB machine (the Dockerfile reserves a 6 GB Node heap), push the image to your own registry and run it on the small server.
The Macrostack brief

New swaps, worth your inbox.

A short, occasional email when we add a high-intent alternative or ship a new head-to-head. No spam, no selling your address — unsubscribe in one click.