Installation
difuzio s'installe par paquet Debian, sur Debian 13 ou Ubuntu 24.04. Cette page donne le chemin le plus court jusqu'à un service qui tourne. Le manuel d'exploitation reprend chaque étape en détail, y compris l'installation manuelle sans paquet.
Choisir son backend
Le moteur se compile avec l'un ou l'autre backend, et le choix se fait une fois pour toutes : une base n'est pas convertible de l'un vers l'autre.
- SQLite - un fichier, aucun serveur de base à administrer. Pour un hôte unique et un volume modéré. Le paquet va jusqu'au bout de l'installation : base créée, schéma appliqué, services démarrés.
- MariaDB - version 10.6 ou plus récente. Pour les installations qui montent en charge ou s'étalent sur plusieurs hôtes. Le paquet n'active rien tant que vous n'avez pas fourni la base et ses comptes.
Les deux paquets serveur posent le même exécutable et s'excluent donc mutuellement.
Prérequis
- Un serveur Debian 13 ou Ubuntu 24.04.
- Un reverse proxy TLS devant la console (nginx ou Apache), servi sur la même origine que l'API.
- Pour le profil complet : un serveur Postfix qui route le domaine de listes vers la socket LMTP de difuzio. Pour le profil boîte externe : une boîte mail et ses identifiants suffisent.
- Les enregistrements DNS du domaine de listes : SPF, DKIM et DMARC.
Obtenir les paquets
Le plus court est le dépôt de paquets signé : les mises à jour suivent alors
apt upgrade. La page Téléchargement donne les quelques
lignes qui déclarent le dépôt et sa clé.
Les paquets se construisent aussi depuis le dépôt public. La construction demande un accès réseau et une chaîne Go 1.23 ou plus récente.
git clone https://inligit.fr/cap-rel/difuzio.git
cd difuzio
make deb
Trois paquets sont produits dans dist/ : difuzio-mariadb, difuzio-sqlite et
difuzio-webui, la console d'administration.
Installer
Avec SQLite, une seule commande met le service en route :
apt install difuzio-sqlite difuzio-webui
Depuis des fichiers construits localement, ce sont les mêmes paquets :
apt install ./difuzio-sqlite_<version>_amd64.deb
apt install ./difuzio-webui_<version>_all.deb
L'installation crée le compte système, les répertoires, les clés de signature générées une fois et jamais régénérées, la base et son schéma, puis démarre les services.
Avec MariaDB, créez d'abord la base et ses deux comptes - un compte applicatif
sans droit de modification du schéma, un compte de migration - renseignez la
chaîne de connexion dans /etc/difuzio/config.yaml, puis :
apt install ./difuzio-mariadb_<version>_amd64.deb
apt install ./difuzio-webui_<version>_all.deb
systemctl enable --now difuzio-web.service difuzio-lmtp.service \
difuzio-worker@1.service difuzio.target
Premier administrateur, premier domaine
Aucun paquet ne crée d'administrateur : c'est une décision d'exploitant.
export CREDENTIALS_DIRECTORY=/etc/difuzio/secrets
difuzio bootstrap-admin --config /etc/difuzio/config.yaml \
--email vous@example.org --password-stdin
difuzio add-domain --config /etc/difuzio/config.yaml \
--name listes.example.org --base-url https://listes.example.org
difuzio create-list --config /etc/difuzio/config.yaml \
--domain listes.example.org --name annonces \
--owner vous@example.org --type newsletter
Le mot de passe est lu sur l'entrée standard : il n'apparaît donc pas dans
l'historique du shell. Tant qu'aucun administrateur n'existe, la page /setup de
la console permet aussi d'en créer un ; dès qu'il y en a un, cette page disparaît.
Raccorder le serveur de messagerie
difuzio mta-config --domain listes.example.org
La commande imprime les lignes à reporter dans la configuration de Postfix. Le domaine entier - messages, adresses de rebond, plaintes - est routé vers la socket LMTP. Vérifiez ensuite la zone DNS :
difuzio check-dns --domain listes.example.org
Vérifier
difuzio doctor --config /etc/difuzio/config.yaml
doctor affiche la version installée, le backend lié, l'accès à la base et l'état
du schéma. La console signale de son côté un déploiement dépareillé, quand le
serveur et l'interface n'ont pas la même révision.
Ensuite
- Manuel d'exploitation - configuration complète, profils de déploiement, sauvegardes, supervision, mise à jour.
- Guide de l'abonné - ce que voient et font les personnes abonnées.
- Une question ?