# Core # Public listener: put this behind your normal HTTPS reverse proxy. HTTP_ADDR=:8080 # Private control-plane listener: expose only through VPN/private reverse proxy. ADMIN_HTTP_ADDR=:8081 # REQUIRED for normal/public operation. Generate unique secrets; startup refuses # the known development defaults. For local throwaway development only, you may # set ALLOW_INSECURE_DEV_DEFAULTS=1. JWT_SECRET=replace-with-at-least-32-random-characters ADMIN_USER=admin ADMIN_PASSWORD=replace-with-a-strong-unique-password # Admin session cookies are Secure by default. Set false only for local HTTP dev. ADMIN_COOKIE_SECURE=true # ALLOW_INSECURE_DEV_DEFAULTS=1 # WebSocket hardening. Same-origin browser WebSockets work automatically. Add # explicit extra origins only when your proxy topology genuinely needs them. WS_ALLOWED_ORIGINS= WS_MAX_USER_CONNECTIONS=5000 WS_MAX_LEADERBOARD_CONNECTIONS=500 # Legacy token-in-query fallback is disabled by default because URLs are logged. # WS_ALLOW_QUERY_TOKEN=1 # Local data paths. Docker Compose overrides both to /data/... so the named volume remains persistent. SQLITE_PATH=./data/neuralhunt.db ARTIFACT_DIR=./data/artifacts # Optional absolute base URL. Leave empty to store relative /artifacts/... links. ARTIFACT_PUBLIC_BASE_URL= # Runtime defaults. These are copied into SQLite on first start and can then be # changed in the Admin UI. DEFAULT_GUESS_MIN_INTERVAL_SEC=10 DEFAULT_CLIENT_SUBMIT_INTERVAL_SEC=11 DEFAULT_GUESS_LOTTERY_WINDOW_SEC=60 DEFAULT_GUESS_LOTTERY_MAX_ACCEPTED=0 # Anti-Sybil friction for newly created browser identities. 0 disables each part. DEFAULT_SYBIL_POW_BITS=15 DEFAULT_SYBIL_WARMUP_SEC=15 # OpenAI cost circuit breaker. Rolling windows; 0 disables the individual limit. DEFAULT_OPENAI_MAX_CALLS_1H=20 DEFAULT_OPENAI_MAX_CALLS_24H=100 DEFAULT_OPENAI_MAX_COST_24H_USD=5.00 DEFAULT_OPENAI_BUDGET_RESERVE_USD=0.20 DEFAULT_TASK_RANGE_BITS=28 DEFAULT_ACTIVE_TASK_COUNT=1 DEFAULT_PRESENCE_TTL_SEC=35 DEFAULT_MAX_NODES=2000 DEFAULT_PUBLIC_SCORE_PRECISION=2 # RIFT full-art collection (default). For normal operation you only need these # two values. Create the global RIFT character anchor once from Admin → ARTIFACT # (or let the first winner create it as a fallback). Each task can then receive # its own JPEG/PNG style reference in Admin → TASK ACTIONS; the bundled style # reference is only the fallback for tasks without a custom style. ARTIFACT_MODEL=gpt-image-2 OPENAI_API_KEY= # Optional OpenAI endpoint override. Normally leave this unchanged/omitted. OPENAI_BASE_URL=https://api.openai.com # Advanced overrides only; the built-in preset already uses OpenAI, 1024x1536 # portrait output, medium quality and a deterministic programmatic SVG card frame. # ARTIFACT_PRESET=raccoon_full_art_v1 # ARTIFACT_PROVIDER=openai # ARTIFACT_WIDTH=1024 # ARTIFACT_HEIGHT=1536 # ARTIFACT_QUALITY=medium # ARTIFACT_HTTP_TIMEOUT=4m # ARTIFACT_PROMPT=... # only used by legacy preset/providers # ARTIFACT_NEGATIVE_PROMPT=... # only used by legacy/local providers # ComfyUI local API. COMFYUI_WORKFLOW_PATH must point to a workflow exported in # API format. The workflow can use placeholders documented in README.md. # When Neural Hunt runs in Docker and ComfyUI runs on the host, use # http://host.docker.internal:8188 and mount/copy the workflow into /data. COMFYUI_URL= COMFYUI_WORKFLOW_PATH= COMFYUI_POLL_TIMEOUT=4m # AUTOMATIC1111 Stable Diffusion WebUI API. Start A1111 with --api. # Docker-to-host example: http://host.docker.internal:7860 A1111_URL= A1111_USER= A1111_PASSWORD= A1111_SAMPLER= A1111_CFG_SCALE=7