diff --git a/README.md b/README.md index 997dced..552c816 100644 --- a/README.md +++ b/README.md @@ -29,9 +29,17 @@ Ces projets ont leur propre dossier, au même niveau que celui-ci — un dépôt | `~/Projects/alpinux.dynamic` | dynamic.alpinux.org | [alpinux-dynamic](https://gitea.alpinux.org/alpinux.cedrica5l/alpinux-dynamic) | | `~/Projects/alpinux.static` | static.alpinux.org | [alpinux-static](https://gitea.alpinux.org/alpinux.cedrica5l/alpinux-static) | | `~/Projects/alpinux.gitea` | gitea.alpinux.org | [alpinux-gitea](https://gitea.alpinux.org/alpinux.cedrica5l/alpinux-gitea) | +| `~/Projects/alpinux.messagerie` | messagerie.alpinux.org | [alpinux.messagerie](https://gitea.alpinux.org/alpinux.cedrica5l/alpinux.messagerie) | Leurs procédures de déploiement sont décrites dans leur propre README. +> **La messagerie ne se déploie pas comme les autres.** owni n'en est pas un +> clone : la mise à jour s'y fait par **copie de fichiers, base d'abord, code +> ensuite**, et non par `git pull`. La procédure et les pièges qu'elle +> désamorce sont dans `docs/installation.md` de ce dépôt. En service depuis le +> 22/09/2026 — 256 abonnés, un worker appelé chaque minute, trois boîtes +> relevées en IMAP : ce qui casse casse pour de vrai. + Gitea : **https://gitea.alpinux.org/alpinux.cedrica5l** ISPConfig : **https://owni.alpinux.org:8080** AlpID (SSO) : **https://alpid.alpinux.org** — realm `master` @@ -165,6 +173,72 @@ Cloud-init réseau désactivé : `/etc/cloud/cloud.cfg.d/99-disable-network-conf --- +## Courrier sortant : tout passe par un relais + +**Depuis les 25-26 septembre 2026**, Postfix ne remet plus directement aux +destinataires : `relayhost = [mail.acemail.fr]:587`, en soumission +authentifiée. + +| | | +|---|---| +| **IP qui parle aux destinataires** | `176.9.125.188` (le relais), et non plus `51.91.79.148` | +| **SPF** | `v=spf1 a mx include:_spf.acemail.fr -all` | +| **DKIM** | signé par owni **avant** la remise au relais | +| **DMARC** | `p=quarantine`, `rua=mailto:postmaster@alpinux.org` | + +Trois conséquences qu'il vaut mieux connaître avant de chercher ailleurs : + +- **La réputation d'expéditeur n'est plus la nôtre seule.** Un rejet de plus + compte contre une IP partagée avec les autres clients de l'hébergeur. +- **Un plafond d'envoi s'ajoute à celui de Postfix**, celui du relais, et il + n'est pas connu à ce jour. Le franchir se verrait en `status=deferred` dans + `/var/log/mail.log`, avec un code `4.x.x` venu du relais. +- **L'enveloppe doit survivre au relais.** La messagerie utilise des adresses + de retour variables (`bounce+@alpinux.org`) pour identifier les + non-remises. Vérifié le 27/09 : le relais les préserve. À revérifier après + tout changement chez l'hébergeur — la panne serait silencieuse, les rebonds + cessant simplement d'arriver. + +--- + +## Bases de données + +Six bases applicatives, déclarées dans ISPConfig, plus celles du système. + +| Base | Service | Sauvegarde | +|---|---|---| +| `c1_messagerie_db` | messagerie.alpinux.org | quotidienne, **1 copie** | +| `c1dolibarr` | dolibarr.alpinux.org — fichier des adhérents | **aucune** | +| `c1gitea` | gitea.alpinux.org — tous les dépôts | **aucune** | +| `c1alpid` | alpid.alpinux.org — le SSO | **aucune** | +| `c1_installparty` | installparty.alpinux.org | **aucune** | +| `c1_evenements` | événements | **aucune** | + +S'y ajoutent `dbispconfig`, `roundcube` et `phpmyadmin`. + +`sudo mysql` passe par le socket unix, sans mot de passe. + +--- + +## Sauvegardes : ce qui est couvert, et ce qui ne l'est pas + +État au 27/09/2026, à corriger — voir le ticket +[#1](https://gitea.alpinux.org/alpinux.cedrica5l/alpinux-owni/issues/1). + +- **Une base sur six** est sauvegardée quotidiennement, la messagerie, dans + `/var/backup/web21/`. Les cinq autres ne le sont pas, Dolibarr et Gitea + compris. +- **Une seule copie conservée** (`backup_copies = 1`) : une corruption + remarquée deux jours plus tard n'est plus récupérable. +- **Les 14 sites sont à `backup_interval = none`** côté fichiers. +- **Tout reste sur owni.** Un disque perdu emporte les données et leurs + copies. Ce que contient `/var/backup/ispconfig/` ne concerne qu'ISPConfig + lui-même. + +Une sauvegarde qu'on n'a jamais restaurée est une hypothèse, pas une garantie. + +--- + ## Infra `infra/` est un dépôt git indépendant ([alpinux-infra](https://gitea.alpinux.org/alpinux.cedrica5l/alpinux-infra)).