Repository Public
1# SP Calendar — configuration. Copy to .env (chmod 600). Never commit .env.23# PostgreSQL 17 (extensions btree_gist and citext are created by the first migration).4DATABASE_URL=postgres://spcal_app:CHANGE_ME@127.0.0.1:5432/sp_calendar56# Public origin of the site. The WebAuthn relying-party id is its host name: passkeys are bound to it.7APP_URL=https://calendar.spboucher.ai89# At least 32 random characters (openssl rand -hex 32). Signs form tokens, derives visitor link tokens and the10# encryption key of external calendar addresses. Changing it invalidates every visitor link.11APP_SECRET=1213# Owner account created by scripts/bootstrap.ts on first run.14OWNER_EMAIL=15OWNER_NAME=1617# E-mail transport: none | resend | smtp ("test" exists for automated tests only and is refused in production)18# With "none", notifications are parked as "unconfigured" and shown as such in the admin area.19MAIL_TRANSPORT=none20MAIL_FROM="SP Calendar <calendar@example.com>"21RESEND_API_KEY=22SMTP_URL=smtps://user:password@smtp.example.com:4652324# Public form: submissions accepted per IP address (defaults 8 per hour, 30 per day).25# PUBLIC_SUBMIT_PER_HOUR=826# PUBLIC_SUBMIT_PER_DAY=302728# Where scripts/bootstrap.ts writes the one-time passkey enrolment link (file mode 600).29SETUP_URL_FILE=3031# Backups (scripts/backup.sh): target directory and the file holding the encryption passphrase.32BACKUP_DIR=33BACKUP_PASSPHRASE_FILE=34