2023-02-01 14:48:43 +01:00

44 lines
1.1 KiB
Docker

FROM python:3.8 as builder
ARG SSH_KEY
# ARG SSH_KEY_PUB
ENV PYTHONUNBUFFERED=true
WORKDIR /app
ENV POETRY_HOME=/opt/poetry
ENV POETRY_VIRTUALENVS_IN_PROJECT=true
ENV PATH="$POETRY_HOME/bin:$PATH"
RUN mkdir /root/.ssh/ && \
chmod 700 /root/.ssh/ && \
echo "${SSH_KEY}" > /root/.ssh/id_rsa && \
chmod 600 /root/.ssh/id_rsa && \
ssh-keyscan -p 2222 git.iqser.com >> /root/.ssh/known_hosts
# echo "${SSH_KEY_PUB}" > /root/.ssh/id_rsa.pub && \
# chmod 600 /root/.ssh/id_rsa.pub && \
RUN curl -sSL https://install.python-poetry.org | python3 -
COPY pyproject.toml poetry.lock ./
RUN poetry config virtualenvs.create false && \
poetry install --without=dev -vvv --no-interaction --no-root
FROM python:3.8-bullseye as prod
ENV PYTHONUNBUFFERED=true
WORKDIR /app
ENV PATH="/app/.venv/bin:$PATH"
COPY --from=builder /app /app
COPY ./src ./
USER 1001
EXPOSE 5000
EXPOSE 8080
CMD ["python3", "src/serve.py"]
# TESTS
# RUN apt update --yes
# RUN apt install vim --yes
# RUN apt install poppler-utils --yes
# CMD coverage run -m pytest test/ --tb=native -q -s -vvv -x && coverage combine && coverage report -m && coverage xml