Sign inSign up

angeloxx/cvdupdate

By angeloxx

Updated 3 months ago

This is a weekly updated image that contains the CVDUpdate daemon

Image
Security
1

2.4K

angeloxx/cvdupdate repository overview

cvdupdate ClamAV Updater Container

Overview

This Docker container provides an automated, weekly-updated build of the Cisco-Talos cvdupdate tool from https://github.com/Cisco-Talos/cvdupdate.

cvdupdate is the official tool to download and maintain updated ClamAV virus definition databases (full CVD files + incremental CDIFF patches), enabling you to host a private ClamAV database mirror.

The Docker image:

  • Is based on the latest official Python 3 image
  • Is rebuilt weekly from the upstream repository
  • Runs cvdupdate via cron (default: every 4 hours, configurable)
  • Stores databases in /cvdupdate/database
  • Stores logs in /cvdupdate/logs

Key Features

  • Automatic download of all CVD databases (daily.cvd, main.cvd, bytecode.cvd)
  • Intelligent CDIFF patch management (only deltas)
  • DNS-based version checking to avoid unnecessary downloads
  • Configurable via environment variables
  • HTTP serving support (pair with web server container)
  • Customizable file ownership (USER_ID, GROUP_ID)

Docker Configuration Examples

Simple Startup
docker run -d \
  --name cvdupdate \
  -v /path/to/databases:/cvdupdate/database \
  -v /path/to/logs:/cvdupdate/logs \
  --network=host \
  angeloxx/cvdupdate:latest cvdupdate serve

docker run -d \
  --name cvdupdate-updater \
  -v /path/to/databases:/cvdupdate/database \
  -v /path/to/logs:/cvdupdate/logs \
  -e CRON='30 */4 * * *' \
  --network=host \
  angeloxx/cvdupdate:latest
Kubernetes Yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: cvdupdate
spec:
  serviceName: cvdupdate
  replicas: 1
  selector:
    matchLabels:
      app: cvdupdate
  template:
    metadata:
      labels:
        app: cvdupdate
    spec:
      containers:
      - name: cvdupdate
        image: angeloxx/cvdupdate:latest
        command: ["cvdupdate", "serve"]
        volumeMounts:
        - name: database
          mountPath: /cvdupdate/database
        ports:
        - containerPort: 8000
      - name: cvdupdate-updater
        image: angeloxx/cvdupdate:latest
        env:
        - name: CRON
          value: "0 */4 * * *"  # Every 4 hours
        volumeMounts:
        - name: database
          mountPath: /cvdupdate/database
        ports:
        - containerPort: 8000

      volumes: []
  volumeClaimTemplates:
  - metadata:
      name: database
    spec:
      accessModes: ["ReadWriteOnce"]
      resources:
        requests:
          storage: 1Gi
---
apiVersion: v1
kind: Service
metadata:
  name: cvdupdate-service
spec:
  selector:
    app: cvdupdate
  ports:
  - port: 8000
    targetPort: 8000
  type: ClusterIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: cvdupdate-ingress
spec:
  rules:
  - host: cvd.yourdomain.lan
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: cvdupdate-service
            port:
              number: 8000

Tag summary

Content type

Image

Digest

sha256:f17ab2919

Size

55.3 MB

Last updated

3 months ago

docker pull angeloxx/cvdupdate