iredmail-docker icon indicating copy to clipboard operation
iredmail-docker copied to clipboard

Disable ClamAV

Open pipe01 opened this issue 6 years ago • 7 comments

Is it possible to completely disable ClamAV from starting? The official methods don't seem to work.

pipe01 avatar Jan 02 '19 01:01 pipe01

This is a feature to be implemented with the upcoming upgrade of container.. I am planning to add a set of env variables allowing to disable certain services, e.g., clamav, sogo, monitoring subsystem, etc.. from starting.

lejmr avatar Jan 03 '19 09:01 lejmr

That would be super useful

pipe01 avatar Jan 03 '19 11:01 pipe01

Is there a way to do this manually? I tried removing the clam*.sh scripts from static-files and rebuilding the image but I could not send or receive emails. The RAM usage is huge for something I don't need.

digitalap3 avatar Aug 05 '20 02:08 digitalap3

If you upgrade to 1.3 version you can enter the container and using command supervisorctl control all services.

However, there is a chance there will be an impact of the functionality of iRedMail. Especially, for core components such as ClamAV.

lejmr avatar Aug 17 '20 18:08 lejmr

Thank you!

digitalap3 avatar Aug 20 '20 03:08 digitalap3

Enter the container.

#docker exec -it iredmail bash
iredmail#vi /etc/amavisd/amavisd.conf
# controls running of anti-virus/spam code: 0 -> enabled, 1 -> disabled.
@bypass_virus_checks_maps = (0);
@bypass_spam_checks_maps  = (0);

Change 0 to 1 in these lines, save. Disable clamd:

systemctl disable --now clamd@amavisd
yum remove clamav clamav-lib

Exit the container and restart it (we can't use systemctl to restart services until we create the container with --privileged mode) : docker restart iredmail

You need to do it every time you recreate the container. Memory using is decreased from 900Mb to 500Mb for me.

+ disable [program:clamav-daemon], [program:clamav-freshclam], and [program:spamassassin] sections in /etc/supervisord.d/mta.ini

[group:mta] #programs=postfix,amavis,clamav-daemon,dovecot,clamav-freshclam,iredapd,spamassassin programs=postfix,dovecot,iredapd

via: https://docs.iredmail.org/completely.disable.amavisd.clamav.spamassassin.html Stop virus/spam scanning, keep DKIM signing/verification and Disclaimer

LennyLip avatar May 25 '21 08:05 LennyLip

I had the same problem, I was running a container in a kubernetes cluster. The container either consumed almost 2GB of memory, or clamav went into an eternal reboot and the container began to consume more than one dedicated core. I tried many ways, in the end I just turned off the service. /etc/supervisor/conf.d/clamav.conf

;
;This file is managed by iRedMail Team <[email protected]> with Ansible,
;please do __NOT__ modify it manually.
;

[program:clamav]
command=/usr/sbin/clamd -c /etc/clamav/clamd.conf --foreground
priority=999
startsecs=0
autostart=false
autorestart=false
stdout_syslog=true
stderr_syslog=true

Changes

  • priority 20->999 (lower)
  • autostart true->false
  • autorestart true->false

To save the changes, attach the modified configuration file to the container. An example for kubernetes:

apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: iredmail-server
  name: iredmail
  labels:
    app: iredmail
spec:
  replicas: 1
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: iredmail
  template:
    metadata:
      labels:
        app: iredmail
    spec:
      containers:
        - name: iredmail
          image: iredmail/mariadb:stable
          env:
            - name: FIRST_MAIL_DOMAIN
              value: $YOUR_DOMAIN
            - name: FIRST_MAIL_DOMAIN_ADMIN_PASSWORD
              value: $YOUR_PASSWORD
            - name: HOSTNAME
              value: $YOUR_HOSTNAME
            - name: MLMMJADMIN_API_TOKEN
              value: $(openssl rand -base64 32)
            - name: ROUNDCUBE_DES_KEY
              value: $(openssl rand -base64 24)
          ports:
            - containerPort: 80
            - containerPort: 443
            - containerPort: 110
            - containerPort: 995
            - containerPort: 143
            - containerPort: 993
            - containerPort: 25
            - containerPort: 465
            - containerPort: 587
          resources: {}
          volumeMounts:
            - mountPath: /var/vmail/backup/mysql
              subPath: backup_mysql
              name: iredmail-data
            - mountPath: /var/vmail/vmail1
              subPath: vmail1
              name: iredmail-data
            - mountPath: /var/vmail/mlmmj
              subPath: mlmmj
              name: iredmail-data
            - mountPath: /var/vmail/mlmmj-archive
              subPath: mlmmj-archive
              name: iredmail-data
            - mountPath: /var/vmail/imapsieve_copy
              subPath: imapsieve_copy
              name: iredmail-data
            - mountPath: /opt/iredmail/custom
              subPath: custom
              name: iredmail-data
            - mountPath: /opt/iredmail/ssl
              subPath: ssl
              name: iredmail-data
            - mountPath: /var/lib/mysql
              subPath: mysql
              name: iredmail-data
            - mountPath: /var/lib/clamav
              subPath: clamav
              name: iredmail-data
            - mountPath: /var/lib/spamassassin
              subPath: spamassassin
              name: iredmail-data
            - mountPath: /var/spool/postfix
              subPath: postfix
              name: iredmail-data
            - mountPath: /opt/iredmail/ssl/cert.pem
              subPath: tls.crt
              name: iredmail-certs
            - mountPath: /opt/iredmail/ssl/key.pem
              subPath: tls.key
              name: iredmail-certs
            - mountPath: /opt/iredmail/ssl/combined.pem
              subPath: tls-combined.pem
              name: iredmail-certs
            - mountPath: /etc/supervisor/conf.d/clamav.conf
              subPath: configs/supervisor/clamav.conf
              name: iredmail-data
      hostname: localhost
      restartPolicy: Always
      volumes:
        - name: iredmail-data
          persistentVolumeClaim:
            claimName: iredmail
        - name: iredmail-certs
          secret:
            secretName: iredmail-certs

siarheidudko avatar Feb 13 '23 12:02 siarheidudko