| FROM python:3.10-slim | |||||
| # packages install stage | |||||
| FROM python:3.10-slim AS base | |||||
| LABEL maintainer="takatost@gmail.com" | 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 FLASK_APP app.py | ||||
| ENV EDITION SELF_HOSTED | ENV EDITION SELF_HOSTED | ||||
| ENV DEPLOY_ENV PRODUCTION | ENV DEPLOY_ENV PRODUCTION | ||||
| WORKDIR /app/api | 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 . /app/api/ | ||||
| COPY docker/entrypoint.sh /entrypoint.sh | COPY docker/entrypoint.sh /entrypoint.sh |