openvibers/openvibe.fun .env.example

.env.example

main 3.5 KB · 95 lines · plaintext

1# OpenVibe.Fun — environment (production: /etc/openvibe/fun.env). Names only; never commit values.
2
3NODE_ENV=production
4PORT=5140
5HOST=127.0.0.1
6BASE_URL=https://openvibe.fun
7TRUST_PROXY=2
8
9# PostgreSQL (ADR-035), written by OpenVibe.Host roles/data/add-service.sh: the runtime role through PgBouncer,
10# the owner on a direct connection (migrations), and Valkey (shared counters/readiness).
11# Without DATABASE_URL, development uses an embedded PGlite database in data/pglite.
12DATABASE_URL=
13DATABASE_DIRECT_URL=
14VALKEY_URL=
15VALKEY_PREFIX=ov:fun:
16# Per-actor limits (server/http/api.js) and per-address limits (server/app.js).
17#FUN_LIMITS_MINUTE=120
18#FUN_LIMITS_HOUR=3000
19#FUN_API_RATE_LIMIT_PER_MIN=240
20#FUN_RATE_LIMIT_PER_MIN=300
21
22# OpenVibe.Network: SSO (OAuth client `fun`, PKCE S256), JWKS, and (only when FUN_COINS=on) OpenCoins.
23OV_NETWORK_URL=https://openvibe.network
24OV_NETWORK_INTERNAL_URL=http://127.0.0.1:4000
25# OV_NETWORK_ISSUER=https://openvibe.network
26OV_OAUTH_CLIENT_ID=fun
27OV_OAUTH_CLIENT_SECRET=
28# OV_OAUTH_REDIRECT_URI=https://openvibe.fun/auth/callback
29# FUN_AUDIENCE=openvibe.fun
30# OV_SESSION_AUDIENCE=openvibe.network
31# FUN_PGLITE_DIR=./data/pglite
32
33# OpenVibe.Events: account export/deletion deliveries to POST /internal/events. The secret signs a delivery
34# (comma-separated for rotation, 32+ characters each; unset makes the route answer 503). The subscription
35# needs the events.subscription.manage capability for svc:fun.
36FUN_EVENTS_SECRET=
37FUN_EVENTS_URL=
38# OpenVibe.Search's owner API: the queued Search documents (fun_outbox) are delivered there. Unset: they wait.
39#FUN_SEARCH_URL=http://127.0.0.1:4710
40#FUN_EVENTS_ENDPOINT=http://127.0.0.1:5140/internal/events
41#FUN_EVENTS_INTERVAL_MS=5000
42
43# Public upstreams. Live is the channel/live check; Chat is the public history Fun reads (never posts);
44# Today is called with the viewer's own token only.
45OV_LIVE_URL=https://openvibe.live
46OV_CHAT_URL=https://openvibe.chat
47OV_TODAY_URL=https://openvibe.today
48#FUN_UPSTREAM_TIMEOUT_MS=8000
49
50# OpenStreetMap: identify, pace, cache, bound. Ticketmaster is OFF unless TICKETMASTER_API_KEY is set.
51FUN_NOMINATIM_URL=https://nominatim.openstreetmap.org
52FUN_OVERPASS_URL=https://overpass-api.de/api/interpreter
53FUN_OSM_USER_AGENT=OpenVibeFun/0.1 (+https://openvibe.fun; [email protected])
54#[email protected]
55#FUN_OSM_MIN_INTERVAL_MS=1000
56#FUN_OSM_TIMEOUT_MS=20000
57#FUN_OSM_RETRY_AFTER_MS=120000
58#FUN_GEO_CACHE_TTL_MS=604800000
59#FUN_GEO_STALE_TTL_MS=2592000000
60#FUN_GUIDE_RADIUS_KM=5
61#FUN_GUIDE_MAX_RADIUS_KM=25
62#FUN_GUIDE_MAX_RESULTS=30
63
64# Ticketmaster Discovery: only read when this is set. Free API, never a paid provider; never log the key.
65#TICKETMASTER_API_KEY=
66# or the prefixed alias:
67#FUN_TICKETMASTER_API_KEY=
68#FUN_TICKETMASTER_URL=https://app.ticketmaster.com/discovery/v2/events.json
69#FUN_TICKETMASTER_MIN_INTERVAL_MS=1000
70#FUN_TICKETMASTER_TIMEOUT_MS=8000
71#FUN_TICKETMASTER_TTL_MS=900000
72#FUN_TICKETMASTER_STALE_TTL_MS=86400000
73#FUN_TICKETMASTER_RADIUS_KM=10
74#FUN_TICKETMASTER_SIZE=12
75
76# IRL quests and the read-only chat vote timer.
77#FUN_QUEST_VERIFY_VOTES=3
78#FUN_QUEST_MAX_SUGGESTIONS=30
79#FUN_QUEST_COINS=25
80#FUN_CHAT_SYNC_INTERVAL_MS=60000
81#FUN_CHAT_SYNC_LIMIT=200
82
83# OpenCoins (loyalty points, never money): off by default. When on, svc:fun needs identity.subject.resolve and
84# network.coins.credit, and the wallet applies these caps.
85FUN_COINS=off
86#FUN_COINS_DAILY_CAP=50
87#FUN_COINS_GLOBAL_DAILY_CAP=5000
88#FUN_COINS_RETRY_MS=300000
89
90# A restore drill starts no jobs and creates no subscriptions.
91#FUN_DRILL=0
92
93# optional: defaults to true in production
94# COOKIE_SECURE=true
95