version: "3.5" networks: metavoice-net: driver: bridge volumes: hf-cache: driver: local x-common-settings: &common-settings volumes: - hf-cache:/.hf-cache - ./assets:/app/assets deploy: replicas: 1 resources: reservations: devices: - driver: nvidia count: 1 capabilities: [ gpu ] runtime: nvidia ipc: host tty: true # enable colorized logs build: context: . image: metavoice-server:latest networks: - metavoice-net environment: - NVIDIA_VISIBLE_DEVICES=all - HF_HOME=/.hf-cache logging: options: max-size: "100m" max-file: "10" services: server: <<: *common-settings container_name: metavoice-server command: [ "--port=58004" ] ports: - 58004:58004 healthcheck: test: [ "CMD", "curl", "http://metavoice-server:58004/health" ] interval: 1m timeout: 10s retries: 20 ui: <<: *common-settings container_name: metavoice-ui entrypoint: [ "python3.10", "app.py" ] ports: - 7861:7861 healthcheck: test: [ "CMD", "curl", "http://localhost:7861" ] interval: 1m timeout: 10s retries: 1