ci / test (services/knowledge) (push) Successful in 47s
ci / test (services/agent) (push) Successful in 55s
ci / test (platform/neuroforge) (push) Successful in 56s
ci / docker-build (push) Failing after 1m10s
ci / test (services/control) (push) Successful in 1m26s
release-tag / release-image (push) Successful in 6m43s
121 lines
3.6 KiB
YAML
121 lines
3.6 KiB
YAML
name: neuroforge-gpu-subagent
|
|
services:
|
|
ollama:
|
|
image: ${OLLAMA_IMAGE:-ollama/ollama:0.33.2}
|
|
restart: unless-stopped
|
|
gpus: all
|
|
environment:
|
|
OLLAMA_HOST: 0.0.0.0:11434
|
|
OLLAMA_KEEP_ALIVE: ${OLLAMA_KEEP_ALIVE:-10m}
|
|
ports:
|
|
- ${OLLAMA_BIND_ADDRESS:-0.0.0.0}:${OLLAMA_HOST_PORT:-11434}:11434
|
|
volumes:
|
|
- ollama-data:/root/.ollama
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- ollama
|
|
- list
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 20
|
|
start_period: 15s
|
|
gpu-subagent:
|
|
image: git.send.nrw/sendnrw/glpi-neuroforge-mega-neuroforge-worker:${IMAGE_TAG:?Set
|
|
immutable IMAGE_TAG}
|
|
command:
|
|
- -server
|
|
- ${NEUROFORGE_MASTER_URL:?Set reachable NeuroForge master URL}
|
|
- -id
|
|
- ${NEUROFORGE_GPU_WORKER_ID:?Set GPU worker ID}
|
|
restart: unless-stopped
|
|
environment:
|
|
NEUROFORGE_WORKER_TOKEN: ${NEUROFORGE_WORKER_TOKEN:?Set worker token shared
|
|
with master}
|
|
NEUROFORGE_WORKER_RESOURCE_CLASS: gpu
|
|
NEUROFORGE_WORKER_CAPABILITIES: ${NEUROFORGE_GPU_WORKER_CAPABILITIES:-gpu,model.chat,model.embed}
|
|
NEUROFORGE_WORKER_MAX_CONCURRENCY: ${NEUROFORGE_GPU_WORKER_CONCURRENCY:-1}
|
|
NEUROFORGE_WORKER_HEARTBEAT_INTERVAL: ${NEUROFORGE_WORKER_HEARTBEAT_INTERVAL:-15s}
|
|
NEUROFORGE_WORKER_OLLAMA_URL: http://ollama:11434
|
|
NEUROFORGE_WORKER_OLLAMA_API_KEY: ${NEUROFORGE_WORKER_OLLAMA_API_KEY:-}
|
|
OLLAMA_API_KEY: ${OLLAMA_API_KEY:-}
|
|
NEUROFORGE_WORKER_OLLAMA_CHAT_MODEL: ${OLLAMA_MODEL:-gemma4}
|
|
NEUROFORGE_WORKER_OLLAMA_EMBEDDING_MODEL: ${OLLAMA_EMBEDDING_MODEL:-embeddinggemma}
|
|
NEUROFORGE_WORKER_OLLAMA_NUM_CTX: ${NEUROFORGE_OLLAMA_NUM_CTX:-8192}
|
|
NEUROFORGE_WORKER_OLLAMA_KEEP_ALIVE: ${OLLAMA_KEEP_ALIVE:-10m}
|
|
depends_on:
|
|
ollama-model-chat-init:
|
|
condition: service_completed_successfully
|
|
ollama-model-embed-init:
|
|
condition: service_completed_successfully
|
|
read_only: true
|
|
tmpfs:
|
|
- /tmp:size=32m,mode=1777
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
cap_drop:
|
|
- ALL
|
|
node-exporter:
|
|
profiles:
|
|
- monitoring
|
|
image: ${NODE_EXPORTER_IMAGE:-prom/node-exporter:v1.12.1}
|
|
restart: unless-stopped
|
|
command:
|
|
- --path.procfs=/host/proc
|
|
- --path.sysfs=/host/sys
|
|
- --path.rootfs=/rootfs
|
|
- --collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)
|
|
ports:
|
|
- ${EXPORTER_BIND_ADDRESS:-0.0.0.0}:${NODE_EXPORTER_HOST_PORT:-9100}:9100
|
|
volumes:
|
|
- /proc:/host/proc:ro
|
|
- /sys:/host/sys:ro
|
|
- /:/rootfs:ro,rslave
|
|
read_only: true
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
cap_drop:
|
|
- ALL
|
|
dcgm-exporter:
|
|
profiles:
|
|
- monitoring
|
|
image: ${DCGM_EXPORTER_IMAGE:-nvcr.io/nvidia/k8s/dcgm-exporter:4.6.0-4.8.3-distroless}
|
|
restart: unless-stopped
|
|
gpus: all
|
|
cap_add:
|
|
- SYS_ADMIN
|
|
ports:
|
|
- ${EXPORTER_BIND_ADDRESS:-0.0.0.0}:${DCGM_EXPORTER_HOST_PORT:-9400}:9400
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
ollama-model-chat-init:
|
|
image: ${OLLAMA_IMAGE:-ollama/ollama:0.33.2}
|
|
restart: 'no'
|
|
command:
|
|
- pull
|
|
- ${OLLAMA_MODEL:-gemma4}
|
|
environment:
|
|
OLLAMA_HOST: http://ollama:11434
|
|
depends_on:
|
|
ollama:
|
|
condition: service_healthy
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
ollama-model-embed-init:
|
|
image: ${OLLAMA_IMAGE:-ollama/ollama:0.33.2}
|
|
restart: 'no'
|
|
command:
|
|
- pull
|
|
- ${OLLAMA_EMBEDDING_MODEL:-embeddinggemma}
|
|
environment:
|
|
OLLAMA_HOST: http://ollama:11434
|
|
depends_on:
|
|
ollama:
|
|
condition: service_healthy
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
volumes:
|
|
ollama-data: null
|