diff --git a/composte-hermes.yml b/composte-hermes.yml new file mode 100644 index 0000000..ca55587 --- /dev/null +++ b/composte-hermes.yml @@ -0,0 +1,85 @@ +# docker-compose.yml – Hermes Agent + vLLM (Qwen3-14B-AWQ) +# Host: Cortex (eigenständiger Server, 2x RTX 3060 12GB) +# +# Beide Services laufen im selben Docker-Netz "cortex-net" auf diesem Host. +# Hermes spricht vLLM intern über http://vllm:8000/v1 an – kein extra +# Netzwerk-Routing nötig, alles lokal auf Cortex. +# + +services: + vllm: + image: vllm/vllm-openai:latest + container_name: cortex-vllm + restart: unless-stopped + runtime: nvidia + ipc: host + ports: + - "8005:8000" + environment: + - NVIDIA_VISIBLE_DEVICES=0,1 + - HUGGING_FACE_HUB_TOKEN=${HF_TOKEN:-} + volumes: + - ${HOME:-/root}/.cache/huggingface:/root/.cache/huggingface + deploy: + resources: + reservations: + devices: + - driver: nvidia + count: 2 + capabilities: [gpu] + command: + - --model=Qwen/Qwen3-14B-AWQ + - --quantization=awq + - --tensor-parallel-size=2 + - --gpu-memory-utilization=0.90 + - --max-model-len=32768 + - --hf-overrides={"rope_scaling":{"rope_type":"yarn","factor":2.0,"original_max_position_embeddings":32768}} + - --served-model-name=qwen3-14b-awq + networks: + - cortex-net + + hermes-gateway: + image: nousresearch/hermes-agent:latest + container_name: cortex-hermes-gateway + restart: unless-stopped + depends_on: + - vllm + command: ["gateway", "run"] + shm_size: 1g + ports: + - "8642:8642" + volumes: + - ${HOME:-/root}/.hermes:/opt/data + environment: + - HERMES_UID=${HERMES_UID:-10000} + - HERMES_GID=${HERMES_GID:-10000} + # Zeigt Hermes auf den lokalen vLLM-Server + - OPENAI_BASE_URL=http://vllm:8000/v1 + - OPENAI_API_KEY=dummy + # Gateway-API nur aktivieren, wenn du sie extern brauchst: + # - API_SERVER_HOST=0.0.0.0 + # - API_SERVER_KEY=${API_SERVER_KEY} + networks: + - cortex-net + + hermes-dashboard: + image: nousresearch/hermes-agent:latest + container_name: cortex-hermes-dashboard + restart: unless-stopped + depends_on: + - hermes-gateway + command: ["dashboard", "--host", "0.0.0.0", "--no-open"] + ports: + - "127.0.0.1:9119:9119" # nur lokal auf Cortex, kein LAN-Expose + volumes: + - ${HOME:-/root}/.hermes:/opt/data + environment: + - HERMES_UID=${HERMES_UID:-10000} + - HERMES_GID=${HERMES_GID:-10000} + - GATEWAY_HEALTH_URL=http://cortex-hermes-gateway:8642 + networks: + - cortex-net + +networks: + cortex-net: + driver: bridge \ No newline at end of file