openvibers/openvibe.food .env.example

.env.example

main 3.2 KB · 61 lines · plaintext

1# OpenVibe.Food — environment (production: /etc/openvibe/food.env). Names only; never commit values.
2
3NODE_ENV=production
4PORT=4970
5HOST=127.0.0.1
6BASE_URL=https://openvibe.food
7TRUST_PROXY=2
8# PostgreSQL (ADR-035), written by OpenVibe.Host roles/data/add-service.sh food: the runtime role through PgBouncer,
9# the owner on a direct connection (migrations), and Valkey (shared limit counters).
10# Without DATABASE_URL, development uses an embedded PGlite database in data/pglite.
11DATABASE_URL=
12DATABASE_DIRECT_URL=
13VALKEY_URL=
14VALKEY_PREFIX=ov:food:
15# Per-caller limits (server/http/caller-limits.js): requests one caller may make to the API per minute and per hour.
16#FOOD_LIMITS_MINUTE=120
17#FOOD_LIMITS_HOUR=3000
18
19# OpenVibe.Network: SSO (OAuth client `food`, PKCE S256) and its JWKS; app tokens for audience openvibe.food.
20OV_NETWORK_URL=https://openvibe.network
21OV_NETWORK_INTERNAL_URL=http://127.0.0.1:4000
22OV_OAUTH_CLIENT_ID=food
23OV_OAUTH_CLIENT_SECRET=
24# OpenVibe.AI on loopback, for recipe ideas from the cupboard (workflow food.suggest_recipes). Unset = recipe ideas are off.
25OV_AI_INTERNAL_URL=
26# OV_OAUTH_REDIRECT_URI=https://openvibe.food/auth/callback
27# FOOD_AUDIENCE=openvibe.food
28
29# OpenVibe.Events → Food (ADR-033 account export and deletion): the secret signs a delivery (comma-separated for
30# rotation, 32+ characters each; unset makes POST /internal/events answer 503); the url is where the two subscriptions
31# are created at boot (off when unset); FOOD_EVENTS_SUBSCRIBE=0 turns that off.
32FOOD_EVENTS_SECRET=
33FOOD_EVENTS_URL=
34#FOOD_EVENTS_ENDPOINT=http://127.0.0.1:4970/internal/events
35
36# OpenStreetMap, the two services "food near you" stands on (server/food/places.js). Both are open data under ODbL 1.0
37# with published usage policies; server/food/upstream.js paces every call (one a second per host) and caches every
38# answer for FOOD_GEO_CACHE_TTL_MS. Tests point these at a stand-in (test/helpers/osm.js); never at the public hosts.
39#FOOD_NOMINATIM_URL=https://nominatim.openstreetmap.org
40#FOOD_OVERPASS_URL=https://overpass-api.de/api/interpreter
41# Identifies OpenVibe.Food to OSM, as both policies require. Defaults to OpenVibeFood/0.1 (+<BASE_URL>).
42#FOOD_OSM_USER_AGENT=
43# The pace between two requests to the same host, in ms (the policies ask for at least 1000).
44#FOOD_OSM_MIN_INTERVAL_MS=1000
45#FOOD_OSM_TIMEOUT_MS=25000
46# Overpass servers tried after FOOD_OVERPASS_URL, comma-separated (default: private.coffee, then VK Maps: the OSM
47# wiki's public instances without request limits), each for FOOD_OVERPASS_TRY_MS of the budget.
48#FOOD_OVERPASS_FALLBACK_URLS=https://overpass.private.coffee/api/interpreter,https://maps.mail.ru/osm/tools/overpass/api/interpreter
49#FOOD_OVERPASS_TRY_MS=8000
50# After an area query failed, the same query answers at once (its last result, or "busy") for this long, in ms.
51#FOOD_OSM_RETRY_AFTER_MS=180000
52# The home's "food near" cities refreshed in the background (server/food/near-warm.js): how often, in ms (0 = off),
53# and each area query's budget there.
54#FOOD_NEAR_WARM_MS=21600000
55#FOOD_NEAR_WARM_BUDGET_MS=150000
56# How long a geocode or an area answer is kept, in ms (default 7 days).
57#FOOD_GEO_CACHE_TTL_MS=604800000
58
59# optional: defaults to true in production
60# COOKIE_SECURE=true
61