51f95e0fd6
Part of GRO-802 monorepo breakdown. Changes: - Extract apps/api/ as the main API service - Inline packages/db/ (database schema, migrations, utilities) - Inline packages/types/ (shared TypeScript types) - Add CI workflow for lint, typecheck, test, build, docker - Port Dockerfile with 4 stages: runner, migrate, seed, reset Co-Authored-By: Paperclip <noreply@paperclip.ing>
37 lines
2.1 KiB
Bash
37 lines
2.1 KiB
Bash
# Groom Book — Environment Variables
|
|
# Copy this file to .env and adjust values for your deployment.
|
|
|
|
# ── Database ──────────────────────────────────────────────────────────────────
|
|
DATABASE_URL=postgres://groombook:groombook@postgres:5432/groombook
|
|
|
|
# ── Authentication ────────────────────────────────────────────────────────────
|
|
# Set AUTH_DISABLED=true to skip OIDC validation (useful for local dev/Docker).
|
|
# In production, configure an Authentik instance and set these values.
|
|
AUTH_DISABLED=false
|
|
OIDC_ISSUER=https://authentik.example.com
|
|
OIDC_AUDIENCE=groombook
|
|
|
|
# ── Setup Wizard ─────────────────────────────────────────────────────────────
|
|
# When SKIP_OOBE=true, the setup wizard is bypassed regardless of whether a
|
|
# super user exists in the database. Useful in dev/test environments where the
|
|
# database has data but the setup wizard would otherwise block access.
|
|
SKIP_OOBE=false
|
|
|
|
# ── API ───────────────────────────────────────────────────────────────────────
|
|
PORT=3000
|
|
CORS_ORIGIN=http://localhost:8080
|
|
|
|
# ── Email Reminders (optional) ────────────────────────────────────────────────
|
|
# Leave SMTP_HOST unset to disable email notifications entirely.
|
|
# When configured, appointment confirmation and reminder emails are sent via SMTP.
|
|
SMTP_HOST=smtp.example.com
|
|
SMTP_PORT=587
|
|
SMTP_SECURE=false
|
|
SMTP_USER=user@example.com
|
|
SMTP_PASS=password
|
|
SMTP_FROM="Groom Book <noreply@example.com>"
|
|
|
|
# Hours before appointment to send reminder emails (defaults: 24 and 2)
|
|
REMINDER_HOURS_EARLY=24
|
|
REMINDER_HOURS_LATE=2
|