openvibers/openvibe.games .env.example

.env.example

main 2.4 KB · 54 lines · plaintext

1# Names only; never commit real values. Copy to .env (gitignored) and fill in.
2
3# ── Persistence (ADR-0007 decision 5: PostgreSQL 18 + Valkey through openvibe-sdk) ──
4# Pooled PostgreSQL URL (through PgBouncer, transaction mode). Required in production.
5DATABASE_URL=
6# Owner-role direct connection migrations run on (a session, not PgBouncer). Required with DATABASE_URL.
7DATABASE_DIRECT_URL=
8# Development only: embedded PGlite directory when DATABASE_URL is unset (never production).
9DATABASE_DIR=data
10# Optional: another SQL migrations directory (default: @openvibe/persistence's own, from any working directory).
11GAMES_MIGRATIONS_DIR=
12# The place this instance serves; world rows and meta are keyed by it.
13GAMES_PLACE_ID=scraplandia
14# In-process rooms for this place; 1 preserves the existing single-room behavior.
15GAMES_INSTANCES_PER_PLACE=1
16# Per-room player capacity and replication grid/radius (metres).
17MAX_PLAYERS=64
18GAMES_INTEREST_CELL=16
19GAMES_INTEREST_RADIUS=80
20# Creator worlds (/worlds): running at once, kept per account, idle stop (seconds), players per world.
21# GAMES_CREATOR_WORLDS_MAX=2
22# GAMES_CREATOR_WORLDS_PER_PERSON=5
23# GAMES_CREATOR_ASSETS_PER_PERSON=50
24# GAMES_CREATOR_WORLD_IDLE_SECONDS=180
25# GAMES_CREATOR_WORLD_PLAYERS=16
26
27# ── Valkey (optional): shared per-actor rate-limit counters across instances ──
28VALKEY_URL=
29VALKEY_PREFIX=ov:games:
30
31# ── Server ──
32PORT=8000
33HOST=0.0.0.0
34# Proxies whose client-address headers (X-Real-IP, X-Forwarded-For, CF-Connecting-IP) are trusted for per-address
35# limits and logs: empty = none (the TCP peer is the client), true = all (reachable only through the proxy), else a
36# comma-separated IP/CIDR list. Production: 127.0.0.1 (the local nginx, which overwrites those headers).
37TRUST_PROXY=
38MAP_PATH=data/map.json
39
40# ── AI vs AI Vibe Heroes draft matches (off by default; billable when enabled) ──
41GAMES_AI_MATCHES_ENABLED=0
42GAMES_AI_MATCHES_DAILY_CAP=0
43GAMES_AI_MATCHES_GAMES=2
44# JSON array of two pinned OpenVibe.AI offers: [{"provider":"...","model":"..."},...]
45GAMES_AI_MATCHES_OFFERS=
46GAMES_AI_URL=
47GAMES_BENCH_URL=https://bench.openvibe.services
48
49# ── IndexNow (optional) ──
50# The IndexNow protocol key (8-128 hex or alphanumeric), as IndexNow's own key generator produces it.
51# When set, GET /<key>.txt serves the key file the protocol requires engines to fetch; unset means
52# off. This site has no user-created public pages, so a key alone pings nothing.
53INDEXNOW_KEY=
54