49 lines
1.1 KiB
Docker
49 lines
1.1 KiB
Docker
|
ARG PYTHON_VERSION=3.11.0
|
||
|
ARG POETRY_VERSION=1.5
|
||
|
|
||
|
FROM python:${PYTHON_VERSION} as staging
|
||
|
|
||
|
ARG APP_NAME=verbanote
|
||
|
ARG APP_PATH=/verbanote
|
||
|
ARG PYTHON_VERSION
|
||
|
ARG POETRY_VERSION
|
||
|
ARG VERBANOTE_OUTPUT_PATH=/transcriptions
|
||
|
|
||
|
ENV \
|
||
|
PYTHONDONTWRITEBYTECODE=1 \
|
||
|
PYTHONUNBUFFERED=1 \
|
||
|
PYTHONFAULTHANDLER=1
|
||
|
|
||
|
ENV \
|
||
|
POETRY_VERSION=${POETRY_VERSION} \
|
||
|
POETRY_HOME=/opt/poetry \
|
||
|
POETRY_VIRTUALENVS_IN_PROJECT=true \
|
||
|
POETRY_NO_INTERACTION=1
|
||
|
|
||
|
# installing poetry
|
||
|
RUN curl -sSL https://install.python-poetry.org | python3 -
|
||
|
ENV PATH="${POETRY_HOME}/bin:${PATH}"
|
||
|
|
||
|
WORKDIR ${APP_PATH}
|
||
|
COPY ./poetry.lock ./pyproject.toml ./
|
||
|
COPY ./${APP_NAME} ./${APP_NAME}
|
||
|
|
||
|
# --------------
|
||
|
|
||
|
FROM staging as worker
|
||
|
ARG APP_NAME
|
||
|
ARG APP_PATH
|
||
|
ARG VERBANOTE_OUTPUT_PATH
|
||
|
ENV APP_NAME=${APP_NAME}
|
||
|
ENV APP_PATH=${APP_PATH}
|
||
|
ENV VERBANOTE_OUTPUT_PATH=${VERBANOTE_OUTPUT_PATH}
|
||
|
|
||
|
WORKDIR ${APP_PATH}
|
||
|
RUN poetry install
|
||
|
RUN mkdir -p ${VERBANOTE_OUTPUT_PATH}
|
||
|
|
||
|
COPY ./docker/docker-entrypoint.sh /docker-entrypoint.sh
|
||
|
RUN chmod +x /docker-entrypoint.sh
|
||
|
ENTRYPOINT [ "/docker-entrypoint.sh" ]
|
||
|
CMD [ "python", "-u", "${APP_PATH}/{${APP_NAME}/rp_handler.py" ]
|