65 lines
1.5 KiB
Docker
65 lines
1.5 KiB
Docker
# FROM python:3.8
|
|
#
|
|
# ARG YOUR_ENV
|
|
#
|
|
# WORKDIR /app/service
|
|
#
|
|
# COPY ./src ./src
|
|
# COPY ./cv_analysis ./cv_analysis
|
|
# COPY pyproject.toml .
|
|
# COPY poetry.lock .
|
|
#
|
|
# ENV YOUR_ENV=${YOUR_ENV} \
|
|
# PYTHONFAULTHANDLER=1 \
|
|
# PYTHONUNBUFFERED=1 \
|
|
# PYTHONHASHSEED=random \
|
|
# PIP_NO_CACHE_DIR=off \
|
|
# PIP_DISABLE_PIP_VERSION_CHECK=on \
|
|
# PIP_DEFAULT_TIMEOUT=100 \
|
|
# POETRY_VERSION=1.2.2
|
|
#
|
|
# # System deps:
|
|
# RUN curl -sSL https://install.python-poetry.org | POETRY_HOME=/etc/poetry python3 -
|
|
# ENV PATH="$PATH:/etc/poetry/bin/"
|
|
# RUN poetry --version
|
|
#
|
|
# # Project initialization:
|
|
# RUN poetry config virtualenvs.create false
|
|
# RUN poetry install --no-interaction --no-ansi
|
|
#
|
|
# CMD ["python3", "-u", "src/serve.py"]
|
|
|
|
|
|
|
|
FROM python:3.8 as builder
|
|
ARG SSH_KEY
|
|
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
|
|
|
|
RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python
|
|
|
|
COPY pyproject.toml poetry.lock ./src ./
|
|
COPY cv_analysis ./cv_analysis
|
|
RUN /opt/poetry/bin/poetry install --no-interaction --no-root --only main
|
|
|
|
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
|
|
|
|
CMD ["python3", "-u", "src/serve.py"]
|