Connect your CalDAV calendar, define bookable meetings, share a link. No Node.js, no PostgreSQL, no SaaS subscription. Just a single Rust binary.
A complete scheduling platform that runs on your infrastructure. No vendor lock-in, no monthly fees.
Pull events from Nextcloud, BlueMind, Fastmail, iCloud, Google, and more. Auto-discovery via RFC 4791. Write confirmed bookings back to your calendar.
Free/busy computed from availability rules, synced calendar events, existing bookings, buffer times, and minimum notice. RRULE expansion for recurring events.
Guest timezone auto-detected from the browser. Slots displayed in the visitor's timezone. Full IANA timezone database support.
HTML emails with .ics calendar invites. Approve or decline pending bookings directly from the email — no login required.
OIDC group sync from Keycloak. Group event types with combined availability and automatic round-robin assignment to the least-busy member.
Local accounts with Argon2 hashing or OIDC SSO (Keycloak, Authentik, Auth0). Authorization code + PKCE. User impersonation for admins.
Clean, responsive web interface. Dashboard, admin panel, public booking pages, and availability troubleshoot timeline. Dark mode via prefers-color-scheme.
No runtime dependencies. SQLite storage in a single WAL-mode file. Ships as one binary — deploy with Docker, systemd, or just run it.
Manage everything headless: sources, sync, event types, bookings, users, SMTP config. Perfect for automation and scripting.
A clean, focused booking experience for your guests and a powerful dashboard for you.
Pick your preferred method. The first user to register becomes admin.
# Build and run with Docker (or Podman) docker build -t calrs . docker run -d --name calrs \ -p 3000:3000 \ -v calrs-data:/var/lib/calrs \ -e CALRS_BASE_URL=https://cal.example.com \ calrs # Open http://localhost:3000 and register
# docker-compose.yml services: calrs: build: . ports: - "3000:3000" volumes: - calrs-data:/var/lib/calrs environment: - CALRS_BASE_URL=https://cal.example.com restart: unless-stopped volumes: calrs-data:
# Build from source cargo build --release # Install binary + templates sudo cp target/release/calrs /usr/local/bin/ sudo cp -r templates /var/lib/calrs/templates # Create system user and start sudo useradd -r -s /bin/false -m -d /var/lib/calrs calrs sudo cp calrs.service /etc/systemd/system/ sudo systemctl enable --now calrs
# Clone and run from source git clone https://github.com/olivierlambert/calrs.git cd calrs cargo build --release ./target/release/calrs serve --port 3000 # Register at http://localhost:3000
No JavaScript frameworks. No microservices. Just Rust, SQLite, and HTML templates.
calrs is free, open source, and self-hostable. Star the repo, try it out, and join the community.