sparkle/Dockerfile

39 lines
777 B
Docker
Raw Normal View History

# base layer
FROM python:3.12-alpine as base
2024-09-06 02:45:54 +00:00
ENV VIRTUAL_ENV=/sparkle/.venv \
PATH="/sparkle/.venv/bin:$PATH"
2024-09-06 02:45:54 +00:00
RUN python -m venv $VIRTUAL_ENV
RUN apk update && \
apk add libpq
# builder layer
FROM base as builder
ENV POETRY_NO_INTERACTION=1 \
POETRY_VIRTUALENVS_IN_PROJECT=true \
POETRY_VIRTUALENVS_CREATE=1 \
POETRY_CACHE_DIR='/tmp/poetry_cache'
RUN apk update && \
apk add musl-dev build-base gcc gfortran openblas-dev
WORKDIR /sparkle
RUN pip install poetry==1.8.3
# Install the app
COPY pyproject.toml poetry.lock ./
2024-09-06 02:45:54 +00:00
RUN poetry install --no-root && rm -rf $POETRY_CACHE_DIR;
FROM base as runtime
COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV}
COPY app ./app
2024-09-06 02:45:54 +00:00
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]