mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 08:21:39 -06:00
385b4f12b1
- add local provider icon assets and a shared providerIconPath helper for metadata providers - switch provider links in book details and quick view to use bundled SVG icons - proxy external metadata cover URLs through /api/v1/books/cover/proxy for display while keeping same-origin/data/blob URLs untouched - apply proxied display cover URLs in metadata diff/result UI and Book Dock surfaces - keep raw provider cover URLs in metadata patches and add composable tests for proxy behavior - add optional CSP_ALLOW_CLOUDFLARE_INSIGHTS env support and document it in server/root env examples and README - wire conditional Cloudflare Insights script/connect sources into CSP directives - remove pino HTTP customProps context injection to avoid duplicated context labels - reduce file-write log noise by using debug level for write start and auto-skipped completions - tune entity-manager duplicate scans by setting pg_trgm similarity_threshold per query/transaction to align with minSimilarity and prevent scan blowups
53 lines
1.8 KiB
Bash
53 lines
1.8 KiB
Bash
# Database
|
|
DATABASE_URL=postgres://bookorbit:bookorbit@localhost:5432/bookorbit
|
|
|
|
# App
|
|
PORT=3000
|
|
NODE_ENV=development
|
|
|
|
# Auth
|
|
JWT_SECRET=change-me-in-production
|
|
JWT_EXPIRES_IN=15m
|
|
JWT_REFRESH_EXPIRES_IN=7d
|
|
# Required in production for initial /auth/setup (x-setup-token header)
|
|
SETUP_BOOTSTRAP_TOKEN=
|
|
|
|
# Storage
|
|
# App data directory for covers, author images, user avatars, and cache.
|
|
# This path resolves relative to server/ (where the process runs).
|
|
# ../local/data points to <project-root>/local/data.
|
|
APP_DATA_PATH=../local/data
|
|
|
|
# File write scheduler and concurrency tuning (optional)
|
|
# FILE_WRITE_DEBOUNCE_MS=3000
|
|
# FILE_WRITE_MAX_CONCURRENT_WRITES=2
|
|
|
|
# Optional: allow Cloudflare Web Analytics beacon in CSP when automatic setup is enabled.
|
|
# Keep unset/false to preserve strict CSP (`script-src 'self'`).
|
|
# CSP_ALLOW_CLOUDFLARE_INSIGHTS=false
|
|
|
|
# OIDC (optional — configure via admin settings UI; these are just for reference)
|
|
# OIDC config is stored in the database (app_settings table, key: oidc_config)
|
|
|
|
# OIDC runtime tuning (optional — uncomment to override defaults)
|
|
# OIDC_STATE_TTL_SECS=600
|
|
# OIDC_DISCOVERY_CACHE_TTL_SECS=3600
|
|
# OIDC_JWKS_CACHE_TTL_SECS=3600
|
|
# OIDC_CLOCK_TOLERANCE_SECS=30
|
|
# OIDC_TOKEN_EXCHANGE_TIMEOUT_MS=10000
|
|
|
|
# App URL (used for building password reset links in emails)
|
|
APP_URL=http://localhost:5173
|
|
|
|
# Email encryption key (optional but recommended — 64-char hex string for AES-256)
|
|
# Generate with: openssl rand -hex 32
|
|
# EMAIL_ENCRYPTION_KEY=
|
|
|
|
# Migration encryption key (optional but recommended — 64-char hex string for AES-256)
|
|
# Encrypts source connection config (database passwords) at rest.
|
|
# Generate with: openssl rand -hex 32
|
|
# MIGRATION_ENCRYPTION_KEY=
|
|
|
|
# SMTP for system emails (password reset) is configured via the admin UI,
|
|
# not via environment variables.
|