diff --git a/api/Dockerfile b/api/Dockerfile index 229c85d7e9..4bd1e68db7 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -1,7 +1,18 @@ -FROM python:3.10-slim +# packages install stage +FROM python:3.10-slim AS base LABEL maintainer="takatost@gmail.com" +RUN apt-get update \ + && apt-get install -y --no-install-recommends gcc g++ python3-dev libc-dev libffi-dev + +COPY requirements.txt /requirements.txt + +RUN pip install --prefix=/pkg -r requirements.txt + +# build stage +FROM python:3.10-slim AS builder + ENV FLASK_APP app.py ENV EDITION SELF_HOSTED ENV DEPLOY_ENV PRODUCTION @@ -15,13 +26,12 @@ EXPOSE 5001 WORKDIR /app/api -RUN apt-get update && \ - apt-get install -y bash curl wget vim gcc g++ python3-dev libc-dev libffi-dev nodejs - -COPY requirements.txt /app/api/requirements.txt - -RUN pip install -r requirements.txt +RUN apt-get update \ + && apt-get install -y --no-install-recommends bash curl wget vim nodejs \ + && apt-get autoremove \ + && rm -rf /var/lib/apt/lists/* +COPY --from=base /pkg /usr/local COPY . /app/api/ COPY docker/entrypoint.sh /entrypoint.sh