62 lines
3.2 KiB
Plaintext
62 lines
3.2 KiB
Plaintext
# Copy this file to .env and fill in the values before running `docker compose up`.
|
|
|
|
# ── Ports (optional, defaults shown) ─────────────────────────────────────────
|
|
BACKEND_PORT=3000
|
|
FRONTEND_PORT=3001
|
|
|
|
# ── Auth ──────────────────────────────────────────────────────────────────────
|
|
# Generate: openssl rand -hex 32
|
|
JWT_SECRET=change-me-generate-with-openssl-rand-hex-32
|
|
|
|
# Generate: openssl rand -base64 64
|
|
COOKIE_SECRET=change-me-must-be-at-least-64-characters-long-for-production!!
|
|
|
|
JWT_EXPIRY_HOURS=24
|
|
|
|
# Set to false to disable new user registration (existing users can still log in)
|
|
ALLOW_REGISTRATION=true
|
|
|
|
# Set to true when serving over HTTPS
|
|
SECURE_COOKIE=false
|
|
PRODUCTION=false
|
|
|
|
# ── CORS ──────────────────────────────────────────────────────────────────────
|
|
# Origin(s) from which the browser will hit the backend, comma-separated.
|
|
# Must match what users type in their browser for the frontend.
|
|
# Example (local): http://localhost:3001
|
|
# Example (remote): https://tv.example.com
|
|
CORS_ALLOWED_ORIGINS=http://localhost:3001
|
|
|
|
# ── Frontend / API URL ────────────────────────────────────────────────────────
|
|
# Public URL of the BACKEND, as seen from the user's browser.
|
|
# This is baked into the Next.js client bundle at build time.
|
|
# Example (local): http://localhost:3000/api/v1
|
|
# Example (remote): https://api.example.com/api/v1
|
|
NEXT_PUBLIC_API_URL=http://localhost:3000/api/v1
|
|
|
|
# ── Jellyfin ──────────────────────────────────────────────────────────────────
|
|
JELLYFIN_BASE_URL=http://jellyfin:8096
|
|
JELLYFIN_API_KEY=your-jellyfin-api-key-here
|
|
JELLYFIN_USER_ID=your-jellyfin-user-id-here
|
|
|
|
# ── Database pool (optional) ──────────────────────────────────────────────────
|
|
DB_MAX_CONNECTIONS=5
|
|
DB_MIN_CONNECTIONS=1
|
|
|
|
# ── PostgreSQL (optional, uncomment db service in compose.yml first) ──────────
|
|
# POSTGRES_PASSWORD=change-me
|
|
|
|
# ── Traefik (only needed with compose.traefik.yml) ────────────────────────────
|
|
# External Docker network Traefik is attached to
|
|
TRAEFIK_NETWORK=traefik_proxy
|
|
# Traefik entrypoint (usually websecure for HTTPS, web for HTTP)
|
|
TRAEFIK_ENTRYPOINT=websecure
|
|
# Cert resolver defined in your Traefik static config
|
|
TRAEFIK_CERT_RESOLVER=letsencrypt
|
|
# Public hostnames routed by Traefik
|
|
FRONTEND_HOST=tv.example.com
|
|
BACKEND_HOST=tv-api.example.com
|
|
# When using Traefik, update these to the public URLs:
|
|
# NEXT_PUBLIC_API_URL=https://tv-api.example.com/api/v1
|
|
# CORS_ALLOWED_ORIGINS=https://tv.example.com
|