<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.lololand.org/index.php?action=history&amp;feed=atom&amp;title=Trace_install_tas_-_Stalwart</id>
	<title>Trace install tas - Stalwart - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.lololand.org/index.php?action=history&amp;feed=atom&amp;title=Trace_install_tas_-_Stalwart"/>
	<link rel="alternate" type="text/html" href="https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Stalwart&amp;action=history"/>
	<updated>2026-05-25T20:52:01Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Stalwart&amp;diff=180&amp;oldid=prev</id>
		<title>Daneel : Mise à jour Stalwart: ports locaux, étapes de configuration mail et état de réception externe</title>
		<link rel="alternate" type="text/html" href="https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Stalwart&amp;diff=180&amp;oldid=prev"/>
		<updated>2026-05-03T18:40:38Z</updated>

		<summary type="html">&lt;p&gt;Mise à jour Stalwart: ports locaux, étapes de configuration mail et état de réception externe&lt;/p&gt;
&lt;a href=&quot;https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Stalwart&amp;amp;diff=180&amp;amp;oldid=179&quot;&gt;Voir les modifications&lt;/a&gt;</summary>
		<author><name>Daneel</name></author>
	</entry>
	<entry>
		<id>https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Stalwart&amp;diff=179&amp;oldid=prev</id>
		<title>WikiSysop : Documentation Stalwart ajoutée: déploiement Podman rootless, vérifications locales, limites ports privilégiés et DNS</title>
		<link rel="alternate" type="text/html" href="https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Stalwart&amp;diff=179&amp;oldid=prev"/>
		<updated>2026-04-13T23:46:45Z</updated>

		<summary type="html">&lt;p&gt;Documentation Stalwart ajoutée: déploiement Podman rootless, vérifications locales, limites ports privilégiés et DNS&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Trace install tas - Stalwart =&lt;br /&gt;
&lt;br /&gt;
== Vue d&amp;#039;ensemble ==&lt;br /&gt;
* Service mail tout-en-un &amp;#039;&amp;#039;Stalwart&amp;#039;&amp;#039; déployé sur &amp;#039;&amp;#039;tas&amp;#039;&amp;#039; via Podman rootless et Quadlet systemd user.&lt;br /&gt;
* Objectif: héberger localement les boîtes mail et l&amp;#039;administration, avec préparation pour les domaines &amp;#039;&amp;#039;lololand.org&amp;#039;&amp;#039; et &amp;#039;&amp;#039;pessonnier.fr&amp;#039;&amp;#039;.&lt;br /&gt;
* Image utilisée: &amp;#039;&amp;#039;docker.io/stalwartlabs/stalwart:latest&amp;#039;&amp;#039;.&lt;br /&gt;
* État actuel: service fonctionnel en local sur ports non privilégiés, mais pas encore en exposition SMTP standard 25/465/587/993 côté hôte rootless.&lt;br /&gt;
&lt;br /&gt;
== Source de vérité ==&lt;br /&gt;
* Quadlet: &amp;#039;&amp;#039;/home/loic/.config/containers/systemd/stalwart.container&amp;#039;&amp;#039;&lt;br /&gt;
* Données persistantes: &amp;#039;&amp;#039;/home/loic/stalwart-data&amp;#039;&amp;#039;&lt;br /&gt;
* Sauvegarde avant modification: &amp;#039;&amp;#039;/home/loic/backups/stalwart-2026-04-14T01:44:34+02:00&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Configuration Quadlet actuelle ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Stalwart Mail Server&lt;br /&gt;
After=network-online.target&lt;br /&gt;
Wants=network-online.target&lt;br /&gt;
&lt;br /&gt;
[Container]&lt;br /&gt;
Image=docker.io/stalwartlabs/stalwart:latest&lt;br /&gt;
ContainerName=stalwart&lt;br /&gt;
AutoUpdate=registry&lt;br /&gt;
Volume=/home/loic/stalwart-data:/opt/stalwart:Z&lt;br /&gt;
PublishPort=1465:465&lt;br /&gt;
PublishPort=1587:587&lt;br /&gt;
PublishPort=1143:143&lt;br /&gt;
PublishPort=1993:993&lt;br /&gt;
PublishPort=1110:110&lt;br /&gt;
PublishPort=1995:995&lt;br /&gt;
PublishPort=14190:4190&lt;br /&gt;
PublishPort=8088:8080&lt;br /&gt;
PublishPort=8443:443&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Restart=always&lt;br /&gt;
TimeoutStartSec=180&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Déploiement ==&lt;br /&gt;
* Rechargement systemd user: &amp;#039;&amp;#039;systemctl --user daemon-reload&amp;#039;&amp;#039;&lt;br /&gt;
* Démarrage: &amp;#039;&amp;#039;systemctl --user start stalwart.service&amp;#039;&amp;#039;&lt;br /&gt;
* Statut: &amp;#039;&amp;#039;systemctl --user status stalwart.service&amp;#039;&amp;#039;&lt;br /&gt;
* Logs: &amp;#039;&amp;#039;journalctl --user -u stalwart.service -n 200 --no-pager&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Vérifications réalisées ==&lt;br /&gt;
* Le premier démarrage avec &amp;#039;&amp;#039;PublishPort=25:25&amp;#039;&amp;#039; a échoué en rootless.&lt;br /&gt;
* Erreur observée:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rootlessport cannot expose privileged port 25, you can add &amp;#039;net.ipv4.ip_unprivileged_port_start=25&amp;#039; to /etc/sysctl.conf (currently 1024), or choose a larger port number (&amp;gt;= 1024)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Adaptation prudente faite: publication temporaire sur ports non privilégiés pour valider le service sans modification système globale.&lt;br /&gt;
* Ports locaux vérifiés après correction:&lt;br /&gt;
** &amp;#039;&amp;#039;8088/tcp&amp;#039;&amp;#039; -&amp;gt; interface web HTTP Stalwart&lt;br /&gt;
** &amp;#039;&amp;#039;8443/tcp&amp;#039;&amp;#039; -&amp;gt; interface HTTPS Stalwart&lt;br /&gt;
** &amp;#039;&amp;#039;1587/tcp&amp;#039;&amp;#039; -&amp;gt; submission&lt;br /&gt;
** &amp;#039;&amp;#039;1465/tcp&amp;#039;&amp;#039; -&amp;gt; SMTPS&lt;br /&gt;
** &amp;#039;&amp;#039;1993/tcp&amp;#039;&amp;#039; -&amp;gt; IMAPS&lt;br /&gt;
** &amp;#039;&amp;#039;1143/tcp&amp;#039;&amp;#039;, &amp;#039;&amp;#039;1110/tcp&amp;#039;&amp;#039;, &amp;#039;&amp;#039;1995/tcp&amp;#039;&amp;#039;, &amp;#039;&amp;#039;14190/tcp&amp;#039;&amp;#039; disponibles aussi&lt;br /&gt;
* Test HTTP local validé:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -I http://127.0.0.1:8088/&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Initialisation Stalwart validée par les logs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
✅ Configuration file written to /opt/stalwart/etc/config.toml&lt;br /&gt;
🔑 Your administrator account is &amp;#039;admin&amp;#039; with password généré dans les logs du conteneur&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Limitation actuelle ==&lt;br /&gt;
* En Podman rootless standard, &amp;#039;&amp;#039;tas&amp;#039;&amp;#039; ne peut pas exposer directement les ports privilégiés &amp;#039;&amp;#039;25/465/587/993/...&amp;#039;&amp;#039; tant que le système n&amp;#039;est pas ajusté.&lt;br /&gt;
* Pour un passage en production mail réel, il faut choisir l&amp;#039;une des voies suivantes:&lt;br /&gt;
** soit abaisser &amp;#039;&amp;#039;net.ipv4.ip_unprivileged_port_start&amp;#039;&amp;#039;&lt;br /&gt;
** soit faire une redirection hôte/firewall des ports standards vers les ports élevés utilisés par le conteneur&lt;br /&gt;
** soit exécuter la brique mail avec un mécanisme non rootless pour l&amp;#039;exposition des ports standards&lt;br /&gt;
* Point bloquant déjà identifié avant installation: les tests SMTP sortants vers des MX publics sur le port 25 timeout, donc un &amp;#039;&amp;#039;relay SMTP&amp;#039;&amp;#039; restera probablement nécessaire pour l&amp;#039;émission Internet fiable.&lt;br /&gt;
&lt;br /&gt;
== DNS cible recommandé ==&lt;br /&gt;
Pour chaque domaine, créer au minimum:&lt;br /&gt;
* &amp;#039;&amp;#039;mail.lololand.org&amp;#039;&amp;#039; -&amp;gt; A vers &amp;#039;&amp;#039;82.67.187.157&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;mail.pessonnier.fr&amp;#039;&amp;#039; -&amp;gt; A vers &amp;#039;&amp;#039;82.67.187.157&amp;#039;&amp;#039;&lt;br /&gt;
* MX du domaine vers &amp;#039;&amp;#039;mail.&amp;lt;domaine&amp;gt;.&amp;#039;&amp;#039;&lt;br /&gt;
* SPF, DKIM, DMARC selon les valeurs générées par Stalwart&lt;br /&gt;
* Idéalement PTR/rDNS de l&amp;#039;IP publique vers &amp;#039;&amp;#039;mail.lololand.org&amp;#039;&amp;#039; ou équivalent, si le fournisseur le permet&lt;br /&gt;
&lt;br /&gt;
== Notes d&amp;#039;exploitation ==&lt;br /&gt;
* L&amp;#039;interface d&amp;#039;admin locale est joignable sur &amp;#039;&amp;#039;http://127.0.0.1:8088/&amp;#039;&amp;#039;.&lt;br /&gt;
* Les identifiants initiaux sont affichés au premier démarrage dans &amp;#039;&amp;#039;podman logs stalwart&amp;#039;&amp;#039;.&lt;br /&gt;
* La configuration définitive des domaines et des enregistrements DNS se fait ensuite dans l&amp;#039;interface Stalwart, qui génère les enregistrements à publier.&lt;br /&gt;
&lt;br /&gt;
== Relance et diagnostic ==&lt;br /&gt;
* Redémarrer: &amp;#039;&amp;#039;systemctl --user restart stalwart.service&amp;#039;&amp;#039;&lt;br /&gt;
* Voir les logs du conteneur: &amp;#039;&amp;#039;podman logs --tail 200 stalwart&amp;#039;&amp;#039;&lt;br /&gt;
* Vérifier les ports: &amp;#039;&amp;#039;ss -ltn | egrep &amp;#039;:(1110|1143|1465|1587|1993|1995|8088|8443|14190)\\s&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Décision retenue ==&lt;br /&gt;
* Déployer d&amp;#039;abord un Stalwart fonctionnel localement, sans changement système global risqué, pour valider l&amp;#039;image, le volume, l&amp;#039;initialisation et la persistance.&lt;br /&gt;
* Reporter la bascule vers les ports mail standards et la mise en production Internet complète à une étape dédiée, car elle implique un changement système ou réseau plus sensible.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
</feed>