File size: 1,316 Bytes
5ce5971
 
 
4c311c6
e2a55c3
5ce5971
4c311c6
 
 
c347685
cae0b5d
4c311c6
4039c1e
4c311c6
 
4039c1e
5ce5971
15e7622
5ce5971
4c311c6
15e7622
4c311c6
 
 
5ce5971
a49b52f
4c311c6
15e7622
a49b52f
15e7622
4c311c6
5ce5971
a49b52f
 
 
5ce5971
4c311c6
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
# Base image
FROM python:3.10-slim

# نصب وابستگی‌های ضروری
RUN apt-get update && apt-get install -y git libgl1-mesa-glx libglib2.0-0 && rm -rf /var/lib/apt/lists/*

# ایجاد کاربر غیر روت برای امنیت
RUN useradd -m -u 1000 user
USER user

# ایجاد دایرکتوری‌های لازم
RUN mkdir -p /home/user/app/hf_cache

# تنظیم مسیر کاری
WORKDIR /home/user/app

# کلون کردن ریپو CelebAMask-HQ
RUN git clone https://github.com/switchablenorms/CelebAMask-HQ.git

# تنظیم متغیرهای محیطی
ENV PYTHONPATH="/home/user/app/CelebAMask-HQ:/home/user/app/CelebAMask-HQ/face_parsing:${PYTHONPATH}"
ENV HF_HOME="/home/user/app/hf_cache"
ENV TRANSFORMERS_CACHE="/home/user/app/hf_cache"
ENV HUGGINGFACE_HUB_CACHE="/home/user/app/hf_cache"

# کپی فایل‌های مورد نیاز
COPY --chown=user:user requirements.txt .
COPY --chown=user:user unet.py /home/user/app/CelebAMask-HQ/face_parsing/
COPY --chown=user:user model_utils.py /home/user/app/CelebAMask-HQ/face_parsing/
COPY --chown=user:user utils.py /home/user/app/CelebAMask-HQ/face_parsing/
COPY --chown=user:user app.py .

# نصب پکیج‌ها
RUN pip install --no-cache-dir -r requirements.txt

# دستور پیش‌فرض اجرای اپ
CMD ["python", "app.py"]