40 lines
2.4 KiB
Bash
40 lines
2.4 KiB
Bash
# ── 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_..."
|
||
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>"
|