Railway

Deploy Cal.com | (Just Updated) Calendly Alternative Nobody Else Can Claim First

Admin seeded before first boot, so no stranger can claim your instance.

Deploy Cal.com | (Just Updated) Calendly Alternative Nobody Else Can Claim First

Just deployed

/var/lib/postgresql

Just deployed

Deploy and Host Cal.com on Railway

Cal.com is the open-source Calendly alternative: booking pages, availability rules, buffers, round-robin and collective events, team scheduling, calendar sync (Google, Outlook, CalDAV), payments, workflows and a full REST API — running on your own domain, with your own database.

This template deploys Cal.com with the administrator account already created. On a stock Cal.com deployment nobody is created at all, and POST /api/auth/setup — the route that makes the first admin — has no authentication of its own; its only gate is prisma.user.count() !== 0. Whoever reaches the public URL first becomes the instance owner, and everyone after them gets 400 "No setup needed." forever, with no password reset path that works without SMTP. Here the admin is seeded from the deploy's own generated secret before the web server binds a port, so the very first request the domain ever serves already meets a claimed instance.

About Hosting Cal.com

Cal.com is a Next.js application backed by PostgreSQL. It migrates its schema forward on every boot and seeds its app store, so the first deploy takes several minutes before it answers; after that it is a single long-lived web service. All state — users, bookings, availability, calendar credentials, avatars — lives in PostgreSQL, so the app itself needs no volume and the database is the only thing to back up.

This template runs two services: the Cal.com web app on a pinned upstream release (v6.2.0), and PostgreSQL 17 on a persistent volume. The app image is a thin wrapper that seeds the administrator, closes public sign-up, re-applies the admin password on every boot, refuses to start with an empty admin password, and passes the platform's injected PORT through to Next.js (Turborepo 2's strict env mode otherwise drops it and the app binds 3000 regardless).

Why Deploy Cal.com on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Cal.com on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

Cal.com in particular benefits: the private network wires the app to PostgreSQL with no exposed database port, the generated domain becomes the booking URL automatically, and a redeploy is how you rotate the admin password — this image re-applies it from the environment on every boot.

Common Use Cases

  • Replace Calendly with a self-hosted booking page on your own domain, at no per-seat cost.
  • Run team scheduling — round-robin sales calls, collective interviews, managed event types.
  • Embed booking into a product or website, or drive it from Cal.com's REST API.
  • Keep client scheduling data (names, emails, meeting notes) inside infrastructure you control.

Dependencies for Cal.com

  • PostgreSQL 16 or newer, deployed by this template as a second service on a volume.

Deployment Dependencies

After deploying

  1. Open the deployment's Variables tab and copy CALCOM_ADMIN_EMAIL and CALCOM_ADMIN_PASSWORD — that is your login, and it already exists.
  2. Sign in at /auth/login and change the email address to your own under Settings → Profile.
  3. To rotate the password later, edit CALCOM_ADMIN_PASSWORD and redeploy; the new value is applied on boot.
  4. Public sign-up is disabled (NEXT_PUBLIC_DISABLE_SIGNUP=true). Invite the people you want from Settings → Teams, or set that variable to false if you deliberately want an open instance.
  5. Optional: set EMAIL_FROM and the EMAIL_SERVER_* variables to send booking confirmations, and add Google/Microsoft credentials for calendar sync.

Template Content

More templates in this category

View Template
Rocky Linux
[Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
42
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51