# ── Server identity ────────────────────────────────────────── # 32-byte seed as 64 hex chars. Auto-generated into .env on first boot if missing. # Treat SERVER_SEED like a root password (capabilities + admin proofs). # SERVER_SEED= # SERVER_PUBLIC_KEY= # ── Roles ──────────────────────────────────────────────────── # Baseline role for unknown peers: viewer | operator | admin PEARDATA_DEFAULT_ROLE=viewer # Comma-separated peer public keys that always get admin # PEARDATA_ADMIN_KEYS= # DEV ONLY — every peer is admin (never enable in production) # PEARDATA_INSECURE_OPEN_ADMIN=1 # Optional allowlist (empty = all non-revoked peers accepted) # PEARDATA_ALLOWLIST= # ── Runtime paths & limits ─────────────────────────────────── # Replaces OS home for client identity path: # $PEARDATA_HOME/.config/peardata/identity.json # PEARDATA_HOME= # Peer policy + audit.log (default ./data) # PEARDATA_DATA_DIR=./data # Demo room ring buffer size # PEARDATA_MAX_MESSAGES=500 # Per-peer RPC requests per minute # PEARDATA_RATE_LIMIT_RPM=120 # Client ConnectionManager reconnect attempts # PEARDATA_MAX_RECONNECT=20 # ── Logging ────────────────────────────────────────────────── # LOG_LEVEL=info # LOG_JSON=1 # ── Healthcheck / soak ─────────────────────────────────────── # Remote dial key (falls back to SERVER_PUBLIC_KEY) # PEARDATA_HEALTH_KEY= # HEALTHCHECK_TIMEOUT_MS=8000 # SOAK_DURATION_MS=60000 # SOAK_INTERVAL_MS=500 # ── Tests ──────────────────────────────────────────────────── # SKIP_INTEGRATION=1