Browse Source

Update dockerfile structure

256-proposer-une-image-docker-de-prod
chapeau 2 years ago
parent
commit
fe382783c0
  1. 22
      Dockerfile
  2. 4
      docker-compose.yml
  3. 3
      docker/docker-entrypoint.sh

22
Dockerfile

@ -1,9 +1,25 @@
FROM python:3.9-bullseye FROM python:3.9-bullseye AS base
ENV PYTHONUNBUFFERED=1 ENV PYTHONUNBUFFERED=1
RUN pip install poetry RUN pip install poetry
WORKDIR /code WORKDIR /code
RUN apt-get update && apt-get install -y --no-install-recommends gettext-base libpq-dev RUN apt-get update && apt-get install -y --no-install-recommends gettext-base libpq-dev graphviz
COPY pyproject.toml poetry.lock /code/ COPY pyproject.toml poetry.lock /code/
RUN poetry install --with dev --extras "postgresql" RUN poetry install --with dev --extras "postgresql"
COPY . /code/ COPY . /code/
CMD ./docker/docker-entrypoint.sh CMD ./docker/docker-entrypoint.sh
FROM base AS ldap
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get install -y --no-install-recommends libldap-dev slapd libsasl2-dev
FROM base AS mysql
RUN poetry install --with dev --extras "mysql"
FROM base AS postgres
RUN poetry install --with dev --extras "postgresql"
FROM ldap AS mysql-ldap
RUN poetry install --with dev --extras "mysql ldap"
FROM ldap AS postgres-ldap
RUN poetry install --with dev --extras "postgresql ldap"

4
docker-compose.yml

@ -15,7 +15,9 @@ services:
- POSTGRES_PASSWORD=postgres - POSTGRES_PASSWORD=postgres
re2o: re2o:
build: . build:
context: .
target: postgres
volumes: volumes:
- .:/code - .:/code
ports: ports:

3
docker/docker-entrypoint.sh

@ -12,6 +12,9 @@ if [ "$AUTOMIGRATE" != "skip" ]; then
poetry run python manage.py migrate --noinput poetry run python manage.py migrate --noinput
fi fi
poetry run python manage.py collectstatic
poetry run python manage.py compilemessages
cat <<EOF | poetry run python manage.py shell cat <<EOF | poetry run python manage.py shell
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model

Loading…
Cancel
Save