FROM python:3.12-slim

WORKDIR /app

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

COPY pyproject.toml README.md LICENSE ./
COPY src/ src/
COPY alembic.ini alembic/ ./alembic/
COPY plugins/ plugins/

RUN pip install --no-cache-dir ".[server,crawler]"

EXPOSE 9000

ENV SUFA_DB_URL="sqlite:///data/sufa.db"

VOLUME ["/data"]

ENTRYPOINT ["sufa"]
CMD ["server", "start", "--port", "9000"]
