services: nginx: image: nginx:alpine container_name: s3_nginx restart: unless-stopped ports: - "10.0.0.4:80:80" - "10.0.0.4:8080:8080" - "10.0.0.4:9000:9000" - "10.0.0.4:9001:9001" volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./nginx/certs:/etc/nginx/certs:ro - nginx_logs:/var/log/nginx depends_on: - minio networks: - s3_net minio: image: minio/minio:latest container_name: s3_minio restart: unless-stopped hostname: minio volumes: - /mnt/data:/data environment: - MINIO_ROOT_USER=admin - MINIO_ROOT_PASSWORD=admin@12345 - MINIO_ADDRESS=:9000 - MINIO_CONSOLE_ADDRESS=:9001 command: minio server /data --console-address :9001 networks: - s3_net dozzle-agent: image: amir20/dozzle:latest command: agent volumes: - /var/run/docker.sock:/var/run/docker.sock:ro ports: - "7007:7007" restart: unless-stopped beszel-agent: image: henrygd/beszel-agent:latest container_name: beszel_agent restart: unless-stopped network_mode: host volumes: - /var/run/docker.sock:/var/run/docker.sock:ro environment: PORT: "10001" KEY: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEwRVn66crRDX5iL0bxNOnrp3OhTiXHKs+COx/bo5vmQ beszel-agent" # ─── ClamAV Antivirus ───────────────────────────────────────── clamav: image: clamav/clamav:stable container_name: s3_clamav restart: unless-stopped environment: - FRESHCLAM_CHECKS=24 - CLAMD_SCAN_MAX_FILESIZE=200M - CLAMD_SCAN_MAX_SCANSIZE=200M volumes: - clamav_db:/var/lib/clamav - clamav_logs:/var/log/clamav networks: - s3_net clamav-scanner: image: clamav/clamav:stable container_name: s3_clamav_scanner restart: unless-stopped depends_on: - clamav volumes: - clamav_db:/var/lib/clamav:ro - clamav_scan_logs:/var/log/clamav - /mnt/data:/scan:ro entrypoint: > /bin/sh -c " echo 'Waiting for virus definitions...' && until [ -f /var/lib/clamav/daily.cvd ] || [ -f /var/lib/clamav/daily.cld ]; do sleep 10; done && while true; do DATE=$$(date +%Y%m%d_%H%M%S) && LOG=/var/log/clamav/scan-$$DATE.log && echo \"[$$DATE] Scan started\" | tee -a $$LOG && clamscan --recursive --infected --log=$$LOG /scan && echo \"[$$DATE] Scan complete\" | tee -a $$LOG && sleep 86400; done" networks: - s3_net networks: s3_net: driver: bridge volumes: nginx_logs: clamav_db: clamav_logs: clamav_scan_logs: