|
@@ -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
|