version: "3.7" x-logging: &default-logging driver: json-file options: max-size: "10m" max-file: "3" services: clamav: image: clamav/clamav:stable_base container_name: clamav restart: on-failure logging: *default-logging volumes: - ./docker/data/clamav/clamav/defs:/var/lib/clamav - ./docker/clamav/clamd.conf:/etc/clamav/clamd.conf:ro expose: - 3310 # NEVER expose this outside of the local network! deploy: resources: limits: cpus: '${CLAMAV_CPU:-0.50}' networks: shared: ipv4_address: 10.10.10.100 malware-scanner: build: context: ./docker/malware-scanner dockerfile: Dockerfile args: branch: main container_name: malware-scanner restart: unless-stopped logging: *default-logging env_file: - .env environment: - CLAMAV_IP=${CLAMAV_IP:-10.10.10.100} - CLAMAV_PORT=${CLAMAV_PORT:-3310} expose: - 4000 networks: shared: ipv4_address: 10.10.10.101 depends_on: - mongo - clamav