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