Dockerfile 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. FROM debian:bullseye-slim
  2. LABEL maintainer "André Peters <andre.peters@servercow.de>"
  3. ARG CLAMAV=0.104.2
  4. ARG TINI_VERSION=v0.19.0
  5. RUN apt-get update && apt-get install -y --no-install-recommends \
  6. ca-certificates \
  7. build-essential \
  8. pkg-config \
  9. python3 \
  10. python3-pip \
  11. valgrind \
  12. check \
  13. libbz2-dev \
  14. libcurl4-openssl-dev \
  15. libjson-c-dev \
  16. libmilter-dev \
  17. libncurses5-dev \
  18. libpcre2-dev \
  19. libssl-dev \
  20. libxml2-dev \
  21. zlib1g-dev \
  22. curl \
  23. bash \
  24. wget \
  25. tzdata \
  26. dnsutils \
  27. rsync \
  28. dos2unix \
  29. netcat \
  30. && python3 -m pip install cmake \
  31. && rm -rf /var/lib/apt/lists/* \
  32. && wget -O - https://www.clamav.net/downloads/production/clamav-${CLAMAV}.tar.gz | tar xfvz - \
  33. && cd clamav-${CLAMAV} \
  34. && cmake . \
  35. -D CMAKE_INSTALL_PREFIX=/usr \
  36. -D CMAKE_INSTALL_LIBDIR=/usr/lib \
  37. -D APP_CONFIG_DIRECTORY=/etc/clamav \
  38. -D CMAKE_INSTALL_MANDIR=/usr/share/man \
  39. -D CMAKE_INSTALL_INFODIR=/usr/share/info \
  40. -D CLAMAV_USER=clamav \
  41. -D CLAMAV_GROUP=clamav \
  42. -D DATABASE_DIRECTORY=/var/lib/clamav \
  43. -D ENABLE_APP=ON \
  44. -D ENABLE_JSON_SHARED=OFF \
  45. -D CMAKE_BUILD_TYPE=MinSizeRel \
  46. && cmake --build . -j4 \
  47. && cmake --build . --target install \
  48. && cd .. && rm -rf clamav-${CLAMAV} \
  49. && apt-get -y --auto-remove purge build-essential \
  50. && apt-get -y purge pkg-config \
  51. python3 \
  52. python3-pip \
  53. valgrind \
  54. check \
  55. libbz2-dev \
  56. libcurl4-openssl-dev \
  57. libjson-c-dev \
  58. libmilter-dev \
  59. libncurses5-dev \
  60. libpcre2-dev \
  61. libssl-dev \
  62. libxml2-dev \
  63. zlib1g-dev \
  64. && addgroup --system --gid 700 clamav \
  65. && adduser --system --no-create-home --home /var/lib/clamav --uid 700 --gid 700 --disabled-login clamav \
  66. && rm -rf /tmp/* /var/tmp/*
  67. COPY clamd.sh ./
  68. ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /sbin/tini
  69. RUN chmod +x /sbin/tini
  70. CMD ["/sbin/tini", "-g", "--", "/clamd.sh"]