Installer ToutWAF avec Docker et Compose
Lancer le plan de contrôle et le plan de données dans des conteneurs avec Docker Compose, sur Linux ou sur un Mac : démarrage, identifiants de première connexion, mise à jour et désinstallation.
La version que vous installez
La version publique est une version de développement, nommée 0.3.0-dev. Son nom ne change pas : chaque publication remplace la précédente, et un identifiant de build distingue deux builds. Aucune version stable n'existe encore : elle ne sera publiée que lorsque chaque système et chaque paquet auront été testés de bout en bout. Les commandes de cette page installent donc depuis le canal dev. Une version de développement peut contenir des défauts : essayez-la sur un site de test avant de vous y fier.
L'essentiel
- Une seule image exécute le plan de contrôle (console et API) ou le plan de données, selon TOUTWAF_ROLE ; le fichier compose démarre un de chaque.
- Les fichiers (dossier deploy) viennent avec votre distribution de ToutWAF : ils ne sont pas dans le dépôt public, qui ne contient que les binaires et les installateurs.
- Au premier démarrage, les journaux de toutwaf-cp affichent une seule fois l'adresse secrète de la console, l'identifiant et le mot de passe générés : copiez-les, ils ne sont écrits nulle part ailleurs.
- La console n'est publiée que sur 127.0.0.1 : pour y accéder à distance, utilisez un tunnel SSH, un VPN ou un proxy inverse TLS avec liste d'autorisation. Ne publiez jamais 9443 sur une interface publique.
Les commandes, pas à pas
Docker Compose sur Mac ou Linux
Docker Compose sous Linux ou sur un Mac (Docker Desktop, OrbStack, Colima), avec l'image tout-en-un (plan de contrôle et plan de données). Les fichiers viennent de votre distribution ToutWAF (le dossier deploy, absent du dépôt public qui ne contient que des binaires et des installeurs). L'image embarque des binaires précompilés par architecture (bin/amd64 ou bin/arm64) et aucune image n'est encore publiée dans un registre. Testée sur Linux amd64 seulement ; non testée sur un vrai Mac, où l'IP cliente vue derrière Docker Desktop est l'adresse de la passerelle Docker. Les identifiants à usage unique apparaissent une seule fois dans le journal du plan de contrôle.
cd deploy/docker
# bin/amd64/{toutwaf-cp,toutwaf-dp,toutwafctl} (Intel Mac, Linux x86-64)
# bin/arm64/{toutwaf-cp,toutwaf-dp,toutwafctl} (Apple Silicon, Linux ARM)
cp .env.example .env
docker compose up -d --build
docker compose logs toutwaf-cpMettre à jour (conteneurs)
Faites d'abord une sauvegarde. Le bouton de mise à jour de la console ne peut pas fonctionner dans un conteneur : remplacez les binaires du dossier bin (ou l'image, quand une image sera publiée) et reconstruisez ; les volumes, donc vos données, sont conservés.
docker compose up -d --buildDésinstaller
Le premier bloc supprime les services, les binaires et les règles de pare-feu ajoutées par ToutWAF, et conserve vos données. Le second supprime aussi la configuration, les données et les journaux.
docker compose downdocker compose down -vCe qui n'est pas vérifié
Nous préférons le dire clairement.
- Testé de bout en bout sur Linux x86-64 seulement. Un Mac Intel, un Mac Apple Silicon (linux/arm64) et Windows avec Docker Desktop ne sont pas testés sur du vrai matériel.
- Aucune image n'est publiée dans un registre : la construction demande les binaires de version préconstruits. macOS natif n'est pas fourni.
- La mise à jour depuis la console et l'assistant de pare-feu ne fonctionnent pas dans un conteneur : on met à jour en remplaçant l'image. Une seule instance du plan de contrôle, avec SQLite.