| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 | 
							- FROM alpine:3.21 AS builder
 
- WORKDIR /src
 
- ENV CLAMD_VERSION=1.4.2
 
- RUN apk upgrade --no-cache \
 
-   && apk add --update --no-cache \
 
-     g++ \
 
-     gcc \
 
-     gdb \
 
-     make \
 
-     cmake \
 
-     py3-pytest \
 
-     python3 \
 
-     valgrind \
 
-     bzip2-dev \
 
-     check-dev \
 
-     curl-dev \
 
-     json-c-dev \
 
-     libmilter-dev \
 
-     libxml2-dev \
 
-     linux-headers \
 
-     ncurses-dev \
 
-     openssl-dev \
 
-     pcre2-dev \
 
-     zlib-dev \
 
-     cargo \
 
-     rust
 
- RUN wget -P /src https://www.clamav.net/downloads/production/clamav-${CLAMD_VERSION}.tar.gz \
 
-   && tar xzfv /src/clamav-${CLAMD_VERSION}.tar.gz \
 
-   && cd /src/clamav-${CLAMD_VERSION} \
 
-   && cmake . \
 
-   -D CMAKE_BUILD_TYPE="Release"                                                       \
 
-   -D CMAKE_INSTALL_PREFIX="/usr"                                                      \
 
-   -D CMAKE_INSTALL_LIBDIR="/usr/lib"                                                  \
 
-   -D APP_CONFIG_DIRECTORY="/etc/clamav"                                               \
 
-   -D DATABASE_DIRECTORY="/var/lib/clamav"                                             \
 
-   -D ENABLE_CLAMONACC=OFF                                                             \
 
-   -D ENABLE_EXAMPLES=OFF                                                              \
 
-   -D ENABLE_MILTER=ON                                                                 \
 
-   -D ENABLE_MAN_PAGES=OFF                                                             \
 
-   -D ENABLE_STATIC_LIB=OFF                                                            \
 
-   -D ENABLE_JSON_SHARED=ON                                                            \ 
 
-   && cmake --build . \
 
-   && make DESTDIR="/clamav" -j$(($(nproc) - 1)) install \
 
-   && rm -r "/clamav/usr/lib/pkgconfig/" \
 
-   && sed -e "s|^\(Example\)|\# \1|" \
 
-     -e "s|.*\(LocalSocket\) .*|\1 /tmp/clamd.sock|" \
 
-     -e "s|.*\(TCPSocket\) .*|\1 3310|" \
 
-     -e "s|.*\(TCPAddr\) .*|#\1 0.0.0.0|" \
 
-     -e "s|.*\(User\) .*|\1 clamav|" \
 
-     -e "s|^\#\(LogFile\) .*|\1 /var/log/clamav/clamd.log|" \
 
-     -e "s|^\#\(LogTime\).*|\1 yes|" \
 
-     "/clamav/etc/clamav/clamd.conf.sample" > "/clamav/etc/clamav/clamd.conf" \
 
-   && sed -e "s|^\(Example\)|\# \1|" \
 
-     -e "s|.*\(DatabaseOwner\) .*|\1 clamav|" \
 
-     -e "s|^\#\(UpdateLogFile\) .*|\1 /var/log/clamav/freshclam.log|" \
 
-     -e "s|^\#\(NotifyClamd\).*|\1 /etc/clamav/clamd.conf|" \
 
-     -e "s|^\#\(ScriptedUpdates\).*|\1 yes|" \
 
-     "/clamav/etc/clamav/freshclam.conf.sample" > "/clamav/etc/clamav/freshclam.conf" \
 
-   && sed -e "s|^\(Example\)|\# \1|" \
 
-   -e "s|.*\(MilterSocket\) .*|\1 inet:7357|" \
 
-   -e "s|.*\(User\) .*|\1 clamav|" \
 
-   -e "s|^\#\(LogFile\) .*|\1 /var/log/clamav/milter.log|" \
 
-   -e "s|^\#\(LogTime\).*|\1 yes|" \
 
-   -e "s|.*\(\ClamdSocket\) .*|\1 unix:/tmp/clamd.sock|" \
 
-   "/clamav/etc/clamav/clamav-milter.conf.sample" > "/clamav/etc/clamav/clamav-milter.conf" || exit 1
 
- FROM alpine:3.21
 
- LABEL maintainer = "The Infrastructure Company GmbH <info@servercow.de>"
 
- RUN apk upgrade --no-cache \
 
-   && apk add --update --no-cache \
 
-     tzdata \
 
-     rsync \
 
-     bind-tools \
 
-     bash \
 
-     tini \
 
-     json-c \
 
-     libbz2 \
 
-     libcurl \
 
-     libmilter \
 
-     libxml2 \
 
-     ncurses-libs \
 
-     pcre2 \
 
-     zlib \
 
-     libgcc \
 
-   && addgroup -S "clamav" && \
 
-     adduser -D -G "clamav" -h "/var/lib/clamav" -s "/bin/false" -S "clamav" && \
 
-     install -d -m 755 -g "clamav" -o "clamav" "/var/log/clamav" && \
 
-     chown -R clamav:clamav /var/lib/clamav
 
- COPY --from=builder "/clamav" "/"
 
- # init
 
- COPY clamd.sh /clamd.sh
 
- RUN chmod +x /sbin/tini
 
- # healthcheck
 
- COPY healthcheck.sh /healthcheck.sh
 
- COPY clamdcheck.sh /usr/local/bin
 
- RUN chmod +x /healthcheck.sh
 
- RUN chmod +x /usr/local/bin/clamdcheck.sh
 
- HEALTHCHECK --start-period=6m CMD "/healthcheck.sh"
 
- ENTRYPOINT []
 
- CMD ["/sbin/tini", "-g", "--", "/clamd.sh"]
 
 
  |