.env.example is the template prod/new deployments copy; it was missing the runtime role password the app now requires (DATABASE_USER bookhoard_srv). Notes distinguish it from the bootstrap DBPASS and point existing-volume operators at the one-time z_rls_role.sh run.
52 lines
2.4 KiB
Bash
52 lines
2.4 KiB
Bash
# Environment Variables
|
|
# Copy this file to .env and update the values
|
|
# Only secrets are required - all other settings have defaults in docker-compose.yml
|
|
|
|
# JWT Secret for authentication (generate a secure random string)
|
|
# Generate with: openssl rand -hex 32
|
|
JWT_SECRET=your-secure-jwt-secret-key-here
|
|
|
|
# PostgreSQL database password (the bootstrap superuser account; kept
|
|
# for container initialization — the app itself connects as bookhoard_srv)
|
|
# Generate with: openssl rand -hex 16
|
|
DBPASS=your-secure-database-password-here
|
|
|
|
# Runtime database role password (bookhoard_srv — the non-superuser
|
|
# account the app connects as; subject to RLS). Required for the app to
|
|
# start. On a fresh volume it is consumed by database/schema/z_rls_role.sh
|
|
# during first initialization; on an existing volume, run that script once
|
|
# (see its header) BEFORE starting the app with DATABASE_USER=bookhoard_srv.
|
|
# Generate with: openssl rand -hex 16
|
|
DBSRVPASS=your-secure-runtime-role-password-here
|
|
|
|
# Networking: change a port if it conflicts on your host
|
|
# Postgres port, host + container (e.g. another local DB already uses 5432)
|
|
# DB_PORT=15432
|
|
# App web port, host + container
|
|
# SERVER_PORT=8765
|
|
|
|
# Deployment
|
|
# External URL for device sync (must include protocol; defaults to http://localhost:8765)
|
|
# Examples: https://bookhoard.example.com | http://192.168.1.10:8765
|
|
# BASE_URL=https://bookhoard.example.com
|
|
# Mark session cookies Secure — set true behind a TLS-terminating reverse proxy (Caddy/nginx/traefik)
|
|
# COOKIE_SECURE=true
|
|
# Pin or rollback a specific published image version (defaults to "latest")
|
|
# IMAGE_TAG=1.0.0
|
|
|
|
# Optional: Override Defaults (defaults are set in docker-compose.yml)
|
|
# Test Mode: WARNING - Only set to true for integration testing
|
|
# TEST_MODE=true
|
|
# Rate Limiting: Disable or increase limits for testing
|
|
# RATE_LIMIT_ENABLED=false
|
|
# REQUESTS_PER_MINUTE=1000
|
|
# Conversion Tool: Switch from kepubify to ebook-convert
|
|
# BOOKHOARD_CONVERSION_TOOL=/usr/bin/ebook-convert
|
|
# Conversion Cache TTL: Override default 24h
|
|
# BOOKHOARD_CONVERSION_CACHE_TTL=48h
|
|
# Archive Retention: days to keep archived items (files missing from disk for
|
|
# 2+ scans) before they are purged, deleting their reading history with them.
|
|
# Set 0 to keep archived items until purged manually on the library admin page.
|
|
# ARCHIVE_RETENTION_DAYS=90
|
|
# System timezone (fallback for server-side time operations, defaults to UTC)
|
|
# TZ=America/New_York |