APP_URL=https://wp.spboucher.ai PORT=8560 NODE_ENV=production DATABASE_URL_ADMIN=postgres://@localhost:5432/wp_spboucher DATABASE_URL=postgres://wp_app:@localhost:5432/wp_spboucher DATABASE_URL_PUBLIC=postgres://wp_reader:@localhost:5432/wp_spboucher SESSION_SECRET=<64 random chars> OWNER_EMAIL=owner@example.org OWNER_INITIAL_PASSWORD= STORAGE_DIR=/Users//data/wp-spboucher-ai AI_PROVIDER=none # none | openai (embeddings only; the platform works without AI) OPENAI_API_KEY= OPENAI_EMBEDDING_MODEL=text-embedding-3-small AI_MONTHLY_BUDGET_USD=10 BACKUP_DIR=/Users//backups/wp-spboucher-ai BACKUP_PASSPHRASE= BACKUP_REMOTE= # optional rsync target host:path PG_BIN=/opt/homebrew/opt/postgresql@17/bin WORKER_POLL_MS=5000