33 lines
1.8 KiB
Plaintext
33 lines
1.8 KiB
Plaintext
# =============================================================================
|
|
# DailyMeals environment configuration
|
|
# Copy this file to ".env" and fill in real values. Never commit ".env".
|
|
# =============================================================================
|
|
|
|
# ---- Database (external PostgreSQL server) ----------------------------------
|
|
# PostgreSQL connection string in Npgsql format. The database already exists and
|
|
# is already populated — the app only connects, it does not create or migrate it.
|
|
# Example:
|
|
DB_CONNECTION_STRING=Host=your-db-host;Port=5432;Database=mealplan;Username=user;Password=secret
|
|
|
|
# ---- JWT authentication -----------------------------------------------------
|
|
# Secret signing key for JWT access tokens. MUST be at least 32 characters.
|
|
# Generate one with: openssl rand -base64 48
|
|
JWT_SECRET=replace-with-a-long-random-secret-at-least-32-chars
|
|
|
|
# Token issuer and audience (any stable identifiers for your deployment).
|
|
JWT_ISSUER=DailyMeals
|
|
JWT_AUDIENCE=DailyMeals
|
|
|
|
# ---- CORS -------------------------------------------------------------------
|
|
# The exact origin the browser uses to reach the frontend. The API only allows
|
|
# cross-origin requests from this origin. Behind the bundled nginx (same origin)
|
|
# CORS is not strictly required, but set it to your public URL for safety.
|
|
# Example for local docker compose: https://localhost
|
|
# Production: https://meals.example.com (must match the browser URL exactly)
|
|
CORS_ALLOWED_ORIGIN=https://localhost
|
|
|
|
# ---- Production TLS (optional, Linux server with Let's Encrypt) --------------
|
|
# Used with docker-compose.tls.yml — paths on the HOST, mounted into nginx.
|
|
# TLS_CERT_PATH=/etc/letsencrypt/live/meals.example.com/fullchain.pem
|
|
# TLS_KEY_PATH=/etc/letsencrypt/live/meals.example.com/privkey.pem
|