2026-07-20 14:59:31 +08:00
|
|
|
services:
|
|
|
|
|
compute-api:
|
2026-07-21 09:23:43 +08:00
|
|
|
image: ${COMPUTE_API_IMAGE:-yg-ft-compute-api:latest}
|
2026-07-20 14:59:31 +08:00
|
|
|
container_name: yg-ft-compute-api
|
|
|
|
|
gpus: all
|
|
|
|
|
ports:
|
2026-07-21 09:23:43 +08:00
|
|
|
- "${COMPUTE_API_PORT:-19100}:9100"
|
2026-07-22 17:32:59 +08:00
|
|
|
- "${FILE_GATEWAY_PORT:-19101}:9100"
|
2026-07-20 14:59:31 +08:00
|
|
|
environment:
|
|
|
|
|
COMPUTE_ENV: ${COMPUTE_ENV:-prod}
|
|
|
|
|
COMPUTE_HOST_ID: ${COMPUTE_HOST_ID:-gpu-node-01}
|
2026-07-21 10:55:44 +08:00
|
|
|
COMPUTE_EXECUTION_MODE: ${COMPUTE_EXECUTION_MODE:-real}
|
2026-07-21 10:09:36 +08:00
|
|
|
MODELTF_ROUTE_PREFIX: ${MODELTF_ROUTE_PREFIX:-/modelTF}
|
2026-08-07 09:24:35 +08:00
|
|
|
ENABLE_DOCS: ${ENABLE_DOCS:-false}
|
2026-07-22 17:32:59 +08:00
|
|
|
COMPUTE_AUTH_ENABLED: ${COMPUTE_AUTH_ENABLED:-true}
|
2026-07-20 14:59:31 +08:00
|
|
|
COMPUTE_SERVICE_TOKEN: ${COMPUTE_SERVICE_TOKEN:-change_me}
|
|
|
|
|
ENABLE_APP_CALLBACK: ${ENABLE_APP_CALLBACK:-false}
|
2026-07-21 09:23:43 +08:00
|
|
|
LLAMA_FACTORY_HOME: ${LLAMA_FACTORY_HOME:-/app/LLaMA-Factory}
|
2026-07-20 14:59:31 +08:00
|
|
|
YG_FT_DATA_ROOT: ${YG_FT_DATA_ROOT:-/data/yg-ft}
|
2026-07-22 17:32:59 +08:00
|
|
|
YG_FT_MODEL_ROOT: ${YG_FT_MODEL_ROOT:-/data/yg-ft/models}
|
|
|
|
|
YG_FT_DATASET_ROOT: ${YG_FT_DATASET_ROOT:-/data/yg-ft/datasets}
|
|
|
|
|
YG_FT_OUTPUT_ROOT: ${YG_FT_OUTPUT_ROOT:-/data/yg-ft/outputs}
|
|
|
|
|
TRAINING_LOG_ROOT: ${TRAINING_LOG_ROOT:-/opt/yg-ft/logs/training}
|
|
|
|
|
COMPUTE_GPU_COUNT: ${COMPUTE_GPU_COUNT:-0}
|
|
|
|
|
COMPUTE_GPU_NAME: ${COMPUTE_GPU_NAME:-NVIDIA A800-SXM4-80GB}
|
|
|
|
|
COMPUTE_GPU_MEMORY_GB: ${COMPUTE_GPU_MEMORY_GB:-80}
|
|
|
|
|
COMPUTE_GPU_POWER_LIMIT_W: ${COMPUTE_GPU_POWER_LIMIT_W:-300}
|
2026-07-23 19:32:42 +08:00
|
|
|
MIN_TRAINING_GPU_MEMORY_GB: ${MIN_TRAINING_GPU_MEMORY_GB:-4}
|
2026-07-20 14:59:31 +08:00
|
|
|
LOG_DIR: ${LOG_DIR:-/opt/yg-ft/logs/compute}
|
|
|
|
|
CUDA_VISIBLE_DEVICES: ${CUDA_VISIBLE_DEVICES:-all}
|
|
|
|
|
NVIDIA_VISIBLE_DEVICES: ${NVIDIA_VISIBLE_DEVICES:-all}
|
|
|
|
|
NVIDIA_DRIVER_CAPABILITIES: ${NVIDIA_DRIVER_CAPABILITIES:-compute,utility}
|
2026-08-11 16:25:18 +08:00
|
|
|
YG_FT_CACHE_ROOT: ${YG_FT_CACHE_ROOT:-/data/yg-ft}
|
2026-08-21 09:49:48 +08:00
|
|
|
COMPUTE_CACHE_MAX_BYTES: ${COMPUTE_CACHE_MAX_BYTES:-0}
|
|
|
|
|
COMPUTE_CACHE_TTL_SECONDS: ${COMPUTE_CACHE_TTL_SECONDS:-0}
|
2026-07-20 14:59:31 +08:00
|
|
|
PYTHONPATH: /app
|
|
|
|
|
volumes:
|
|
|
|
|
- ../../compute:/app/compute:ro
|
2026-07-22 17:32:59 +08:00
|
|
|
- ${YG_FT_DATA_ROOT_HOST:-./data/yg-ft}:${YG_FT_DATA_ROOT:-/data/yg-ft}
|
|
|
|
|
- ${YG_FT_MODEL_ROOT_HOST:-./data/yg-ft/models}:${YG_FT_MODEL_ROOT:-/data/yg-ft/models}
|
|
|
|
|
- ${YG_FT_DATASET_ROOT_HOST:-./data/yg-ft/datasets}:${YG_FT_DATASET_ROOT:-/data/yg-ft/datasets}
|
|
|
|
|
- ${YG_FT_OUTPUT_ROOT_HOST:-./data/yg-ft/outputs}:${YG_FT_OUTPUT_ROOT:-/data/yg-ft/outputs}
|
|
|
|
|
- ${COMPUTE_LOG_ROOT_HOST:-./data/yg-ft/logs/compute}:${LOG_DIR:-/opt/yg-ft/logs/compute}
|
|
|
|
|
- ${TRAINING_LOG_ROOT_HOST:-./data/yg-ft/logs/training}:${TRAINING_LOG_ROOT:-/opt/yg-ft/logs/training}
|
2026-07-20 14:59:31 +08:00
|
|
|
networks:
|
|
|
|
|
- yg-ft-compute
|
|
|
|
|
healthcheck:
|
2026-07-21 10:09:36 +08:00
|
|
|
test: ["CMD-SHELL", "python -c \"import urllib.request; urllib.request.urlopen('http://127.0.0.1:9100/modelTF/health', timeout=3).read()\""]
|
2026-07-20 14:59:31 +08:00
|
|
|
interval: 30s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
retries: 3
|
|
|
|
|
start_period: 20s
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
yg-ft-compute:
|
|
|
|
|
name: yg-ft-compute
|