openvibers/openvibe.reviews .env.example

.env.example

main 3.8 KB · 78 lines · plaintext

1# ═══════════════════════════════════════════════════════════════
2# OpenVibe.Reviews — Environment Configuration
3# Copy to .env and fill in values. In production this lives at /etc/openvibe/reviews.env (0600);
4# the systemd unit sets NODE_ENV and PORT itself. Names only here: never commit values.
5# ═══════════════════════════════════════════════════════════════
6
7# Server
8PORT=4830
9HOST=127.0.0.1
10NODE_ENV=development
11#BASE_URL=https://openvibe.reviews
12# Hops in front of Node that set X-Forwarded-For (Cloudflare → nginx → Node).
13#TRUST_PROXY=2
14# Per-actor limits (server/http/actor-limits.js): API reads one caller (a signed-in person, an app,
15# else an address) may make per minute and per hour; past them 429 rate_limited with Retry-After.
16# Signed-out reads keep the per-address limit only. Edits, summaries and corrections have their own
17# numbers (README). The per-address limits stay.
18#REVIEWS_LIMITS_MINUTE=120
19#REVIEWS_LIMITS_HOUR=3000
20
21# PostgreSQL (ADR-035), written by OpenVibe.Host roles/data/add-service.sh reviews: the runtime role through PgBouncer
22# and the owner on a direct connection (schema migrations). Valkey holds the shared limit counters.
23# Without DATABASE_URL, development uses an embedded PGlite database in data/pglite.
24DATABASE_URL=
25DATABASE_DIRECT_URL=
26VALKEY_URL=
27VALKEY_PREFIX=
28
29# Identity — OpenVibe.Network signs user JWTs (SSO) and service tokens. The public key is fetched
30# from <url>/api/.well-known/jwks (internal URL first) and retried every 30 s until it loads.
31OV_NETWORK_URL=https://openvibe.network
32OV_NETWORK_INTERNAL_URL=http://127.0.0.1:4000
33#OV_NETWORK_ISSUER=https://openvibe.network
34# Pin the key instead of fetching it (PEM; \n escapes allowed).
35#OV_NETWORK_PUBLIC_KEY=
36# A browser's user JWT is accepted when its aud contains one of these.
37#REVIEWS_USER_AUDIENCES=openvibe.reviews,openvibe.network
38
39# Editors: Network staff (admin, global_mod) plus these usr_ subject ids (comma-separated).
40#REVIEWS_EDITORS=
41
42# OAuth client `reviews` (browser sign-in, redirect <BASE_URL>/auth/callback) and service principal
43# svc:reviews (client credentials for Sources, Events and Community) — one registration.
44OV_OAUTH_CLIENT_ID=reviews
45OV_OAUTH_CLIENT_SECRET=
46#OV_OAUTH_REDIRECT_URI=https://openvibe.reviews/auth/callback
47#COOKIE_SECURE=true
48
49# OpenVibe.Sources — review items (sources.item.read, sources.source.read). Unset: nothing is read,
50# so there are no signals and no aggregates (the pages say so).
51#OV_SOURCES_INTERNAL_URL=http://127.0.0.1:4720
52#REVIEWS_SOURCES_SYNC=true
53#REVIEWS_SOURCES_SYNC_INTERVAL_MS=300000
54#REVIEWS_SOURCES_PAGE_SIZE=200
55#REVIEWS_IMPORT_QUEUE_INTERVAL_MS=15000
56
57# OpenVibe.Events — the outbox relay runs only when EVENTS_URL is set (events wait in the outbox until then).
58#EVENTS_URL=http://127.0.0.1:4300
59#EVENTS_RELAY_INTERVAL_MS=2000
60# Signing secret of the sources.item.* subscription (scripts/subscribe.js); comma-separated during rotation.
61#REVIEWS_EVENTS_SECRET=
62
63# OpenVibe.Community — discussion threads (community.comment.write).
64#OV_COMMUNITY_URL=https://openvibe.community
65#OV_COMMUNITY_INTERNAL_URL=http://127.0.0.1:4200
66
67# Indexability gate policy for entity pages (openvibe-publishing/seo). Sources are always required.
68#REVIEWS_GATE_MIN_WORDS=60
69#REVIEWS_GATE_MIN_SIGNALS=1
70
71# How long the sitemaps' entity list (every entity's gate decision) is reused, in ms (production default 600000;
72# 0 rebuilds on every read, the default elsewhere). Concurrent reads share one build either way.
73#REVIEWS_SITEMAP_TTL_MS=600000
74
75# Release reporting (openvibe-shared/release): the deployed commit, read from git when unset.
76#RELEASE_COMMIT=
77#MIN_CLIENT_RELEASE=
78