Railway

Deploy Car.rs

calendar, scheduling, cal.com, calendarly, cal.rs

Deploy Car.rs

olivierlambert/calrs:latest

olivierlambert/calrs:latest

Just deployed

/var/lib/calrs

Deploy and Host Cal.rs on Railway

Cal.rs is a fast, self-hostable scheduling platform written in Rust — think Cal.com, but shipped as a single binary with SQLite storage and zero external runtime dependencies. Connect a CalDAV calendar (Nextcloud, Fastmail, iCloud, BlueMind), define bookable meeting types, and share a link. Free, open source, and AGPL-3.0 licensed.

About Hosting Cal.rs

Hosting Cal.rs is unusually simple for a scheduling app: a single Rust binary serves HTTP on port 3000, persists everything to one SQLite WAL-mode file, and ships as a multi-arch (amd64/arm64) Docker image at ghcr.io/olivierlambert/calrs:latest. Deployment requires a persistent volume mounted at /var/lib/calrs to keep the SQLite database, accounts, and synced calendar data across restarts, plus the CALRS_BASE_URL environment variable set to your public Railway URL so booking links and email invites resolve correctly. SMTP credentials are optional but recommended so guests receive HTML confirmation emails with .ics invites.

Common Use Cases

  • Personal booking page that pulls free/busy from a self-hosted Nextcloud or Fastmail CalDAV calendar without sending data to a SaaS vendor
  • Team scheduling with round-robin or collective assignment, dynamic group links (/u/alice+bob/intro), and OIDC SSO via Keycloak or Authentik
  • Support and account-management rotations using booking watchers, where incoming requests are emailed to a team and claimed first-come

Dependencies for Cal.rs Hosting

  • A persistent volume mounted at /var/lib/calrs for the SQLite database
  • A reachable CalDAV server (Nextcloud, Fastmail, iCloud, BlueMind, etc.) — only required if you want calendar sync; Cal.rs runs without it
  • An SMTP relay for booking confirmation and approval emails (optional but strongly recommended)

Deployment Dependencies

Implementation Details

Railway service configuration:

  • Image: ghcr.io/olivierlambert/calrs:latest
  • Exposed port: 3000
  • Volume mount: /var/lib/calrs
  • Required env var: CALRS_BASE_URL=https://.up.railway.app

Equivalent docker run reference from the upstream install docs:

docker run -d --name calrs \
  -p 3000:3000 \
  -v calrs-data:/var/lib/calrs \
  -e CALRS_BASE_URL=https://cal.example.com \
  ghcr.io/olivierlambert/calrs:latest

The first user to register on the deployed instance automatically becomes the admin, so visit your Railway URL immediately after the first deploy and create that account before exposing the link publicly.

Why Deploy Cal.rs 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.rs 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.


Template Content

olivierlambert/calrs:latest

ghcr.io/olivierlambert/calrs:latest

More templates in this category

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

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

Letta
View Template
(v1) Simple Medusa Backend
Deploy an ecommerce backend and admin using Medusa

Shahed Nasser