version: "3" services: tts: container_name: streamer-sales-tts-server build: context: ./ dockerfile: ./docker/Dockerfile image: streamer-sales:v0.9.0 volumes: - ./weights:/workspace/Streamer-Sales/weights - ./work_dirs:/workspace/Streamer-Sales/work_dirs - ./static:/workspace/Streamer-Sales/static ports: - "8001:8001" networks: - streamer-sales-network environment: USING_DOCKER_COMPOSE: "true" HF_ENDPOINT: "https://hf-mirror.com" LANG: "en_US.UTF-8" deploy: resources: reservations: devices: - driver: nvidia device_ids: [ '0' ] capabilities: [ gpu ] command: - /bin/bash - -c - | nvidia-smi uvicorn server.tts.tts_server:app --host 0.0.0.0 --port 8001 restart: always digital_human: container_name: streamer-sales-digital-human-server build: context: ./ dockerfile: ./docker/Dockerfile image: streamer-sales:v0.9.0 volumes: - ./weights:/workspace/Streamer-Sales/weights - ./work_dirs:/workspace/Streamer-Sales/work_dirs - ./static:/workspace/Streamer-Sales/static ports: - "8002:8002" networks: - streamer-sales-network environment: USING_DOCKER_COMPOSE: "true" HF_ENDPOINT: "https://hf-mirror.com" deploy: resources: reservations: devices: - driver: nvidia device_ids: [ '0' ] capabilities: [ gpu ] command: - /bin/bash - -c - | nvidia-smi uvicorn server.digital_human.digital_human_server:app --host 0.0.0.0 --port 8002 restart: always asr: container_name: streamer-sales-asr-server build: context: ./ dockerfile: ./docker/Dockerfile image: streamer-sales:v0.9.0 volumes: - ./weights:/workspace/Streamer-Sales/weights - ./work_dirs:/workspace/Streamer-Sales/work_dirs - ./static:/workspace/Streamer-Sales/static ports: - "8003:8003" networks: - streamer-sales-network environment: USING_DOCKER_COMPOSE: "true" HF_ENDPOINT: "https://hf-mirror.com" deploy: resources: reservations: devices: - driver: nvidia device_ids: [ '0' ] capabilities: [ gpu ] command: - /bin/bash - -c - | nvidia-smi uvicorn server.asr.asr_server:app --host 0.0.0.0 --port 8003 restart: always llm: container_name: streamer-sales-llm-server build: context: ./ dockerfile: ./docker/Dockerfile image: streamer-sales:v0.9.0 volumes: - ./weights:/workspace/Streamer-Sales/weights - ./work_dirs:/workspace/Streamer-Sales/work_dirs - ./static:/workspace/Streamer-Sales/static ports: - "23333:23333" networks: - streamer-sales-network environment: USING_DOCKER_COMPOSE: "true" LMDEPLOY_USE_MODELSCOPE: "True" MODELSCOPE_CACHE: "./weights/llm_weights" HF_ENDPOINT: "https://hf-mirror.com" deploy: resources: reservations: devices: - driver: nvidia device_ids: [ '0' ] capabilities: [ gpu ] command: - /bin/bash - -c - | nvidia-smi lmdeploy serve api_server HinGwenWoong/streamer-sales-lelemiao-7b \ --server-port 23333 \ --model-name internlm2 \ --session-len 32768 \ --cache-max-entry-count 0.1 \ --model-format hf restart: always database: container_name: streamer-sales-database image: postgres:16.4 ports: - "5432:5432" networks: - streamer-sales-network environment: POSTGRES_PASSWORD: "123456" POSTGRES_DB: "streamer_sales_db" volumes: - ./work_dirs/database:/var/lib/postgresql/data # 数据持久化 restart: always base: container_name: streamer-sales-base-server build: context: ./ dockerfile: ./docker/Dockerfile image: streamer-sales:v0.9.0 volumes: - ./weights:/workspace/Streamer-Sales/weights - ./work_dirs:/workspace/Streamer-Sales/work_dirs - ./static:/workspace/Streamer-Sales/static ports: - "8000:8000" networks: - streamer-sales-network depends_on: - database - llm - tts - digital_human - asr environment: USING_DOCKER_COMPOSE: "true" HF_ENDPOINT: "https://hf-mirror.com" # 数据库配置 POSTGRES_SERVER: "database" # 不可修改,docker-compsoe 路由自动配置的 host POSTGRES_PASSWORD: "123456" # 和 database.environment.POSTGRES_PASSWORD 一致 POSTGRES_DATABASE: "streamer_sales_db" # 和 database.environment.POSTGRES_DB 一致 # Agent Key (如果没有请忽略) # DELIVERY_TIME_API_KEY: "${快递 EBusinessID},${快递 api_key}" # WEATHER_API_KEY: "${天气 API key}" deploy: resources: reservations: devices: - driver: nvidia device_ids: [ '0' ] capabilities: [ gpu ] command: - /bin/bash - -c - | nvidia-smi sleep 60 uvicorn server.base.base_server:app --host 0.0.0.0 --port 8000 restart: always networks: streamer-sales-network: