Déploiement Docker local
Le flux d'installation vérifié est le point de départ normal pour un déploiement local, en laboratoire ou sur un hôte de terrain :
- Copier
.env.examplevers.env. - Définir des valeurs robustes pour
DB_PASSWORD,SECRET_KEYetADMIN_PASSWORD. - Builder et démarrer la stack.
- Vérifier les logs puis ouvrir l'application sur le port interne ou via votre proxy.
cp .env.example .env
docker compose up -d --build
docker compose logs -f app Si ADMIN_PASSWORD est laissé vide, le premier démarrage génère un mot de passe admin aléatoire et l'affiche dans les logs du conteneur.
Commandes courantes
Le guide d'installation garde l'ensemble des opérations du jour 2 minimal :
docker compose ps
docker compose logs -f app
docker compose down
docker compose restart app Données persistantes
MarlinSpike stocke l'état d'exécution dans des volumes Docker nommés pour qu'un rebuild ne supprime pas les uploads utilisateurs, les rapports ou la base de données.
| Volume ou chemin | Rôle |
|---|---|
marlinspike-data | Uploads, rapports, presets et soumissions archivées. |
marlinspike-pgdata | Données PostgreSQL. |
/app/data/reports | Artefacts de rapport générés à l'intérieur du conteneur applicatif. |
/app/data/uploads | Fichiers de capture uploadés. |
/app/data/submissions | Soumissions archivées. |
/app/data/presets | Stockage des captures preset. |
Guide proxy inverse
Les docs du projet recommandent de garder l'application liée à 127.0.0.1:5001 et de placer nginx, Caddy ou Traefik devant pour la terminaison TLS et l'ingress public.
- Terminer TLS au niveau du proxy.
- Ne transmettre que le port interne de l'application.
- Garder l'application Flask liée en privé sauf si vous avez une raison délibérée de l'exposer directement.
- Traiter le déploiement comme une surface d'équipe partagée plutôt que comme une application publique grand public.
Mises à jour et sauvegardes
Pour une mise à jour normale du code, tirez les dernières modifications et rebuildez les conteneurs :
git pull
docker compose up -d --build Avant les mises à jour majeures, sauvegardez la base de données et le volume de données :
docker compose exec db pg_dump -U marlinspike marlinspike > marlinspike.sql Archivez aussi le contenu du volume de données ou du répertoire de données monté que votre déploiement utilise.
Déploiement distant et capture live
Le dépôt inclut un script générique deploy.sh pour le déploiement distant. Le schéma documenté est :
REMOTE=deploy@example-host ./deploy.sh Pour le staging, les docs du projet mentionnent aussi deploy-dev.sh.
La capture live est disponible via le sidecar optionnel marlinspike-capd (Linux uniquement). L'application web reste sans privilèges et communique avec capd via un socket unix ; capd détient CAP_NET_RAW et supervise dumpcap avec rotation en tampon circulaire.