First commit

This commit is contained in:
2026-07-20 11:05:07 +02:00
commit b592ab669f
159 changed files with 10294 additions and 0 deletions
@@ -0,0 +1,18 @@
; Gabarit supervisor pour le relais vers le broker master (manage.py
; master_client, SYNC_BAN). Alternative optionnelle au service systemd
; fail2ban-emitter-master-client.service — voir
; generic/supervisor/fail2ban-emitter-web.example.conf pour la marche à
; suivre complète (ne pas activer les deux mécanismes en même temps).
; Ne se connectera réellement qu'une fois un certificat de noeud généré
; (scripts/generate-node-cert.sh) et MQTT_MASTER_NODE_NAME renseigné dans .env.
[program:fail2ban-emitter-master-client]
command=/bin/bash -lc 'set -a; source __ENV_FILE__; set +a; exec __EMITTER_DIR__/.venv/bin/python manage.py master_client'
directory=__EMITTER_DIR__
user=__EMITTER_USER__
environment=DJANGO_SETTINGS_MODULE="config.settings.production",PYTHONUNBUFFERED="1"
autostart=true
autorestart=true
stopsignal=TERM
stdout_logfile=/var/log/supervisor/fail2ban-emitter-master-client.log
stderr_logfile=/var/log/supervisor/fail2ban-emitter-master-client.log
@@ -0,0 +1,16 @@
; Gabarit supervisor pour l'ingestion côté master (manage.py master_listen,
; Phase 3 — uniquement sur le VPS qui héberge le broker master). Alternative
; optionnelle au service systemd fail2ban-emitter-master-listen.service —
; voir generic/supervisor/fail2ban-emitter-web.example.conf pour la marche à
; suivre complète (ne pas activer les deux mécanismes en même temps).
[program:fail2ban-emitter-master-listen]
command=/bin/bash -lc 'set -a; source __ENV_FILE__; set +a; exec __EMITTER_DIR__/.venv/bin/python manage.py master_listen'
directory=__EMITTER_DIR__
user=__EMITTER_USER__
environment=DJANGO_SETTINGS_MODULE="config.settings.production",PYTHONUNBUFFERED="1"
autostart=true
autorestart=true
stopsignal=TERM
stdout_logfile=/var/log/supervisor/fail2ban-emitter-master-listen.log
stderr_logfile=/var/log/supervisor/fail2ban-emitter-master-listen.log
@@ -0,0 +1,15 @@
; Gabarit supervisor pour l'ingestion MQTT locale (manage.py mqtt_listen).
; Alternative optionnelle au service systemd fail2ban-emitter-mqtt.service —
; voir generic/supervisor/fail2ban-emitter-web.example.conf pour la marche à
; suivre complète (ne pas activer les deux mécanismes en même temps).
[program:fail2ban-emitter-mqtt]
command=/bin/bash -lc 'set -a; source __ENV_FILE__; set +a; exec __EMITTER_DIR__/.venv/bin/python manage.py mqtt_listen'
directory=__EMITTER_DIR__
user=__EMITTER_USER__
environment=DJANGO_SETTINGS_MODULE="config.settings.production",PYTHONUNBUFFERED="1"
autostart=true
autorestart=true
stopsignal=TERM
stdout_logfile=/var/log/supervisor/fail2ban-emitter-mqtt.log
stderr_logfile=/var/log/supervisor/fail2ban-emitter-mqtt.log
@@ -0,0 +1,31 @@
; Gabarit supervisor pour le tableau de bord Django (ASGI/Daphne).
; Alternative optionnelle au service systemd fail2ban-emitter-web.service —
; les deux mécanismes ne doivent jamais gérer le même process en parallèle.
;
; Déployé automatiquement par `sudo ./install.sh install-supervisor` (arrête
; et désactive les services systemd correspondants, installe supervisor,
; substitue les __PLACEHOLDER__ ci-dessous et démarre supervisorctl).
; `sudo ./install.sh uninstall-supervisor` fait le chemin inverse.
;
; Pour un déploiement manuel (sans passer par install.sh) :
; 1. sudo apt-get install supervisor
; 2. sed les __PLACEHOLDER__ ci-dessous (chemin du dépôt, .env, utilisateur)
; 3. cp vers /etc/supervisor/conf.d/fail2ban-emitter-web.conf
; 4. sudo systemctl disable --now fail2ban-emitter-web.service (pas les deux à la fois)
; 5. sudo supervisorctl reread && sudo supervisorctl update
;
; __EMITTER_DIR__ : chemin absolu vers le sous-répertoire emitter/ du dépôt
; (ex. /home/banisher/Fail2banMqttActionBanisher/emitter)
; __ENV_FILE__ : chemin absolu vers le .env à la racine du dépôt
; __EMITTER_USER__: utilisateur système propriétaire du dépôt (ex. banisher)
[program:fail2ban-emitter-web]
command=/bin/bash -lc 'set -a; source __ENV_FILE__; set +a; exec __EMITTER_DIR__/.venv/bin/daphne -b 127.0.0.1 -p 8050 config.asgi:application'
directory=__EMITTER_DIR__
user=__EMITTER_USER__
environment=DJANGO_SETTINGS_MODULE="config.settings.production",PYTHONUNBUFFERED="1"
autostart=true
autorestart=true
stopsignal=TERM
stdout_logfile=/var/log/supervisor/fail2ban-emitter-web.log
stderr_logfile=/var/log/supervisor/fail2ban-emitter-web.log
@@ -0,0 +1,15 @@
; Gabarit supervisor pour le worker Celery (géolocalisation asynchrone).
; Alternative optionnelle au service systemd fail2ban-emitter-worker.service —
; voir generic/supervisor/fail2ban-emitter-web.example.conf pour la marche à
; suivre complète (ne pas activer les deux mécanismes en même temps).
[program:fail2ban-emitter-worker]
command=/bin/bash -lc 'set -a; source __ENV_FILE__; set +a; exec __EMITTER_DIR__/.venv/bin/celery -A config worker -l info'
directory=__EMITTER_DIR__
user=__EMITTER_USER__
environment=DJANGO_SETTINGS_MODULE="config.settings.production",PYTHONUNBUFFERED="1"
autostart=true
autorestart=true
stopsignal=TERM
stdout_logfile=/var/log/supervisor/fail2ban-emitter-worker.log
stderr_logfile=/var/log/supervisor/fail2ban-emitter-worker.log