Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
90 lines (79 loc) · 3.07 KB
/
Copy path.env.example
File metadata and controls
90 lines (79 loc) · 3.07 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
BETTER_AUTH_SECRET=spliit-test-secret
DATABASE_URL=postgresql://postgres:1234@localhost
POSTGRES_PORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=1234
POSTGRES_DB=postgres
# Prisma connection pool (per process).
# total PostgreSQL connections =
# API replicas × (API Prisma pool + API pg-boss pool)
# + worker replicas × (worker Prisma pool + worker pg-boss pool)
# + migration and administrative reserve
DATABASE_POOL_SIZE=10
DATABASE_POOL_ACQUIRE_TIMEOUT_MS=5000
DATABASE_TRANSACTION_MAX_WAIT_MS=2000
DATABASE_TRANSACTION_TIMEOUT_MS=5000
DATABASE_APPLICATION_NAME=spliit
PUBLIC_DEFAULT_CURRENCY_CODE="USD"
VITE_DEFAULT_CURRENCY_CODE="USD"
VITE_API_URL="http://localhost:3001"
# General Spliit local-development settings. Keep these on localhost when
# using the app and Inspector locally.
# When connecting ChatGPT or Claude, temporarily replace these three values
# with the public API/web tunnel URLs shown below as well.
BETTER_AUTH_URL="http://localhost:3001"
WEB_ORIGINS="http://localhost:3000"
# MCP-only settings. ChatGPT and Claude cannot reach localhost. Start one
# tunnel per local service, copy the HTTPS URLs they print, and replace the
# sample origins:
# The MCP server uses these values to reach the public OAuth/API/web origins.
MCP_PUBLIC_URL="cloudflared tunnel --url http://localhost:3002"
MCP_API_URL="cloudflared tunnel --url http://localhost:3001"
MCP_WEB_URL="cloudflared tunnel --url http://localhost:3000"
# API-only: encrypts assistant confirmation tokens. Never share with MCP or
# reuse BETTER_AUTH_SECRET. Generate with: openssl rand -hex 32
ASSISTANT_CONFIRMATION_SECRET=
# Local object storage (MaxIO)
PUBLIC_ENABLE_EXPENSE_DOCUMENTS=true
MAXIO_PORT=9000
MAXIO_ACCESS_KEY=maxioadmin
MAXIO_SECRET_KEY=maxioadmin
MAXIO_DEFAULT_BUCKETS=spliit-local
MAXIO_REGION=us-east-1
S3_UPLOAD_BUCKET=spliit-local
S3_UPLOAD_KEY=maxioadmin
S3_UPLOAD_SECRET=maxioadmin
S3_UPLOAD_REGION=us-east-1
S3_UPLOAD_ENDPOINT="http://localhost:9000"
S3_UPLOAD_PUBLIC_URL="http://localhost:9000/spliit-local"
SMTP_HOST=localhost
SMTP_PORT=1025
SMTP_USER=""
SMTP_PASS=""
EMAIL_FROM="Spliit Cloud Local <no-reply@spliit.local>"
# Web Push (generate with `bunx web-push generate-vapid-keys`). Required
# together in production; keep the private key secret.
PUSH_VAPID_PUBLIC_KEY=
PUSH_VAPID_PRIVATE_KEY=
PUSH_VAPID_SUBJECT=mailto:admin@yourdomain.com
# Stateless optional-email unsubscribe links. Generate with:
# openssl rand -hex 32
EMAIL_UNSUBSCRIBE_SECRET=
# Background worker.
JOBS_ENABLED=true
JOBS_RECONCILIATION_CRON=*/30 * * * *
JOBS_NOTIFICATION_RECONCILE_CRON=*/15 * * * *
JOBS_MAX_CONCURRENCY=1
JOBS_POLLING_INTERVAL_SECONDS=60
JOBS_MAINTENANCE_POLLING_INTERVAL_SECONDS=300
JOBS_POOL_SIZE=8
JOBS_RETRY_LIMIT=5
JOBS_RETRY_BACKOFF_SECONDS=30
JOBS_RETENTION_SECONDS=604800
PGBOSS_SCHEMA=pgboss
# Worker health check thresholds. Readiness returns 503 when the oldest
# runnable notification.deliver job exceeds the lag threshold, or when
# non-terminal deliveries without a live transport job exceed the
# missing-transport threshold.
HEALTH_RUNNABLE_LAG_THRESHOLD_MS=900000
HEALTH_MISSING_TRANSPORT_THRESHOLD=10