2026-05-02 19:46:42 -05:00
|
|
|
|
# ── Database ──────────────────────────────────────────────────────────────────
|
|
|
|
|
|
DATABASE_URL="postgresql://storybid:storybid@localhost:5432/storybid"
|
|
|
|
|
|
|
|
|
|
|
|
# ── Redis (optional – queues, rate limiting, Socket.io scaling) ───────────────
|
|
|
|
|
|
REDIS_URL="redis://localhost:6379"
|
|
|
|
|
|
|
|
|
|
|
|
# ── App ───────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
NODE_ENV=development
|
|
|
|
|
|
PORT=3001
|
|
|
|
|
|
# Public FQDN used as first-choice endpoint; fall back to LOCAL_HOSTNAME
|
|
|
|
|
|
PUBLIC_URL="https://bid.example.org"
|
|
|
|
|
|
# Local DNS hostname on event Wi-Fi (UniFi local DNS record)
|
|
|
|
|
|
LOCAL_HOSTNAME="auction.event.lan"
|
|
|
|
|
|
JWT_SECRET="change-me-in-production"
|
|
|
|
|
|
|
|
|
|
|
|
# ── Stripe ────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
STRIPE_SECRET_KEY="sk_test_..."
|
2026-05-04 14:52:15 -05:00
|
|
|
|
STRIPE_PUBLISHABLE_KEY="pk_test_..."
|
2026-05-02 19:46:42 -05:00
|
|
|
|
STRIPE_WEBHOOK_SECRET="whsec_..."
|
|
|
|
|
|
|
|
|
|
|
|
# ── Twilio Verify (SMS OTP) ───────────────────────────────────────────────────
|
|
|
|
|
|
TWILIO_ACCOUNT_SID="ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
|
|
|
|
TWILIO_AUTH_TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
|
|
|
|
TWILIO_VERIFY_SERVICE_SID="VAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
|
|
|
|
|
|
|
|
|
|
# ── Media storage (local disk) ────────────────────────────────────────────────
|
|
|
|
|
|
# Absolute path where uploaded files are stored on the server.
|
|
|
|
|
|
# In Docker this is the mount point of the media_data volume (/app/uploads).
|
|
|
|
|
|
# In dev it defaults to packages/server/uploads/ (relative to server cwd).
|
|
|
|
|
|
UPLOAD_DIR=/app/uploads
|
|
|
|
|
|
# Public URL prefix that the server serves files under.
|
|
|
|
|
|
# With the default nginx/proxy setup this is just /media (same origin).
|
|
|
|
|
|
MEDIA_BASE_URL=/media
|
|
|
|
|
|
|
|
|
|
|
|
# ── Email (magic links + receipts) ───────────────────────────────────────────
|
|
|
|
|
|
SMTP_HOST="smtp.example.com"
|
|
|
|
|
|
SMTP_PORT=587
|
|
|
|
|
|
SMTP_USER="noreply@example.com"
|
|
|
|
|
|
SMTP_PASS="..."
|
|
|
|
|
|
EMAIL_FROM="Storybid <noreply@example.com>"
|