FROM python:3.12-slim

ENV PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1 \
    PIP_NO_CACHE_DIR=1

RUN apt-get update \
    && apt-get install -y --no-install-recommends curl \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY requirements.txt .
RUN pip install -r requirements.txt
RUN opentelemetry-bootstrap -a install

COPY common ./common
COPY services ./services
COPY db ./db
COPY scripts ./scripts

# CMD differs per service -- see docker-compose.yml.
CMD ["python", "-c", "print('no default command: set one in docker-compose.yml')"]
