# OpenVibe.Zone — environment (production: /etc/openvibe/zone.env). Names only; never commit values. NODE_ENV=production PORT=5050 HOST=127.0.0.1 BASE_URL=https://openvibe.zone TRUST_PROXY=2 # PostgreSQL (ADR-035), written by OpenVibe.Host roles/data/add-service.sh zone: 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:zone: # Per-caller limits (server/http/caller-limits.js): requests one caller may make to the API per minute and per hour. #ZONE_LIMITS_MINUTE=120 #ZONE_LIMITS_HOUR=3000 # OpenVibe.Network: SSO (OAuth client `zone`, PKCE S256) and its JWKS; app tokens for audience openvibe.zone (Network's rule: openvibe.). OV_NETWORK_URL=https://openvibe.network OV_NETWORK_INTERNAL_URL=http://127.0.0.1:4000 OV_OAUTH_CLIENT_ID=zone OV_OAUTH_CLIENT_SECRET= # OV_OAUTH_REDIRECT_URI=https://openvibe.zone/auth/callback # ZONE_AUDIENCE=openvibe.zone # optional: defaults to true in production # COOKIE_SECURE=true # OpenVibe.Media: Zone provisions each zone there and asks it for usage, deletion progress and access keys (loopback, # with Zone's own client-credentials token: grants media.zone.provision and media.access_key.manage). MEDIA_INTERNAL_URL=http://127.0.0.1:4100 # OpenVibe.Events: Media's per-zone rollups (media.usage.recorded) are delivered to POST /internal/events, signed with # ZONE_EVENTS_SECRET (32+ characters; comma-separated to rotate). The subscription is created at boot when both are set. EVENTS_URL= ZONE_EVENTS_SECRET= # The S3 endpoint the console and the docs name (s3.openvibe.media once its DNS record exists). ZONE_S3_ENDPOINT=https://s3.openvibe.media # The zones one project environment may hold besides its default. #ZONE_MAX_PER_ENV=20