# Sử dụng Python 3.11 làm nền tảng FROM python:3.11-slim # Cài đặt các gói thư viện đồ hoạ và asound bắt buộc đối với JUCE / VST3 Linux (22_CLIENT_DESK.md) RUN apt-get update && apt-get install -y \ libgl1 \ libglx-mesa0 \ libglu1-mesa \ libasound2 \ libjack-jackd2-0 \ libfreetype6 \ libfontconfig1 \ libx11-6 \ libxext6 \ libxinerama1 \ libxrandr2 \ libxcursor1 \ xvfb \ ffmpeg \ libsndfile1 \ build-essential \ && rm -rf /var/lib/apt/lists/* # Thiết lập biến môi trường hiển thị cho X11 ảo ENV DISPLAY=:99 WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . # Tạo thư mục chứa file nhạc và cấp quyền ghi RUN mkdir -p /app/app/storage/uploads /app/app/storage/processed && chmod -R 777 /app/app/storage # Mặc định mở port 8000 cho FastAPI EXPOSE 8000 # Khởi chạy Xvfb ảo ở cổng :99 trước khi kích hoạt FastAPI / Celery CMD ["sh", "-c", "Xvfb :99 -screen 0 1024x768x16 & uvicorn app.main:app --host 0.0.0.0 --port 8000"]