Requirements
flexcal is a fully open-source, self-hosted scheduling platform, forked from cal.com and licensed under the AGPLv3. There is no license key and no vendor account: every feature that ships works out of the box. There is also no hosted version, so running it is on you.
Teams, organizations, workflows, the Platform API v2, SAML single sign-on, paid bookings and subscription billing are not part of this codebase. Google and Microsoft (Entra ID) single sign-on are supported, alongside password and magic-link login. See the open issues for what is being worked on.
What it needs
Section titled “What it needs”flexcal is a Next.js application backed by PostgreSQL.
Software
Section titled “Software”| Component | Version | Notes |
|---|---|---|
| Node.js | >= 20 | Runtime for the web app |
| Bun | >= 1.3.14 | The only supported package manager, pinned via packageManager in package.json |
| PostgreSQL | >= 13 | Any managed or self-run instance works |
| Git | any recent | Needed to clone the repository |
Hardware
Section titled “Hardware”Serving flexcal is modest: 1 vCPU and 2 GB of RAM is enough for a small instance.
Building from source is much heavier. The Next.js build wants a large Node heap:
export NODE_OPTIONS="--max-old-space-size=16384"Adjust the number to the RAM you are willing to give the build.
The Docker build uses the MAX_OLD_SPACE_SIZE build argument for the same purpose (default 6144).