Produktion: ClamAV in den App-Container integriert
Deploy / build-and-deploy (push) Successful in 33s
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:
1 parent
9639e2d72b
commit
bec5dc7363
3 files changed
+101
-10
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user