# ----------------------------- # Mega-project core / security # ----------------------------- NEUROFORGE_ADMIN_TOKEN=CHANGE_ME_ADMIN NEUROFORGE_APP_API_KEY=CHANGE_ME_APP NEUROFORGE_WORKER_TOKEN=CHANGE_ME_WORKER NEUROFORGE_METRICS_TOKEN=CHANGE_ME_METRICS KB_INTEGRATION_TOKEN=CHANGE_ME_KB_INTEGRATION CONTROL_READ_TOKEN=CHANGE_ME_CONTROL_READ NEUROFORGE_CLUSTER_TOKEN= OPENAI_API_KEY= # Staged vector migration: local | dual | neuroforge KNOWLEDGE_VECTOR_BACKEND=dual NEUROFORGE_NAMESPACE=glpi-agent NEUROFORGE_SEARCH_K=128 # true = keep processing with local/lexical fallback if NeuroForge is unavailable # false = semantic backend failures are blocking NEUROFORGE_FAIL_OPEN=true # ----------------------------- # Shared local AI runtime # ----------------------------- OLLAMA_MODEL=gemma3 OLLAMA_EMBEDDING_MODEL=embeddinggemma OLLAMA_TIMEOUT=10m OLLAMA_KEEP_ALIVE=10m OLLAMA_NUM_PREDICT=768 OLLAMA_JSON_RETRIES=1 # ----------------------------- # GLPI Agent connection # ----------------------------- GLPI_URL=https://glpi.example.invalid GLPI_API_VERSION=v2.3 GLPI_CLIENT_ID= GLPI_CLIENT_SECRET= GLPI_USERNAME= GLPI_PASSWORD= GLPI_AGENT_USER_ID=0 DRY_RUN=true AUTO_CATEGORY=false AUTO_REPLY=false AUTO_PRIORITY=false AUTO_ESCALATION=false RAG_ENABLED=true KNOWLEDGE_INDEX_MODE=incremental KNOWLEDGE_MIN_SCORE=0.70 KNOWLEDGE_ALLOWED_SOURCES=internal-kb # ----------------------------- # Web access # ----------------------------- WEB_USERNAME=admin WEB_PASSWORD=CHANGE_ME_AGENT_WEB WEB_ALLOW_ANONYMOUS=false BASIC_AUTH_USER=admin BASIC_AUTH_PASSWORD=CHANGE_ME_KB_WEB # ----------------------------- # Optional host ports # ----------------------------- CONTROL_HOST_PORT=8070 AGENT_HOST_PORT=8080 KNOWLEDGE_HOST_PORT=8081 NEUROFORGE_HOST_PORT=8090 OLLAMA_HOST_PORT=11434 # ----------------------------- # Controlled learning / research # ----------------------------- # Enforces: no automatic learning from raw chat input or assistant output; # explicit validated outcomes and research evidence keep distinct provenance. NEUROFORGE_CONTROLLED_LEARNING=true # Ticket -> AI proposal -> technician accept/correct -> NeuroForge learn. OUTCOME_LEARNING_ENABLED=true # false = technician sees an error when NeuroForge cannot persist the validated outcome. # The local outcome audit is still retained with sync_status=failed. OUTCOME_LEARNING_FAIL_OPEN=false OUTCOME_LEARNING_MAX_OUTCOMES=2000 # Active accepted/corrected outcomes are secondary reply evidence only. # They never replace the approved-KB requirement for Auto-Reply. OUTCOME_RETRIEVAL_ENABLED=true OUTCOME_RETRIEVAL_SEARCH_K=6 OUTCOME_RETRIEVAL_MIN_SIMILARITY=0.58 # true = continue with official KB/context if experience retrieval is unavailable. OUTCOME_RETRIEVAL_FAIL_OPEN=true # Research is opt-in. Starting the SearXNG profile alone does not enable learning. NEUROFORGE_RESEARCH_ENABLED=false NEUROFORGE_SEARXNG_ENABLED=false NEUROFORGE_SEARXNG_URL=http://searxng:8080 NEUROFORGE_RESEARCH_GOAL_ENABLED=true # Separate switch for scheduled self-directed goal cycles. NEUROFORGE_AUTONOMY_ENABLED=false NEUROFORGE_AUTONOMY_INTERVAL_MINUTES=30 NEUROFORGE_RESEARCH_MAX_QUERIES=2 NEUROFORGE_RESEARCH_MAX_PAGES=4 # Required only when the optional `research` compose profile is started. # Pin this to a version/digest in production if reproducible images are required. SEARXNG_IMAGE=docker.io/searxng/searxng:latest SEARXNG_SECRET=CHANGE_ME_SEARXNG_LONG_RANDOM_SECRET SEARXNG_HOST_PORT=8888 # Optional local developer-only Codebase Memory MCP/UI. It is not required by # production services. For a host process reachable from Docker on Linux: CODEBASE_MEMORY_URL= PUBLIC_CODEBASE_MEMORY_URL=http://localhost:9749