Skip to content
flexcal Documentation

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.

flexcal is a Next.js application backed by PostgreSQL. Running it is lightweight; building it from source is the demanding part.

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

Only Docker and Docker Compose are needed if you run the published image rather than building from source.

Anything that runs Node.js works: Linux, macOS, Windows and BSD are all known to work. For production, Linux is the sensible choice.

Serving flexcal is modest: 2 vCPUs and 2–4 GB of RAM is enough for a small instance.

Building from source is much heavier. The Next.js build wants a large Node heap:

Terminal window
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).

  • Docker — recommended. A published multi-arch image plus a Compose file with Postgres.
  • From source — build and run the app directly on a host.
  • Development setup — a local environment for working on flexcal itself.