Files
2026-08-08 12:04:57 +02:00

105 lines
3.1 KiB
YAML

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.conf:/etc/nginx/nginx.conf:ro
- ./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:
- "10.0.0.4: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: