mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 12:19:06 +00:00
- replaced loguru to structlog, to get ability of having open tracing later - moved configuration to pydantic-settings - merged both secrets.ini and config.ini to .env (check reflector/settings.py)
30 lines
845 B
Docker
30 lines
845 B
Docker
FROM python:3.11-slim as base
|
|
|
|
ENV PIP_DEFAULT_TIMEOUT=100 \
|
|
PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
|
PIP_NO_CACHE_DIR=1 \
|
|
PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONUNBUFFERED=1 \
|
|
POETRY_VERSION=1.3.1
|
|
|
|
# install packages needed for base
|
|
# RUN apt-get update && apt-get install -y make gettext
|
|
|
|
# builder
|
|
FROM base AS builder
|
|
WORKDIR /tmp
|
|
# RUN apt-get install -y build-essential libffi-dev zlib1g-dev
|
|
COPY pyproject.toml poetry.lock /tmp
|
|
RUN pip install "poetry==$POETRY_VERSION"
|
|
RUN python -m venv /venv
|
|
RUN . /venv/bin/activate && poetry config virtualenvs.create false
|
|
RUN . /venv/bin/activate && poetry install --only main --no-root --no-interaction --no-ansi
|
|
|
|
# bootstrap
|
|
FROM base AS final
|
|
COPY --from=builder /venv /venv
|
|
RUN mkdir -p /app
|
|
COPY reflector /app/reflector
|
|
WORKDIR /app
|
|
CMD ["/venv/bin/python", "-m", "reflector.server"]
|