danicor commited on
Commit
984afe2
·
verified ·
1 Parent(s): c87739f

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +49 -0
Dockerfile ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # استفاده از Python 3.9 به عنوان Base Image
2
+ FROM python:3.9-slim
3
+
4
+ # تنظیمات متغیرهای محیطی
5
+ ENV PYTHONUNBUFFERED=1
6
+ ENV PYTHONDONTWRITEBYTECODE=1
7
+ ENV HF_HOME=/app/.cache
8
+ ENV TRANSFORMERS_CACHE=/app/.cache
9
+ ENV TORCH_HOME=/app/.cache
10
+
11
+ # نصب ابزارهای سیستم مورد نیاز
12
+ RUN apt-get update && apt-get install -y \
13
+ gcc \
14
+ g++ \
15
+ git \
16
+ curl \
17
+ build-essential \
18
+ && rm -rf /var/lib/apt/lists/*
19
+
20
+ # تنظیم دایرکتوری کار
21
+ WORKDIR /app
22
+
23
+ # ایجاد کاربر غیر-root برای امنیت بهتر
24
+ RUN groupadd -r appuser && useradd -r -g appuser appuser
25
+
26
+ # ایجاد و تنظیم مجوزهای پوشه‌ها
27
+ RUN mkdir -p /app/.cache && \
28
+ chown -R appuser:appuser /app && \
29
+ chmod -R 755 /app
30
+
31
+ # کپی فایل requirements و نصب وابستگی‌ها
32
+ COPY requirements.txt .
33
+ RUN pip install --no-cache-dir --upgrade pip && \
34
+ pip install --no-cache-dir -r requirements.txt
35
+
36
+ # کپی کد اپلیکیشن
37
+ COPY app.py .
38
+
39
+ # تغییر مالکیت فایل‌ها به appuser
40
+ RUN chown -R appuser:appuser /app
41
+
42
+ # تغییر به کاربر غیر-root
43
+ USER appuser
44
+
45
+ # تنظیم پورت
46
+ EXPOSE 7860
47
+
48
+ # دستور اجرای اپلیکیشن
49
+ CMD ["python", "app.py"]