44 lines
1.1 KiB
Docker
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
|