# Database DATABASE_URL=sqlite:data/app.db # Auth — portal SSO (prod) или локальный режим (dev) # AUTH_REQUIRED=true → JWT от auth-portal, app id `fw` AUTH_REQUIRED=false AUTH_JWT_SECRET=dev-secret-change-me AUTH_ISSUER=https://auth.shnt.top AUTH_PORTAL_URL=http://localhost:5175 JWT_TTL_HOURS=24 PUBLIC_BASE_URL=http://localhost:8080 EVOFW_ENROLL_SEED=dev-enroll-seed-change-me # Frontend (Vite) — apps/web/.env.local # VITE_AUTH_ENABLED=true # VITE_AUTH_PORTAL_URL=http://localhost:5175 # ReUI PRO (apps/web/components.json → @reui Authorization) REUI_LICENSE_KEY= # EvoBGP integration (source of prefix lists) # EVOBGP_API_URL=https://bgp.example.com # EVOBGP_INTEGRATION_TOKEN= # Server SERVER_PORT=8080 # Security hardening (prod) # В prod (NODE_ENV=production) сервер откажется стартовать без AUTH_REQUIRED=true # и реальных секретов; EVOFW_ALLOW_UNSAFE=true — явный opt-out для изолированных стендов. # EVOFW_ALLOW_UNSAFE=false # Разрешённые CORS-origins через запятую; пусто = только same-origin # CORS_ORIGINS=https://fw.example.com # Ключ для шифрования секретов в БД (AES-256-GCM, напр. токен EvoBGP); пусто = без шифрования # EVOFW_SECRET_KEY=