Skip to content

Dockerized open source antivirus for use with file sharing containers, REST API or TCP.

License

Notifications You must be signed in to change notification settings

WhiteBahamut/docker-clamav

 
 

Repository files navigation

docker-clamav

ClamAV Logo

ClamAV latest.stable

Dockerized open source antivirus daemons for use with

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.

Releases

Find the latest releases at the official docker hub registry. There are different releases for the different platforms.

Usage

Debian (default, :latest, :buster-slim, :stretch-slim)

  • buster-slim
  • stretch-slim
    docker run -d -p 3310:3310 mkodockx/docker-clamav:buster-slim

Alpine (:alpine, :alpine-edge)

  • 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

Environment VARs

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.

Persistency

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

docker-compose

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/

Healthcheck

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

docker run --health-cmd=./check.sh --health-start-period=120s --health-interval=60s --health-retries=3 -p 3310:3310 mkodockx/docker-clamav:alpine

compose

  services:
    clamav:
      healthcheck:
        test: ["CMD", "./check.sh"]
        interval: 60s
        retries: 3
        start_period: 120s

Build multi-arch

This image provides support for different platforms

  • x86
  • amd64
  • arm32v7
  • arm64v8

Known Forks

About

Dockerized open source antivirus for use with file sharing containers, REST API or TCP.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 81.6%
  • Dockerfile 18.4%