-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path.env.example
More file actions
64 lines (54 loc) · 4.58 KB
/
Copy path.env.example
File metadata and controls
64 lines (54 loc) · 4.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# ─── Server ────────────────────────────────────────────
PORT=3000
HOST=0.0.0.0
LOG_LEVEL=info
NODE_ENV=production
# Set to true when running behind a reverse proxy (e.g., nginx, Caddy, Traefik).
# Only the first proxy hop is trusted; rate limiting uses a spoof-resistant key.
# TRUST_PROXY=false
# Public-facing base URL — required when behind a reverse proxy
# Used for CalDAV/CardDAV discovery, .mobileconfig generation, and OIDC callback fallback
# EXTERNAL_URL=https://myhouse.example.com
# ─── Database ──────────────────────────────────────────
DATABASE_URL=/app/data/cornerstone.db
# ─── Session ───────────────────────────────────────────
SESSION_DURATION=604800
SECURE_COOKIES=true
# ─── Localization ──────────────────────────────────────
# CURRENCY=EUR # ISO 4217 currency code (EUR, USD, CHF, etc.)
# ─── Diary ─────────────────────────────────────────────
# DIARY_AUTO_EVENTS=true # Set to false to disable automatic diary event logging
# DIARY_DRAFT_RETENTION_DAYS=30 # Days a draft entry sits untouched before automatic cleanup (0 = disabled)
# PHOTO_STORAGE_PATH=/app/data/photos # Directory for diary photo attachments (originals + annotated copies)
# PHOTO_MAX_FILE_SIZE_MB=20 # Maximum photo upload size in MB
# ─── OIDC ──────────────────────────────────────────────
# OIDC_ISSUER=https://auth.example.com/realms/main
# OIDC_CLIENT_ID=cornerstone
# OIDC_CLIENT_SECRET=your-client-secret
# ─── Backup ───────────────────────────────────────────
BACKUP_DIR=/backups # Backup destination directory (default: /backups, must be outside app data directory)
# BACKUP_CADENCE=0 2 * * * # Cron expression for scheduled backups (e.g., daily at 2 AM)
# BACKUP_RETENTION=7 # Maximum number of backup archives to retain
# ─── Paperless-ngx ─────────────────────────────────────
# PAPERLESS_URL=http://paperless-ngx:8000
# PAPERLESS_API_TOKEN=your-paperless-api-token
# PAPERLESS_EXTERNAL_URL=https://paperless.example.com # Optional: browser-accessible URL for "View in Paperless-ngx" links
# PAPERLESS_FILTER_TAG=cornerstone # Optional: only show documents with this Paperless-ngx tag
# ─── Auto-itemize (LLM) ────────────────────────────────
# Optional. Set all three core vars to enable extracting line items from
# Paperless OCR text. Works with any OpenAI-compatible /v1/chat/completions
# endpoint (Anthropic, OpenAI, Gemini, OpenRouter, Ollama, LiteLLM, …).
# When unset, GET /api/config returns autoItemizeEnabled: false and the UI hides the button.
# LLM_BASE_URL=https://api.anthropic.com/v1
# LLM_API_KEY=your-llm-api-key
# LLM_MODEL=claude-haiku-4-5 # e.g. gemini-2.5-flash, gpt-4o-mini, llama3
# LLM_REQUEST_TIMEOUT_MS=30000 # Default: 30000
# LLM_MAX_TOKENS=16384 # Max output tokens per call.
# # Default 16384 handles 100+ line invoices.
# # Increase if you see LLM_INVALID_RESPONSE
# # with finishReason="length".
# LLM_PROVIDER= # Optional: openai|anthropic|gemini|ollama|generic
# # Auto-detected from LLM_BASE_URL when unset.
# # Different providers require different request
# # shapes (Anthropic needs json_schema, not json_object).
# # Override only if auto-detect misses your provider.