diff --git a/acestep/ui/components.py b/acestep/ui/components.py index 4b84985..b260e99 100644 --- a/acestep/ui/components.py +++ b/acestep/ui/components.py @@ -94,8 +94,11 @@ def create_text2music_ui( ): with gr.Row(equal_height=True): - curr_file_dir = os.path.dirname(__file__) - output_file_dir = os.path.join(curr_file_dir, "..", "..", "outputs") + # Get base output directory from environment variable, defaulting to CWD-relative 'outputs'. + # This default (./outputs) is suitable for non-Docker local development. + # For Docker, the ACE_OUTPUT_DIR environment variable should be set (e.g., to /app/outputs). + _output_base_dir = os.environ.get("ACE_OUTPUT_DIR", "./outputs") + output_file_dir = os.path.join(_output_base_dir, "text2music") if not os.path.isdir(output_file_dir): os.makedirs(output_file_dir, exist_ok=True) json_files = [f for f in os.listdir(output_file_dir) if f.endswith('.json')] diff --git a/docker-compose.yaml b/docker-compose.yaml index ece967f..abb28f4 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -10,9 +10,11 @@ services: ports: - "7865:7865" volumes: - - ace-step-checkpoints:/app/checkpoints - - ace-step-outputs:/app/outputs - - ace-step-logs:/app/exps/logs + - ./checkpoints:/app/checkpoints + - ./outputs:/app/outputs + - ./logs:/app/logs + environment: + - ACE_OUTPUT_DIR=/app/outputs # command: python app.py --server_name 0.0.0.0 --port 7865 --share False --bf16 True --torch_compile True --device-id 0 healthcheck: test: ["CMD", "curl", "-f", "http://localhost:7865/"] @@ -29,11 +31,3 @@ services: - driver: nvidia count: all capabilities: ["compute", "utility", "graphics", "video"] - -volumes: - ace-step-checkpoints: - name: ace-step-checkpoints - ace-step-outputs: - name: ace-step-outputs - ace-step-logs: - name: ace-step-logs