File size: 1,035 Bytes
8af4a0a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 使用官方 Python 3.11 slim 版本作為基礎映像
FROM python:3.11-slim

# 設定工作目錄
WORKDIR /app

# 安裝系統依賴
RUN apt-get update && apt-get install -y \
    libgl1-mesa-glx \
    libglib2.0-0 \
    libsm6 \
    libxext6 \
    libxrender-dev \
    libgomp1 \
    wget \
    build-essential \
    g++ \
    cmake \
    && rm -rf /var/lib/apt/lists/*

# 複製 requirements.txt 並安裝 Python 依賴
COPY backend/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# 創建模型目錄(模型檔案由 docker-compose.yml 中的 model-downloader 服務下載)
RUN mkdir -p /app/{models,results,uploads}

# 由於使用 volume 掛載,不需要 COPY 後端代碼
# 後端代碼會通過 docker-compose.yml 中的 volume 掛載

# 設定環境變數
ENV PYTHONPATH=/app
ENV ENVIRONMENT=development

# 暴露端口
EXPOSE 3001

# 啟動命令(會被 docker-compose.yml 中的 command 覆蓋)
CMD ["python", "-m", "uvicorn", "app:app", "--host", "0.0.0.0", "--port", "3001", "--reload"]