37 lines
955 B
Docker
37 lines
955 B
Docker
FROM python:3.12.0-slim-bookworm
|
|
LABEL maintainer="devfzn@gmail.com"
|
|
|
|
ENV PYTHONUNBUFFERED 1
|
|
|
|
COPY ./requirements.txt /tmp/requirements.txt
|
|
COPY ./requirements.dev.txt /tmp/requirements.dev.txt
|
|
COPY ./app /app
|
|
WORKDIR /app
|
|
EXPOSE 8000
|
|
|
|
ARG DEV=false
|
|
|
|
RUN python -m venv /py && \
|
|
apt update && \
|
|
apt install -y postgresql-client libjpeg-dev python3-dev libpq-dev \
|
|
gcc python3-psycopg2 zlib1g zlib1g-dev && \
|
|
apt clean && \
|
|
/py/bin/pip install --upgrade pip && \
|
|
/py/bin/pip install -r /tmp/requirements.txt && \
|
|
if [ $DEV = "true" ]; \
|
|
then /py/bin/pip install -r /tmp/requirements.dev.txt ; \
|
|
fi && \
|
|
rm -rf /tmp && \
|
|
adduser \
|
|
--disabled-password \
|
|
--no-create-home \
|
|
django-user && \
|
|
mkdir -p /vol/web/media && \
|
|
mkdir -p /vol/web/static && \
|
|
chown -R django-user:django-user /vol && \
|
|
chmod -R 755 /vol
|
|
|
|
ENV PATH="/py/bin:$PATH"
|
|
|
|
USER django-user
|