85 lines
2.4 KiB
YAML
85 lines
2.4 KiB
YAML
# 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 |