services: music-worker: image: ghcr.io/ace-step/ace-step-1.5:latest@sha256:95652cd780c78a1b1a7f6f0335530430f0ae53d96c7c12d59f9f39fa23d38567 container_name: mike-ai-music-acestep-test labels: com.mike-ai.music-worker: "acestep" profiles: ["music-test"] environment: ACESTEP_MODE: gradio ACESTEP_CONFIG_PATH: acestep-v15-xl-sft ACESTEP_LM_MODEL_PATH: acestep-5Hz-lm-1.7B ACESTEP_LLM_BACKEND: pt ACESTEP_INIT_SERVICE: "true" ACESTEP_INIT_LLM: "true" ACESTEP_DEVICE: cuda # The image entrypoint forwards only ACESTEP_EXTRA_ARGS to the UI CLI. # One result per run avoids the batch=2 VRAM/time penalty. # Named Gradio endpoints are consumed by the separate ace-step-ui service. ACESTEP_EXTRA_ARGS: "--batch_size 1 --enable-api" TOKENIZERS_PARALLELISM: "false" NVIDIA_VISIBLE_DEVICES: ${ACESTEP_GPU_UUID:?set ACESTEP_GPU_UUID to the RTX 5080 UUID} deploy: resources: reservations: devices: - driver: nvidia device_ids: ["${ACESTEP_GPU_UUID:?set ACESTEP_GPU_UUID to the RTX 5080 UUID}"] capabilities: [gpu] ports: # Raw Gradio remains available for diagnostics; users open music-ui below. - "127.0.0.1:${ACESTEP_GRADIO_PORT:-7862}:7860" volumes: - ${ACESTEP_CHECKPOINTS_DIR:-/data/models/acestep/checkpoints}:/app/checkpoints - ${ACESTEP_HF_CACHE_DIR:-/data/models/acestep/hf-cache}:/root/.cache/huggingface - ${ACESTEP_OUTPUT_DIR:-/data/music/acestep}:/app/gradio_outputs - ${ACESTEP_OUTPUT_DIR:-/data/music/acestep}:/app/output # Version-pinned UI defaults for XL-SFT quality and lossless output. - ./overrides/model_config.py:/app/acestep/ui/gradio/events/generation/model_config.py:ro - ./overrides/generation_advanced_output_controls.py:/app/acestep/ui/gradio/interfaces/generation_advanced_output_controls.py:ro - ./overrides/user_preferences.py:/app/acestep/ui/gradio/interfaces/user_preferences.py:ro - ./overrides/user_preferences.js:/app/acestep/ui/gradio/interfaces/user_preferences.js:ro shm_size: "2gb" restart: "no" healthcheck: test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:7860/ >/dev/null"] interval: 30s timeout: 10s start_period: 300s retries: 3 networks: - music - frontend music-ui: build: context: ./ace-step-ui args: ACE_STEP_UI_COMMIT: a1fdf91829ec6f7b98844f80e323529cd155dbf2 image: mike-ai/ace-step-ui:a1fdf918 container_name: mike-ai-music-ui environment: NODE_ENV: production PORT: "3001" FRONTEND_URL: ${ACESTEP_UI_PUBLIC_URL:-http://192.168.1.212:7861} ACESTEP_API_URL: http://music-worker:7860 DATABASE_PATH: /data/acestep.db AUDIO_DIR: /data/audio DATASETS_DIR: /data/datasets DATASETS_UPLOADS_DIR: /data/datasets/uploads JWT_SECRET: ${ACESTEP_UI_JWT_SECRET:?set ACESTEP_UI_JWT_SECRET} ports: - "127.0.0.1:${ACESTEP_UI_PORT:-7861}:3000" volumes: - ${ACESTEP_UI_DATA_DIR:-/data/music/ace-step-ui}:/data restart: unless-stopped healthcheck: test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:3000/ >/dev/null && curl -fsS http://127.0.0.1:3001/health >/dev/null"] interval: 30s timeout: 10s start_period: 30s retries: 3 networks: - music - frontend networks: music: name: mike-ai-music frontend: external: true name: mike-ai_frontend