RC-16
release-tag / release-image (push) Successful in 3m57s

This commit is contained in:
2026-08-14 14:19:16 +02:00
parent 52d33b25fd
commit 1a56dec079
16 changed files with 765 additions and 33 deletions
+63
View File
@@ -24,6 +24,7 @@ ADMIN_COOKIE_SECURE=auto
WS_ALLOWED_ORIGINS=
WS_MAX_USER_CONNECTIONS=5000
WS_MAX_LEADERBOARD_CONNECTIONS=500
WS_MAX_PLACE_CONNECTIONS=1500
# Legacy token-in-query fallback is disabled by default because URLs are logged.
# WS_ALLOW_QUERY_TOKEN=1
@@ -53,6 +54,21 @@ DEFAULT_PRESENCE_TTL_SEC=35
DEFAULT_MAX_NODES=2000
DEFAULT_PUBLIC_SCORE_PRECISION=2
# Neural Place economy. Rewards can come from score progress, actually drawn
# lottery tickets and active signed Hunt time. Delegated worker rewards are
# always routed to the linked owner wallet. Set draw/time points to 0 to disable
# that reward source. Long idle gaps above MAX_GAP are never backfilled.
DEFAULT_PLACE_ENABLED=1
DEFAULT_PLACE_WIDTH=256
DEFAULT_PLACE_HEIGHT=256
DEFAULT_PLACE_POINTS_PER_SCORE=100
DEFAULT_PLACE_DRAW_POINTS=25
DEFAULT_PLACE_DRAW_BEACON_MULTIPLIER=1
DEFAULT_PLACE_TIME_POINTS=20
DEFAULT_PLACE_TIME_INTERVAL_SEC=60
DEFAULT_PLACE_TIME_MAX_GAP_SEC=120
DEFAULT_PLACE_PIXEL_COST=100
# 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
@@ -72,6 +88,15 @@ OPENAI_BASE_URL=https://api.openai.com
# ARTIFACT_HEIGHT=1536
# ARTIFACT_QUALITY=medium
# ARTIFACT_HTTP_TIMEOUT=4m
# Default rarity distribution for newly generated RIFT collectibles. These
# values seed the runtime settings and must add up to exactly 100.00.
DEFAULT_ARTIFACT_RARITY_COMMON_PCT=58.00
DEFAULT_ARTIFACT_RARITY_UNCOMMON_PCT=29.50
DEFAULT_ARTIFACT_RARITY_RARE_PCT=9.90
DEFAULT_ARTIFACT_RARITY_ULTRA_RARE_PCT=2.25
DEFAULT_ARTIFACT_RARITY_SPECIAL_ILLUSTRATION_PCT=0.35
# ARTIFACT_PROMPT=... # only used by legacy preset/providers
# ARTIFACT_NEGATIVE_PROMPT=... # only used by legacy/local providers
@@ -169,8 +194,46 @@ CS_WORKER_REGISTRY_PASSWORD=
CS_WORKER_ENTRYPOINT=
CS_WORKER_NETWORK=neuralhunt_backend
CS_WORKER_REGISTER_URL=http://customer-service:8092/internal/workers/register
# direct = legacy docker.sock on Customer Service host
# controller = all new workers run on registered remote Service Controllers
# hybrid = prefer Service Controllers; local Docker is fallback / legacy host
CS_WORKER_ORCHESTRATION_MODE=direct
# Separate secret used only between Customer Service (Master) and Service Controllers.
# Required in controller/hybrid mode. Do not reuse JWT_SECRET or CUSTOMER_SERVICE_SHARED_SECRET.
SERVICE_CONTROLLER_SHARED_SECRET=replace-with-another-32-plus-char-random-secret
CS_CONTROLLER_OFFLINE_AFTER=45s
DOCKER_HOST=unix:///var/run/docker.sock
# ─────────────────────────────────────────────────────────────────────────────
# REMOTE SERVICE CONTROLLER (set these on each worker host)
# ─────────────────────────────────────────────────────────────────────────────
# Stable unique ID per host. Changing it creates a new controller identity.
SC_ID=worker-host-01
SC_NAME=Worker Host 01
# Customer Service internal listener reachable over your private VPN/network.
SC_MASTER_URL=http://192.168.16.3:8092
# This controller's private control endpoint as reachable from Customer Service.
SC_ADVERTISE_URL=http://192.168.16.20:8102
SC_CONTROL_ADDR=:8102
SC_ADMIN_ADDR=:8101
SC_ADMIN_USER=admin
SC_ADMIN_PASSWORD=replace-with-strong-controller-admin-password
SC_ADMIN_COOKIE_SECURE=auto
SC_MAX_WORKERS=500
SC_MAX_RUNNING_WORKERS=100
SC_HEARTBEAT_INTERVAL=15s
# Emergency UI image pull defaults. Normal Master commands still carry CS_WORKER_IMAGE.
SC_WORKER_IMAGE=neuralhunt-worker:local
SC_WORKER_REGISTRY_SERVER=
SC_WORKER_REGISTRY_USERNAME=
SC_WORKER_REGISTRY_PASSWORD=
# Optional per-host topology overrides. Recommended for distributed hosts.
SC_WORKER_NETWORK=bridge
# Must be reachable from the worker container. Usually the Customer Service VPN IP.
SC_WORKER_REGISTER_URL=http://192.168.16.3:8092/internal/workers/register
# Must be reachable from the remote host; normally use the public HTTPS game URL.
SC_GAME_PUBLIC_URL=https://play.example.com
# Game endpoints as seen from Customer Service. These localhost defaults make
# `go run ./cmd/customer-service` work when the game server also runs locally.
# docker-compose.yml explicitly overrides them to http://app:8080 / :8081.