# ── Supabase ── PUBLIC_SUPABASE_URL=your_supabase_url PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key # Service role key — required for admin operations (invite emails, etc.) # Find it in Supabase Dashboard → Settings → API → service_role key SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key # ── Google ── GOOGLE_API_KEY=your_google_api_key # Google Service Account for Calendar push (create/update/delete events) # Paste the full JSON key file contents, or base64-encode it # The calendar must be shared with the service account email (with "Make changes to events" permission) GOOGLE_SERVICE_ACCOUNT_KEY= # ── Matrix / Synapse (optional — chat is not yet enabled) ── # The homeserver URL where your Synapse instance is running MATRIX_HOMESERVER_URL=https://matrix.example.com # Synapse Admin API shared secret or admin access token # Used to auto-provision Matrix accounts for users MATRIX_ADMIN_TOKEN= # ── Docker / Production ── # Public URL of the app — required by SvelteKit node adapter for CSRF protection # Set this to your actual domain in production (e.g. https://app.example.com) ORIGIN=http://localhost:3000