FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends clamav clamav-freshclam python3 python3-venv ffmpeg ca-certificates libgl1 libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/* \
    && mkdir -p /work /var/lib/clamav \
    && chown -R clamav:clamav /work /var/lib/clamav
WORKDIR /work
ADD https://github.com/Cisco-Talos/clamav/releases/download/clamav-1.4.6/clamav-1.4.6.linux.x86_64.deb /tmp/clamav.deb
RUN echo 'd3ee9e401974855a1edc1761b1425417d126de618d5f0c91cd51209f69f6fcc2  /tmp/clamav.deb' | sha256sum -c - \
    && dpkg-deb -x /tmp/clamav.deb / && rm /tmp/clamav.deb && ldconfig \
    && /usr/local/bin/clamscan --version
ENV PATH="/opt/scanner/bin:/usr/local/bin:/usr/bin:/bin"
RUN python3 -m venv /opt/scanner && /opt/scanner/bin/pip install --no-cache-dir nudenet==3.4.2
COPY server.py /work/server.py
COPY content_scan.py /work/content_scan.py
COPY definitions.py /work/definitions.py
USER clamav
EXPOSE 8080
CMD ["/opt/scanner/bin/python", "/work/server.py"]
