mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2025-02-05 06:00:59 +03:00
ff98d8f517
They are now the default and cause a warning: WARNING: --use-feature=2020-resolver no longer has any effect, since it is now the default dependency resolver in pip. This will become an error in pip 21.0.
75 lines
2.0 KiB
Docker
75 lines
2.0 KiB
Docker
# Python build stage
|
|
FROM python:3.8-slim-buster as python-build-stage
|
|
ENV PYTHONDONTWRITEBYTECODE 1
|
|
|
|
RUN apt-get update && apt-get install --no-install-recommends -y \
|
|
# dependencies for building Python packages
|
|
build-essential \
|
|
# psycopg2 dependencies
|
|
libpq-dev \
|
|
# cleaning up unused files
|
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
# Requirements are installed here to ensure they will be cached.
|
|
COPY ./requirements /requirements
|
|
|
|
# create python dependency wheels
|
|
RUN pip wheel --no-cache-dir --no-deps --wheel-dir /usr/src/app/wheels \
|
|
-r /requirements/local.txt \
|
|
&& rm -rf /requirements
|
|
|
|
|
|
# Python 'run' stage
|
|
FROM python:3.8-slim-buster as python-run-stage
|
|
|
|
ENV PYTHONUNBUFFERED 1
|
|
ENV PYTHONDONTWRITEBYTECODE 1
|
|
|
|
COPY ./compose/production/django/entrypoint /entrypoint
|
|
RUN sed -i 's/\r$//g' /entrypoint
|
|
RUN chmod +x /entrypoint
|
|
|
|
COPY ./compose/local/django/start /start
|
|
RUN sed -i 's/\r$//g' /start
|
|
RUN chmod +x /start
|
|
|
|
{% if cookiecutter.use_celery == "y" %}
|
|
COPY ./compose/local/django/celery/worker/start /start-celeryworker
|
|
RUN sed -i 's/\r$//g' /start-celeryworker
|
|
RUN chmod +x /start-celeryworker
|
|
|
|
COPY ./compose/local/django/celery/beat/start /start-celerybeat
|
|
RUN sed -i 's/\r$//g' /start-celerybeat
|
|
RUN chmod +x /start-celerybeat
|
|
|
|
COPY ./compose/local/django/celery/flower/start /start-flower
|
|
RUN sed -i 's/\r$//g' /start-flower
|
|
RUN chmod +x /start-flower
|
|
{% endif %}
|
|
|
|
|
|
# installing required system dependencies
|
|
RUN apt-get update && apt-get install --no-install-recommends -y \
|
|
# psycopg2 dependencies
|
|
libpq-dev \
|
|
# Translations dependencies
|
|
gettext \
|
|
# cleaning up unused files
|
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
# copy python dependency wheels from python-build-stage
|
|
COPY --from=python-build-stage /usr/src/app/wheels /wheels
|
|
|
|
# use wheels to install python dependencies
|
|
RUN pip install --no-cache /wheels/* \
|
|
&& rm -rf /wheels
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
ENTRYPOINT ["/entrypoint"]
|