
Deploy Car.rs
calendar, scheduling, cal.com, calendarly, cal.rs
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/calrsfor 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
- Cal.rs website: https://cal.rs
- Documentation: https://cal.rs/docs/
- GitHub repository: https://github.com/olivierlambert/calrs
- Pre-built Docker images (GHCR): https://github.com/olivierlambert/calrs/pkgs/container/calrs
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:latestCALRS_BASE_URL