This commit is contained in:
2026-06-11 18:10:02 +08:00
parent efeca5f2af
commit 4bbeb5673e
3 changed files with 94 additions and 54 deletions
+55 -32
View File
@@ -6,35 +6,6 @@
services:
# --- WebUI 前端 ---
gradio:
image: mineru-rocm:7.2.1
container_name: mineru-gradio
stdin_open: true
tty: true
ipc: host
ports:
- "10002:7860"
environment:
- GRADIO_SERVER_NAME=0.0.0.0
- MINERU_MODEL_SOURCE=${MINERU_MODEL_SOURCE:-huggingface}
- HF_HUB_CACHE=${HF_HUB_CACHE:-/opt/models/huggingface}
- MODELSCOPE_CACHE=${MODELSCOPE_CACHE:-/opt/models/modelscope}
volumes:
- ${INPUT_DIR:-./data/input}:/data/input:ro
- ${OUTPUT_DIR:-./data/output}:/data/output
- ${MODEL_DIR:-./data/models}:/opt/models
- ./scripts:/opt/scripts:ro
command:
[
"mineru-gradio",
"--server-name", "0.0.0.0",
"--server-port", "7860",
"--api-url", "http://mineru-router:8000",
]
depends_on:
- router
# --- 双卡 Worker(GPU 算力,无 profile,始终可用)---
worker0:
image: mineru-rocm:7.2.1
build:
context: .
@@ -43,10 +14,11 @@ services:
args:
ARCH: ${ARCH:-gfx1201}
GIT_PROXY: ${GIT_PROXY:-}
container_name: mineru-worker0
container_name: mineru-gradio
stdin_open: true
tty: true
ipc: host
restart: unless-stopped
devices:
- /dev/kfd
- /dev/dri
@@ -54,6 +26,53 @@ services:
- seccomp=unconfined
group_add:
- video
- render
ports:
- "10002:7860"
environment:
- GRADIO_SERVER_NAME=0.0.0.0
- HIP_VISIBLE_DEVICES=${HIP_VISIBLE_DEVICES:-0}
- MINERU_MODEL_SOURCE=${MINERU_MODEL_SOURCE:-huggingface}
- HF_HUB_CACHE=${HF_HUB_CACHE:-/opt/models/huggingface}
- MODELSCOPE_CACHE=${MODELSCOPE_CACHE:-/opt/models/modelscope}
volumes:
- ${INPUT_DIR:-./data/input}:/data/input:ro
- ${OUTPUT_DIR:-./data/output}:/data/output
- ${MODEL_DIR:-./data/models}:/opt/models
- ${MIOPEN_CACHE:-./data/miopen}:/root/.cache/miopen
- ./scripts:/opt/scripts:ro
command:
[
"mineru-gradio",
"--server-name", "0.0.0.0",
"--server-port", "7860",
]
healthcheck:
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:7860/ >/dev/null || exit 1"]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
# --- 可选:多 Worker API Router 模式(默认不启动)---
# 启用方式:docker compose --profile router-api up -d
# 单卡默认请使用上面的 gradio 服务;双卡时可在 .env 中设置 ROUTER_API_URLS。
worker0:
image: mineru-rocm:7.2.1
profiles: ["router-api"]
container_name: mineru-worker0
stdin_open: true
tty: true
ipc: host
restart: unless-stopped
devices:
- /dev/kfd
- /dev/dri
security_opt:
- seccomp=unconfined
group_add:
- video
- render
environment:
- HIP_VISIBLE_DEVICES=0
- MINERU_MODEL_SOURCE=${MINERU_MODEL_SOURCE:-huggingface}
@@ -69,10 +88,12 @@ services:
worker1:
image: mineru-rocm:7.2.1
profiles: ["dual-gpu"]
container_name: mineru-worker1
stdin_open: true
tty: true
ipc: host
restart: unless-stopped
devices:
- /dev/kfd
- /dev/dri
@@ -80,6 +101,7 @@ services:
- seccomp=unconfined
group_add:
- video
- render
environment:
- HIP_VISIBLE_DEVICES=1
- MINERU_MODEL_SOURCE=${MINERU_MODEL_SOURCE:-huggingface}
@@ -95,10 +117,12 @@ services:
router:
image: mineru-rocm:7.2.1
profiles: ["router-api"]
container_name: mineru-router
stdin_open: true
tty: true
ipc: host
restart: unless-stopped
ports:
- "8000:8000"
environment:
@@ -111,11 +135,10 @@ services:
[
"mineru-router",
"--api-urls",
"http://mineru-worker0:8001,http://mineru-worker1:8002",
"${ROUTER_API_URLS:-http://mineru-worker0:8001}",
"--host", "0.0.0.0",
"--port", "8000",
"--allow-public-http-client",
]
depends_on:
- worker0
- worker1