mehdi364 commited on
Commit
c6c293d
·
verified ·
1 Parent(s): e75cb1f

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +32 -27
Dockerfile CHANGED
@@ -1,34 +1,39 @@
1
- # استفاده از ایمیج پایتون 3.10
2
- FROM python:3.10
3
 
4
- # نصب وابستگی‌ها
 
 
 
5
  RUN apt-get update && apt-get install -y \
6
  build-essential \
7
- gcc \
8
- libffi-dev \
9
  python3-dev \
10
- libatlas-base-dev \
11
- git \
12
- wget \
13
- curl
14
-
15
- # دانلود و کامپایل TA-Lib
16
- RUN wget https://cfhcable.dl.sourceforge.net/project/ta-lib/ta-lib/0.4.0/ta-lib-0.4.0-src.tar.gz \
17
- && tar -xzf ta-lib-0.4.0-src.tar.gz \
18
- && cd ta-lib/ \
19
- && ./configure --prefix=/usr \
20
- && make \
21
- && make install
22
- RUN pip install --no-cache-dir TA-Lib
23
-
24
- # تنظیم دایرکتوری پروژه
25
- WORKDIR /app
 
26
 
27
- # کپی کردن فایل‌ها
28
- COPY . /app
 
 
 
29
 
30
- # نصب پکیج‌های مورد نیاز
31
- RUN pip install -r requirements.txt
32
 
33
- # اجرای برنامه
34
- CMD ["python", "app.py"]
 
1
+ # استفاده از نسخه سبک پایتون 3.10
2
+ FROM python:3.10-slim
3
 
4
+ # تنظیم دایرکتوری کاری
5
+ WORKDIR /app
6
+
7
+ # نصب پیش‌نیازها
8
  RUN apt-get update && apt-get install -y \
9
  build-essential \
 
 
10
  python3-dev \
11
+ libta-lib0 \
12
+ ta-lib \
13
+ && rm -rf /var/lib/apt/lists/*
14
+
15
+ # کپی کردن فایل نیازمندی‌ها
16
+ COPY requirements.txt /app/requirements.txt
17
+
18
+ # نصب pip و کتابخانه‌های مورد نیاز
19
+ RUN pip install --no-cache-dir --upgrade pip \
20
+ && pip install --no-cache-dir -r /app/requirements.txt
21
+
22
+ # ساخت کاربر جدید و انتقال مالکیت دایرکتوری به کاربر
23
+ RUN useradd -m -u 1000 user && \
24
+ chown -R user:user /app
25
+
26
+ # تغییر به کاربر معمولی
27
+ USER user
28
 
29
+ # تنظیم متغیرهای محیطی
30
+ ENV HOME=/home/user \
31
+ PATH=/home/user/.local/bin:$PATH \
32
+ PYTHONPATH=$HOME/app \
33
+ PYTHONUNBUFFERED=1
34
 
35
+ # کپی کردن تمام فایل‌های پروژه
36
+ COPY --chown=user . /app
37
 
38
+ # اجرای برنامه اصلی
39
+ CMD ["python", "main.py"]