Files
Rasadyar_Users/Dockerfile
2026-01-20 07:44:35 +00:00

63 lines
2.2 KiB
Docker

# Dockerfile
FROM registry-ea28d41763-mnpc.apps.ir-central1.arvancaas.ir/python39-rasadyar:1.0.2
ENV TZ="Asia/Tehran"
RUN ls /usr/share/zoneinfo && \
cp /usr/share/zoneinfo/Asia/Tehran /etc/localtime && \
echo "Asia/Tehran" > /etc/timezone && \
dpkg-reconfigure -f noninteractive tzdata
# Set working directory
WORKDIR /app
# ساخت sources.list جدید با mirror ArvanCloud (برای سرعت در ایران)
RUN echo "deb http://mirror.arvancloud.ir/debian bookworm main" > /etc/apt/sources.list \
&& echo "deb-src http://mirror.arvancloud.ir/debian bookworm main" >> /etc/apt/sources.list \
&& echo "deb https://mirror.arvancloud.ir/debian-security bookworm-security main" >> /etc/apt/sources.list \
&& echo "deb-src https://mirror.arvancloud.ir/debian-security bookworm-security main" >> /etc/apt/sources.list \
&& echo "deb http://mirror.arvancloud.ir/debian bookworm-updates main" >> /etc/apt/sources.list \
&& echo "deb-src http://mirror.arvancloud.ir/debian bookworm-updates main" >> /etc/apt/sources.list
# Update + Install system deps (with apt cache)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
libpq-dev \
python3-dev \
libcairo2 \
libcairo2-dev \
libpango-1.0-0 \
libpangoft2-1.0-0 \
libpangocairo-1.0-0 \
libpango1.0-dev \
libgdk-pixbuf-2.0-0 \
libffi-dev \
libjpeg-dev \
libpng-dev \
libfreetype6 \
libharfbuzz0b \
shared-mime-info \
fonts-dejavu \
curl \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Upgrade pip
RUN pip config --user set global.index https://mirror-pypi.runflare.com/simple
RUN pip config --user set global.index-url https://mirror-pypi.runflare.com/simple
RUN pip config --user set global.trusted-host mirror-pypi.runflare.com
RUN pip install --upgrade pip
# Copy requirements
COPY ./requirements.txt .
# Install Python dependencies با cache mount (سرعت pip رو بیشتر می‌کنه)
RUN --mount=type=cache,target=/root/.cache/pip \
pip install --no-cache-dir -r requirements.txt
# Copy project files
COPY . .
# Expose Django port
EXPOSE 8000
# Run Django development server
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]