Files
k-tv/.env.example

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