# Database DATABASE_URL=postgres://projectx:projectx@localhost:5432/projectx # App PORT=3000 NODE_ENV=development # Auth JWT_SECRET=change-me-in-production JWT_EXPIRES_IN=15m JWT_REFRESH_EXPIRES_IN=7d # Required in production for initial /auth/setup (x-setup-token header) SETUP_BOOTSTRAP_TOKEN= # Storage # App data directory for cover images and generated files. # This path resolves relative to server/ (where the process runs). # ../local/data points to /local/data. # In production/Docker this is typically an absolute path like /data. BOOKS_PATH=../local/data # Staging (optional — defaults to {BOOKS_PATH}/staging) # Directory where staging files are uploaded and watched for new drops. # STAGING_PATH=../local/data/staging # OIDC (optional — configure via admin settings UI; these are just for reference) # OIDC config is stored in the database (app_settings table, key: oidc_config) # SMTP (optional — if unset, self-service password reset is disabled) SMTP_HOST= SMTP_PORT=587 SMTP_SECURE=false SMTP_USER= SMTP_PASS= SMTP_FROM=noreply@yourdomain.com APP_URL=http://localhost:5173