FROM python:3.12-slim

WORKDIR /app

# System deps for Pillow (image dimensions); kept minimal.
RUN apt-get update \
 && apt-get install -y --no-install-recommends \
        libjpeg62-turbo \
 && rm -rf /var/lib/apt/lists/*

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY src/     /app/src/
COPY main.py  /app/main.py

ENV PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1

# Mount points used by main.py defaults
VOLUME ["/mnt/suwayomi", "/mnt/kavita", "/config"]

EXPOSE 8080

CMD ["python", "/app/main.py"]
