Produktion: ClamAV in den App-Container integriert
Deploy / build-and-deploy (push) Successful in 33s

Dockerfile installiert clamav-daemon + clamav-freshclam und konfiguriert
clamd auf TCP 127.0.0.1:3310 mit DB-Verzeichnis auf der persistenten
Coolify-Volume (/app/data/clamav-db).

entrypoint.sh startet clamd und freshclam vor dem Node-Server, wartet
auf clamd-PING und exec't dann node als unprivilegierter Nutzer. tini
übernimmt PID 1 für Signal-Forwarding.

Folge: GameJam-Uploads werden in Produktion automatisch per ClamAV
geprüft, ohne dass Coolify manuell angepasst werden muss. Erster
Deploy lädt einmalig ~300 MB Virendefinitionen auf die Volume,
Folge-Starts in ~30 s. RAM-Bedarf des Containers ~1.5 GB.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
ToolCTRLandClaude Opus 4.7 committed 2026-05-26 13:40:19 +02:00
1 parent 9639e2d72b
commit bec5dc7363
3 files changed
+101 -10

No files matched your search

+20 -4
View File
@@ -50,11 +50,27 @@ geprüft.** Befund → Ablehnung; ist der Scanner nicht erreichbar, wird der
Upload ebenfalls abgelehnt (fail-closed, kein ungeprüftes Speichern).
Der Server spricht den ClamAV-Daemon `clamd` direkt über sein Socket-Protokoll
an — keine zusätzliche Abhängigkeit. Voraussetzung: ClamAV ist installiert und
`clamd` läuft. Beim Start meldet der Server `Virenscan: aktiv` bzw. eine
Warnung, falls `clamd` nicht erreichbar ist.
an — keine zusätzliche Abhängigkeit. Beim Start meldet der Server
`Virenscan: aktiv` bzw. eine Warnung, falls `clamd` nicht erreichbar ist.
### ClamAV einrichten — macOS
### Produktion (Coolify)
In der Produktion läuft ClamAV **im selben Container** wie der Node-Server.
Das `Dockerfile` installiert `clamav-daemon` und `clamav-freshclam`, das
`entrypoint.sh` startet beide Daemons vor Node:
- Virendefinitionen liegen auf der persistenten Volume unter
`/app/data/clamav-db` und überleben Restarts/Deploys.
- Erster Start auf einer leeren Volume lädt einmalig ~300 MB Definitionen
(~1–2 Min). Folge-Starts sind in ~30 s wieder oben.
- `freshclam --daemon` hält die Definitionen im Hintergrund aktuell.
- **Speicherbedarf:** ~1–1,5 GB RAM für die geladene DB.
Die Coolify-VM muss entsprechend dimensioniert sein.
Keine manuelle Coolify-Konfiguration nötig — push auf `main` baut das Image
mit ClamAV, beim nächsten Deploy ist der Scanner aktiv.
### ClamAV einrichten — macOS (lokale Entwicklung)
```bash
brew install clamav