Prérequis
OxiMail est compilé et testé sur Debian 13. L’installeur refuse de s’exécuter sur d’autres distributions ou d’autres versions de Debian, car les dépendances de compilation et les versions de bibliothèques sont fixées pour cette cible.
L’assistant de configuration mesure de nouveau la machine à sa première étape (distribution, systemd, mémoire, espace libre sur le volume de
/var/lib/oximail, architecture) et en présente le résultat comme des recommandations : moins de 2 Gio de mémoire, moins de 10 Gio libres, ou une distribution hors de celles sur lesquelles il est testé (Debian 12 et 13, Ubuntu 24.04) donnent un avertissement, jamais un refus.
Dépendances système
La compilation a besoin d’une chaîne d’outils C et d’un compilateur C pour le SQLite embarqué ; depuis ADR-148, ni OpenSSL ni SQLCipher ne sont dans le graphe de dépendances :rustc n’est pas déjà présent, installez-le avec rustup :
Ports
OxiMail écoute sur les ports standards du courrier et du web. Ouvrez-les dans votre pare-feu (et dans le groupe de sécurité de votre hébergeur) avant de démarrer le serveur. L’assistant de configuration les vérifie et vous avertit si l’un d’eux est bloqué.
Les ports 25, 443 et 587 sont le minimum pour un serveur de courrier fonctionnel. Les ports IMAP (143 et 993) ne servent que si vous activez l’option
legacy pour les clients IMAP. Le CalDAV et le CardDAV sont servis sur le même port HTTPS (443) que JMAP, ils n’ont donc besoin d’aucun port supplémentaire.
Obtenir le binaire
Il n’existe pas aujourd’hui de binaire précompilé à télécharger : vous compilez OxiMail depuis les sources. La compilation produit un seul exécutable autonome (environ 70 Mo) que vous copiez sur le serveur.Un dépôt de sources public et un installeur en une ligne font partie de la feuille de route du projet, mais ne sont pas encore disponibles. Compilez depuis les sources comme décrit ci-dessous. Si vous voyez une commande en une ligne mentionnée ailleurs, considérez-la comme non encore active et vérifiez-la avant d’en dépendre.
Compiler depuis les sources
Depuis un clone de l’arborescence des sources, sur un hôte Debian 13 :
Compilez avec
--features passkey,legacy si vous voulez que les clients de messagerie classiques (IMAP) et les clients DAV puissent se connecter. La compilation en mode release prend de 5 à 15 minutes selon la machine, et le binaire apparaît dans target/release/oximail.
Un clone fournit aussi un fichier install.sh à la racine du dépôt, qui exécute toute la séquence (paquets système, Rust, compilation, installation, puis lancement de l’assistant) d’un seul coup. C’est pratique sur un VPS neuf, mais les étapes manuelles ci-dessous vous donnent le contrôle de chaque phase.
Placer et lancer le binaire
Installer le binaire et ses répertoires
Copiez le binaire compilé à sa place et créez les répertoires d’exécution. Un utilisateur système dédié évite de faire tourner le service en tant que root :setcap est absent, installez d’abord le paquet libcap2-bin.
Fichier de configuration
OxiMail lit un seul fichier de configuration TOML. L’emplacement habituel est/etc/oximail/oximail.toml. L’arborescence des sources fournit un exemple entièrement commenté dans config/oximail.example.toml, que vous pouvez copier comme point de départ :
config/setup.example.toml, la référence de chaque clé que le fichier de setup de l’assistant accepte (oximail setup --config-file), où le mot de passe administrateur, le jeton Cloudflare et les identifiants du relais se donnent par référence (un fichier ou une variable d’environnement), jamais en clair.
Lancer comme service systemd
Installez une unité systemd pour qu’OxiMail démarre au boot et redémarre en cas d’échec. Les journaux vont dans le journal système (lancezjournalctl -u oximail), il n’y a donc pas de fichier de log à faire tourner.
Créez /etc/systemd/system/oximail.service :
unbound sur 127.0.0.1, et ne croit une réponse DNSSEC qu’une fois que sa propre sonde a prouvé ce résolveur. L’assistant l’installe et le configure (contrôles de la machine). Pour une installation à la main, installez unbound avec son ancre de confiance racine, ordonnez oximail.service après unbound.service, puis lancez oximail resolver check : c’est la même sonde, serveur arrêté ou non (sortie 0 fiable, 1 non mesuré, 2 non fiable ou muet). Un résolveur non prouvé n’empêche pas le serveur de démarrer, mais celui-ci ne croit alors aucune réponse DNSSEC et retient le courrier vers les domaines DANE jusqu’à ce que la sonde passe.
Pour la configuration interactive la première fois, vous pouvez lancer directement oximail setup au lieu de démarrer le service. L’assistant crée le fichier de configuration, votre compte administrateur et vos clés DKIM, puis passe la main au service. Sur un terminal capable, il prend tout l’écran, et tout ce qu’il imprime est aussi gardé dans /var/log/oximail-setup.log ; c’est le journal de l’installation, le serveur lui-même continue de journaliser dans le journal système seulement.
Et ensuite
- Premier démarrage et assistant de configuration : configurer le DNS, le DKIM, le TLS et créer votre premier compte.
- Configuration : la référence TOML complète et le modèle de surcharge à l’exécution.