Commit Graph
3 Commits
Author SHA1 Message Date
tobiasandClaude Opus 4.7 93b2e4d264 Fix sig-count parsing in start.sh — clamd logs 'Loaded N signatures.'
The previous grep matched lowercase 'loaded' which never appears, so the
ready banner always reported '0 databases loaded' even when clamd had
3.8M sigs in memory. Parse the actual 'Loaded N signatures' line.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 18:32:51 +02:00
tobiasandClaude Opus 4.7 d73188c3b9 Pin Alpine 3.23, single base for builder + runtime, add smoke test
- Both stages on alpine:3.23 (was python:3-alpine + alpine:latest).
  Major.minor pin gives security patches without breaking on rebase.
- fangfrisch installed in /opt/fangfrisch venv (PEP 668 blocks
  system pip on modern Alpine).
- Drop deprecated MAINTAINER instruction in favour of LABEL.
- test_smoke.sh: image present + version + sig count + EICAR.
  Validated end-to-end on amd64 Linux: ClamAV 1.4.4, 3.85M sigs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 14:15:05 +02:00
tobiasandClaude Opus 4.7 66ca4aa335 Switch from clamscan to clamd + clamdscan --multiscan
clamscan single-threaded scans were the LS26 bottleneck. Daemon mode
parallelises across MaxThreads=8 and only loads signatures once.

- Add clamav-daemon + clamav-clamdscan packages.
- start.sh::start_clamd waits up to 60s for /tmp/clamd.sock.
- New clamd.conf: MaxThreads 8, DetectPUA, AlertOLE2Macros,
  ExcludePath ^/data/(proc|sys|dev|run)/, log to /tmp/clamd.log.
- Drop final USER user so clamd can own its socket as clamav.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 14:09:25 +02:00