Dockerized open source antivirus daemons for use with
- file sharing containers like Nextcloud or
- to use it via a REST proxy like @solita made clamav-rest or
- to directly connect to clamav via TCP port
3310
ClamAV daemon as a Docker image. It builds with a current virus database and
runs freshclam
in the background constantly updating the virus signature database. clamd
itself
is listening on exposed port 3310
.
Find the latest releases at the official docker hub registry. There are different releases for the different platforms.
- buster-slim
- stretch-slim
docker run -d -p 3310:3310 mkodockx/docker-clamav:buster-slim
- alpine
- alpine-edge
docker run -d -p 3310:3310 mkodockx/docker-clamav:alpine
Linked usage recommended, to not expose the port to "everyone".
docker run -d --name av mkodockx/docker-clamav(:alpine)
docker run -d --link av:av application-with-clamdscan-or-something
Thanks to @mchus proxy configuration is possible.
- HTTPProxyServer: Allows to set a proxy server
- HTTPProxyPort: Allows to set a proxy server port
Specifying a particular mirror for freshclam is also possible.
- DatabaseMirror: Hostname of the mirror web server.
Virus update definitions are stored in /var/lib/clamav
. To store the defintion just mount the directory as a volume, docker run -d -p 3310:3310 -v ./clamav:/var/lib/clamav mkodockx/docker-clamav:latest
See example with Nextcloud at docker-compose.yml. You still need to configure the AntiVirus files app in Nextcloud.
You can find a tutorial here: https://www.virtualconfusion.net/clamav-for-nextcloud-on-docker/
The images provide with check.sh
a file to check for the healthyness of the running container. To enable the health check configure your docker run
or compose file
. The start period should be adjusted to your system needs. Slow internet connection, with limited cpu and IO speed might require larger values.
docker run --health-cmd=./check.sh --health-start-period=120s --health-interval=60s --health-retries=3 -p 3310:3310 mkodockx/docker-clamav:alpine
services:
clamav:
healthcheck:
test: ["CMD", "./check.sh"]
interval: 60s
retries: 3
start_period: 120s
This image provides support for different platforms
- x86
- amd64
- arm32v7
- arm64v8
- OpenShift support in kuanfandevops fork