-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.docker.example
More file actions
93 lines (82 loc) · 3.2 KB
/
Copy path.env.docker.example
File metadata and controls
93 lines (82 loc) · 3.2 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# Docker deployment template
# Usage:
# cp .env.docker.example .env.docker
# docker compose --env-file .env.docker up -d --build
# Core runtime
NODE_ENV=production
HOST=0.0.0.0
PORT=27015
APP_PORT=27015
# Public base URL used for invite links, notification deep links, and startup
# logs. Change this to your reverse-proxied HTTPS URL in production.
APP_URL=http://localhost:27015
# Authentication and sessions
AUTH_JWT_SECRET=replace-with-a-long-random-secret
AUTH_COOKIE_NAME=freemannotes_session
# Set this to true when the app is served behind HTTPS so session cookies are
# marked Secure even if TLS terminates at a reverse proxy.
# AUTH_COOKIE_SECURE=true
AUTH_SESSION_DAYS=14
AUTH_BCRYPT_ROUNDS=12
AUTH_ALLOW_REGISTER=true
# Storage and schema management
UPLOAD_DIR=/app/uploads
DB_SCHEMA_SYNC=deploy
# Set to true for one startup only if a prior failed install already created
# Freeman Notes tables and `prisma migrate deploy` now exits with P3005.
# DB_BASELINE_ON_NON_EMPTY=true
# Optional PostgreSQL display timezone for server-rendered timestamps.
# PGTIMEZONE=America/Regina
# Redis is recommended for reminder bell fan-out and required for multi-instance
# deployments that need cross-process pub/sub.
REDIS_URL=redis://redis:6379
# Optional LevelDB cache for Yjs hot persistence alongside PostgreSQL.
# YPERSISTENCE=
# Optional server-side debug logging.
# DEBUG_LOGGING=0
# Bundled PostgreSQL service
POSTGRES_USER=freemannotes
POSTGRES_PASSWORD=change-this-postgres-password
POSTGRES_DB=freemannotes
DATABASE_URL=postgresql://freemannotes:change-this-postgres-password@postgres:5432/freemannotes?schema=public
# SMTP for invite emails and email-mode notification fallback
# Registration still requires a valid email address because Freeman Notes
# identifies accounts by email and email-mode reminders are delivered there.
SMTP_HOST=
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=
SMTP_PASS=
SMTP_FROM=Freeman Notes <no-reply@example.com>
# OCR runtime
OCR_DISABLED=0
OCR_LOG_OUTPUT=0
# Override these only if you bring a custom OCR runtime or cache location.
# OCR_PYTHON_BIN=/opt/ocr-venv/bin/python
# PADDLE_HOME=/app/.paddleocr
# PADDLE_PDX_MODEL_SOURCE=BOS
# Optional housekeeping overrides
TRASH_CLEANUP_INTERVAL_MS=3600000
WORKSPACE_CLEANUP_INTERVAL_MS=3600000
WORKSPACE_CLEANUP_GRACE_MS=86400000
# External notifications — choose delivery per platform:
# auto = push when configured, otherwise email if SMTP is configured
# push = push only
# email = email only
# off = disable external reminder/test notifications for that platform
# Desktop browsers use WEB. Android browsers/PWAs use ANDROID. iOS uses IOS.
# WEB_NOTIFICATION_MODE=auto
# ANDROID_NOTIFICATION_MODE=auto
# IOS_NOTIFICATION_MODE=auto
# Push notifications — VAPID (Web / Android PWA)
# Generate a key pair with: npx web-push generate-vapid-keys
# VAPID_PUBLIC_KEY=
# VAPID_PRIVATE_KEY=
# VAPID_SUBJECT=mailto:admin@example.com
# Push notifications — Firebase Cloud Messaging (iOS via Capacitor)
# Download the service-account JSON from Firebase Console →
# Project Settings → Service Accounts → Generate new private key
# FCM_PROJECT_ID=
# FCM_CLIENT_EMAIL=
# Keep embedded newlines escaped as \n when storing the private key in env.
# FCM_PRIVATE_KEY=