From e9d67930ccd448bb7cd178e808aa0a70548239da Mon Sep 17 00:00:00 2001 From: mohammadian7 Date: Thu, 4 Jun 2026 13:26:57 +0000 Subject: [PATCH 1/3] Update Dockerfile --- Dockerfile | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2c179e9..44db9dc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,27 +1,25 @@ FROM python:3.12-slim-bookworm -RUN apt-get update && apt-get install -y --no-install-recommends \ - git \ - util-linux \ - ca-certificates \ +ARG http_proxy +ARG https_proxy +ARG no_proxy + +ENV http_proxy=${http_proxy} +ENV https_proxy=${https_proxy} +ENV no_proxy=${no_proxy} + +# تنظیم proxy برای apt +RUN echo "Acquire::http::Proxy \"$http_proxy\";" > /etc/apt/apt.conf.d/99proxy && \ + echo "Acquire::https::Proxy \"$https_proxy\";" >> /etc/apt/apt.conf.d/99proxy + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + git \ + util-linux \ + ca-certificates \ && rm -rf /var/lib/apt/lists/* -WORKDIR /app +# حذف proxy بعد از نصب +RUN rm -f /etc/apt/apt.conf.d/99proxy -COPY requirements.txt . -RUN pip install --no-cache-dir -r requirements.txt - -COPY . . - -RUN mkdir -p /app/data - -ENV HOST_ROOT=/host -ENV DATA_DIR=/app/data -ENV PYTHONUNBUFFERED=1 - -EXPOSE 8765 - -HEALTHCHECK --interval=30s --timeout=10s --retries=3 \ - CMD python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8765/login')" || exit 1 - -CMD ["gunicorn", "-b", "0.0.0.0:8765", "-w", "2", "--timeout", "180", "run:app"] +# ادامه دستورات خودت... From 1c9c1aa7810e10869507ab8d281c2a0a23e1f2d8 Mon Sep 17 00:00:00 2001 From: mohammadian7 Date: Thu, 4 Jun 2026 13:34:33 +0000 Subject: [PATCH 2/3] Update Dockerfile --- Dockerfile | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index 44db9dc..8430db2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,24 +2,27 @@ FROM python:3.12-slim-bookworm ARG http_proxy ARG https_proxy +ARG HTTP_PROXY +ARG HTTPS_PROXY ARG no_proxy +ARG NO_PROXY ENV http_proxy=${http_proxy} ENV https_proxy=${https_proxy} +ENV HTTP_PROXY=${HTTP_PROXY} +ENV HTTPS_PROXY=${HTTPS_PROXY} ENV no_proxy=${no_proxy} +ENV NO_PROXY=${NO_PROXY} -# تنظیم proxy برای apt -RUN echo "Acquire::http::Proxy \"$http_proxy\";" > /etc/apt/apt.conf.d/99proxy && \ - echo "Acquire::https::Proxy \"$https_proxy\";" >> /etc/apt/apt.conf.d/99proxy +RUN echo "Acquire::http::Proxy \"${http_proxy}\";" > /etc/apt/apt.conf.d/99proxy && \ + echo "Acquire::https::Proxy \"${https_proxy}\";" >> /etc/apt/apt.conf.d/99proxy -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - git \ - util-linux \ - ca-certificates \ +RUN apt-get update && apt-get install -y --no-install-recommends \ + git \ + util-linux \ + ca-certificates \ && rm -rf /var/lib/apt/lists/* -# حذف proxy بعد از نصب RUN rm -f /etc/apt/apt.conf.d/99proxy -# ادامه دستورات خودت... +# از اینجا به بعد دستورات اصلی پروژه‌ات From 4ddd51a9750fa0aa3119b0f492a2120cbafc1d8a Mon Sep 17 00:00:00 2001 From: mohammadian7 Date: Thu, 4 Jun 2026 14:12:26 +0000 Subject: [PATCH 3/3] Update Dockerfile --- Dockerfile | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8430db2..acf0a15 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,28 +1,36 @@ FROM python:3.12-slim-bookworm -ARG http_proxy -ARG https_proxy -ARG HTTP_PROXY -ARG HTTPS_PROXY -ARG no_proxy -ARG NO_PROXY +# ۱. تعریف آدرس پروکسی به صورت مستقیم (Hardcoded) برای اطمینان از صحت در مرحله Build +ENV http_proxy=http://172.17.0.1:1081 +ENV https_proxy=http://172.17.0.1:1081 +ENV HTTP_PROXY=http://172.17.0.1:1081 +ENV HTTPS_PROXY=http://172.17.0.1:1081 +ENV no_proxy=localhost,127.0.0.1,172.17.0.1 +ENV NO_PROXY=localhost,127.0.0.1,172.17.0.1 -ENV http_proxy=${http_proxy} -ENV https_proxy=${https_proxy} -ENV HTTP_PROXY=${HTTP_PROXY} -ENV HTTPS_PROXY=${HTTPS_PROXY} -ENV no_proxy=${no_proxy} -ENV NO_PROXY=${NO_PROXY} - -RUN echo "Acquire::http::Proxy \"${http_proxy}\";" > /etc/apt/apt.conf.d/99proxy && \ - echo "Acquire::https::Proxy \"${https_proxy}\";" >> /etc/apt/apt.conf.d/99proxy +# ۲. تنظیم پروکسی برای APT (استفاده از آدرس مستقیم به جای متغیر برای جلوگیری از خطای خالی بودن) +RUN echo 'Acquire::http::Proxy "http://172.17.0.1:1081";' > /etc/apt/apt.conf.d/99proxy && \ + echo 'Acquire::https::Proxy "http://172.17.0.1:1081";' >> /etc/apt/apt.conf.d/99proxy +# ۳. نصب پکیج‌های مورد نیاز (حالا بدون خطا اجرا می‌شود) RUN apt-get update && apt-get install -y --no-install-recommends \ git \ util-linux \ ca-certificates \ && rm -rf /var/lib/apt/lists/* -RUN rm -f /etc/apt/apt.conf.d/99proxy +# ۴. حذف تنظیمات پروکسی APT (اختیاری - اگر می‌خواهید در زمان اجرای برنامه پروکسی فعال نباشد) +# RUN rm -f /etc/apt/apt.conf.d/99proxy -# از اینجا به بعد دستورات اصلی پروژه‌ات +# ۵. تنظیمات محیط کاری +WORKDIR /app + +# ۶. نصب کتابخانه‌های پایتون (Pip هم از ENV بالا استفاده می‌کند) +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +# ۷. کپی کردن بقیه کدها +COPY . . + +# ۸. دستور اجرای برنامه +CMD ["python", "main.py"]