# OpenVibe.Today — environment (production: /etc/openvibe/today.env). Names only; never commit values. NODE_ENV=production PORT=5100 HOST=127.0.0.1 BASE_URL=https://openvibe.today TRUST_PROXY=2 # PostgreSQL (ADR-035), written by OpenVibe.Host roles/data/add-service.sh today: the runtime role through PgBouncer, # the owner on a direct connection (migrations), and Valkey (shared limit counters). # Without DATABASE_URL, development uses an embedded PGlite database in data/pglite. DATABASE_URL= DATABASE_DIRECT_URL= VALKEY_URL= VALKEY_PREFIX=ov:today: # Per-caller limits (server/app.js): requests one address may make to the API and to the pages per minute. #TODAY_LIMITS_MINUTE=120 #TODAY_LIMITS_HOUR=3000 # OpenVibe.Network: SSO (OAuth client `today`, PKCE S256) and its JWKS; app tokens for audience openvibe.today. OV_NETWORK_URL=https://openvibe.network OV_NETWORK_INTERNAL_URL=http://127.0.0.1:4000 # OV_NETWORK_ISSUER=https://openvibe.network OV_OAUTH_CLIENT_ID=today OV_OAUTH_CLIENT_SECRET= # OV_OAUTH_REDIRECT_URI=https://openvibe.today/auth/callback # TODAY_AUDIENCE=openvibe.today # OV_SESSION_AUDIENCE=openvibe.network # TODAY_PGLITE_DIR=./data/pglite # OpenVibe.Events: where the outbox publishes and the subscriptions are created at boot. The secret signs # deliveries (comma-separated for rotation, 32+ characters each; unset makes POST /internal/events answer 503). # TODAY_EVENTS_SUBSCRIBE=0 turns the boot-time subscriptions off. TODAY_EVENTS_SECRET= TODAY_EVENTS_URL= #TODAY_EVENTS_ENDPOINT=http://127.0.0.1:5100/internal/events #TODAY_EVENTS_INTERVAL_MS=5000 #TODAY_EVENTS_SCOPE=events.publish # OpenVibe.Live's public Rundown API, for "Yesterday on OpenVibe" in the brief. OV_LIVE_INTERNAL_URL=http://127.0.0.1:3000 #TODAY_LIVE_TIMEOUT_MS=2500 # Imports: the public services that fill the agenda (server/imports/). The job runs at boot and every interval; # TODAY_IMPORTS=0 turns it off everywhere. Countries are Nager.Date codes; the Events pull stays off until # TODAY_IMPORTS_EVENTS_TOPICS names public people-facing topics (comma-separated). #TODAY_IMPORTS_INTERVAL_MS=900000 #TODAY_IMPORTS_TIMEOUT_MS=8000 #OV_LIVE_URL=https://openvibe.live #OV_FUN_URL=https://openvibe.fun #TODAY_HOLIDAY_COUNTRIES=US,GB,CA,DE,FR,ES,IT,NL,BE,AT,CH,SE,NO,DK,FI,PL,PT,IE,AU,NZ,JP,BR,IN,MX,CZ #OV_EVENTS_URL=https://openvibe.events #TODAY_IMPORTS_EVENTS_TOPICS= #TODAY_IMPORTS_EVENTS_SCOPE=events.event.read # The daily brief at 06:00 UTC for subjects active in the last 30 days. #TODAY_BRIEF_HOUR_UTC=6 #TODAY_BRIEF_ACTIVE_DAYS=30 # Caches: the follow graph per subject (60 s) and Network user ids for reminders (5 min). #TODAY_FOLLOWS_CACHE_MS=60000 #TODAY_RESOLVE_CACHE_MS=300000 # A restore drill starts no jobs and creates no subscriptions. #TODAY_DRILL=0 # optional: defaults to true in production # COOKIE_SECURE=true