version: '3.8' services: # Tên dịch vụ, bạn có thể thay đổi my_python_app: # Thay thế bằng tên image Docker đã build của bạn image: text2speech # Nếu bạn muốn Docker Compose tự động build image build: context: . dockerfile: Dockerfile # Mở cổng cho ứng dụng (Gradio/FastAPI thường dùng 7860, thay đổi nếu cần) ports: - "7860:7860" # Map thư mục hiện tại chứa code của bạn vào WORKDIR trong container # Giúp dễ dàng thay đổi code mà không cần rebuild image volumes: - .:/home/user/app # Thư mục làm việc trong container, dựa trên WORKDIR từ Dockerfile working_dir: /home/user/app # Lệnh chạy ứng dụng sau khi container khởi động # Cần thay đổi lệnh này cho phù hợp với cách bạn khởi chạy ứng dụng (e.g., Gradio script, Uvicorn, Gunicorn) command: python app/main.py # Thiết lập user như trong Dockerfile (UID 1000) user: "1000:1000" # --- Cấu hình cho GPU (Nếu ứng dụng cần Torch/CUDA/NVIDIA) --- # Bỏ qua phần này nếu bạn chỉ chạy trên CPU deploy: resources: reservations: devices: - driver: nvidia count: all # Sử dụng tất cả GPU, hoặc thay bằng số lượng: "1" capabilities: [gpu] runtime: nvidia # Sử dụng runtime NVIDIA (cần cài đặt NVIDIA Container Toolkit) # ---------------------------------------------------------------- # Khởi động lại nếu nó bị lỗi hoặc dừng restart: always