openvibers/openvibe.report .env.example
.env.example
| 1 | # OpenVibe.Report — environment (production: /etc/openvibe/report.env). Names only; never commit values. |
| 2 | |
| 3 | NODE_ENV=production |
| 4 | PORT=5080 |
| 5 | HOST=127.0.0.1 |
| 6 | BASE_URL=https://openvibe.report |
| 7 | TRUST_PROXY=2 |
| 8 | |
| 9 | # Report's own PostgreSQL (ADR-035). The runtime role serves through PgBouncer on DATABASE_URL; migrations run |
| 10 | # on DATABASE_DIRECT_URL as the owner. Without DATABASE_URL development uses an embedded PGlite database. |
| 11 | DATABASE_URL= |
| 12 | DATABASE_DIRECT_URL= |
| 13 | #REPORT_PGLITE_DIR=./data/pglite |
| 14 | |
| 15 | # Which source the pages and GET /api/v1/stats answer from: network (today's behaviour) or report (after cutover). |
| 16 | REPORT_SOURCE=network |
| 17 | |
| 18 | # OpenVibe.Network's open stats (GET /api/v1/stats?days=7|30|90). Both sources serve their read APIs on loopback. |
| 19 | OV_NETWORK_INTERNAL_URL=http://127.0.0.1:4000 |
| 20 | # The public origin, used only for the OAuth token endpoint (Report's service token to Billing). |
| 21 | OV_NETWORK_URL=https://openvibe.network |
| 22 | |
| 23 | # OpenVibe.Live's Rundown and after-show reports (GET /api/rundown/*, /api/recap/*). |
| 24 | OV_LIVE_INTERNAL_URL=http://127.0.0.1:3000 |
| 25 | # OpenVibe.Media's one view store (GET /api/v1/views/aggregate): views, engaged viewers, Feed share, live peak. |
| 26 | OV_MEDIA_INTERNAL_URL=http://127.0.0.1:4100 |
| 27 | |
| 28 | # Bench's public read API; set to an internal origin if Report and Bench share one. |
| 29 | OV_BENCH_INTERNAL_URL=https://bench.openvibe.services |
| 30 | |
| 31 | # OpenVibe.AI public Exchange catalogue and measured provider offers. |
| 32 | OV_AI_INTERNAL_URL=https://api.openvibe.exchange |
| 33 | |
| 34 | # OpenVibe.Billing's read API. Report quotes Billing and never computes money. The service needs the grants |
| 35 | # billing.stats.read (GET /api/v1/stats) and billing.balance.read (GET /api/v1/transactions?subject=…). |
| 36 | OV_BILLING_INTERNAL_URL=http://127.0.0.1:4600 |
| 37 | # Report's Network OAuth client (client_credentials → audience openvibe.billing). The secret stays in the env file. |
| 38 | OV_OAUTH_CLIENT_ID=report |
| 39 | OV_OAUTH_CLIENT_SECRET= |
| 40 | # An explicit Billing bearer token for an operator run (instead of the OAuth client); never commit it. |
| 41 | #REPORT_BILLING_TOKEN= |
| 42 | |
| 43 | # OpenVibe.Events → Report (POST /internal/events): live.stream.ended and the frame beacon. Comma-separated for |
| 44 | # rotation, 32+ characters each; unset makes the route answer 503. |
| 45 | REPORT_EVENTS_SECRET= |
| 46 | |
| 47 | # AI Exchange analytics (plan G-P9), off by default. On: consume Billing's billing.credit.settled events into |
| 48 | # aggregates by day/model/provider access, and open the staff-only /ai/exchange page and GET /api/v1/ai/exchange. |
| 49 | # Off: a settlement delivery is ignored before anything is written. |
| 50 | #REPORT_AI_EXCHANGE=0 |
| 51 | |
| 52 | # The ingest and shadow jobs (on by default; REPORT_JOBS=0 turns both off). |
| 53 | #REPORT_JOBS=1 |
| 54 | #REPORT_JOBS_ON_BOOT=1 |
| 55 | #REPORT_INGEST_INTERVAL_MS=300000 |
| 56 | #REPORT_SHADOW_WINDOW_DAYS=7 |
| 57 | #REPORT_SHADOW_INTERVAL_MS=900000 |
| 58 | |
| 59 | # Optional: the per-address API limit (default 120 a minute), the personal routes' own limit (default 60) and the |
| 60 | # readiness probe timeout (default 2500 ms). |
| 61 | #REPORT_API_RATE_LIMIT_PER_MIN=120 |
| 62 | #REPORT_ME_RATE_LIMIT_PER_MIN=60 |
| 63 | #REPORT_READY_TIMEOUT_MS=2500 |
| 64 | |
| 65 | # Optional: the deployed commit for /release.json. Without it the release is read from git in the checkout. |
| 66 | #RELEASE_COMMIT= |
| 67 |