# Define a reusable base service configuration x-common-config: &common-config image: lang_agent:latest build: . restart: unless-stopped env_file: - ./.env environment: - PYTHONPATH=/app - PYTHONUNBUFFERED=1 volumes: - ./configs:/app/configs - ./scripts:/app/scripts - ./assets:/app/assets - ./static:/app/static healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://0.0.0.0:8588/health')"] interval: 30s timeout: 10s retries: 3 start_period: 40s services: xiaozhan: <<: *common-config container_name: xiaozhan command: ["python", "fastapi_server/server_dashscope.py"] ports: - "8588:8588" blueberry: <<: *common-config container_name: blueberry command: ["python", "fastapi_server/server_openai.py", "react", "--sys-prompt-f", "configs/prompts/blueberry.txt", "--tool-manager-config.client-tool-manager.tool-keys"] ports: - "8589:8588" viewer: <<: *common-config container_name: viewer command: ["python", "fastapi_server/server_viewer.py"] ports: - "8590:8590" healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://0.0.0.0:8590/health')"] interval: 30s timeout: 10s retries: 3 start_period: 40s