diff --git a/Dockerfile b/Dockerfile index 19a42f83e8..ffa8f85e77 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # pull official base image -FROM python:3.12-slim-bookworm +FROM python:3.12-slim-bookworm AS djangoproject-www-base # set work directory WORKDIR /usr/src/app @@ -33,13 +33,10 @@ RUN apt-get update \ libc6-dev \ libpq-dev \ zlib1g-dev \ - && python3 -m pip install --no-cache-dir -r ${REQ_FILE} \ - && apt-get purge --assume-yes --auto-remove \ - gcc \ - libc6-dev \ - libpq-dev \ - zlib1g-dev \ - && rm -rf /var/lib/apt/lists/* + && python3 -m pip install --no-cache-dir -r ${REQ_FILE} + + +FROM djangoproject-www-base AS djangoproject-www-dev # install node dependencies COPY ./package.json ./package.json @@ -48,5 +45,15 @@ RUN npm install # copy project COPY . . + +FROM djangoproject-www-dev AS djangoproject-www-prod + +RUN apt-get purge --assume-yes --auto-remove \ + gcc \ + libc6-dev \ + libpq-dev \ + zlib1g-dev \ + && rm -rf /var/lib/apt/lists/* + # ENTRYPOINT is specified only in the local docker-compose.yml to avoid # accidentally running it in deployed environments. diff --git a/docker-compose.yml b/docker-compose.yml index 8f875e2b52..3495365540 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,6 +3,7 @@ services: build: context: ./ dockerfile: Dockerfile + target: djangoproject-www-dev args: - REQ_FILE=requirements/tests.txt entrypoint: ./docker-entrypoint.dev.sh