Latte look · Bootstrap 5

OpenRSVP: accountless RSVPs with magic links.

FastAPI + SQLite powered RSVPs built around capability links. Operator-focused docs live here; guests and event owners should use the in-app /help page for end-user guidance.

Core principles
  • • Accountless capabilities via magic links
  • • Privacy-first: minimal fields, optional private RSVPs
  • • Ephemeral data with hourly decay and cleanup
  • • Channels for lightweight grouping (public or private)
  • • Bootstrap UI with a Catppuccin Latte palette

Documentation Map

Pick a guide

Each topic now lives on its own page while keeping the same Latte styling.

Structure Multi-page

Philosophy

Why OpenRSVP stays accountless

Capability links keep friction low for organizers and guests. Tokens are the single source of truth—there are no usernames, passwords, or analytics tags.

  • Guests own their RSVP state; organizers can delete but never edit on their behalf.
  • Root admins provide visibility and decay control rather than impersonation powers.
  • Ephemeral storage is intentional: events decay and disappear without manual pruning.

Deployment

Single-container friendly

FastAPI, APScheduler, and SQLite live in one Docker image. Use openrsvp upgrade-container to rebuild, restart, and prune the dev container with a single command.

  • Dockerfile is based on ghcr.io/astral-sh/uv:python3.12-bookworm-slim.
  • uv sync runs during build so the runtime image carries a ready-to-use virtualenv.
  • Mount ~/OpenRSVP/data (or any path) to persist SQLite data across rebuilds.