Skip to main content
OxiMail est un binaire Rust unique. L’installer consiste à déposer un seul exécutable sur un serveur, à placer un fichier de configuration à côté, puis à le lancer comme service. Il n’y a ni Postfix, ni Dovecot, ni serveur web à installer en complément. Cette page explique comment poser OxiMail sur un hôte. Une fois le serveur lancé, l’assistant de premier démarrage vous guide pour le DNS, le DKIM, le TLS et la création de votre premier compte.

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.
OxiMail ne peut pas être compilé sous Windows ni sous macOS. La compilation a besoin des bibliothèques de développement OpenSSL et SQLCipher, fournies par les paquets Debian ci-dessous. Compilez sur une machine Debian 13 (un VPS, un conteneur LXC ou une VM).

Dépendances système

La compilation a besoin d’une chaîne d’outils C, ainsi que des en-têtes de développement OpenSSL et SQLCipher :
Il vous faut aussi une chaîne d’outils Rust stable. Si 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 :
Les deux options de fonctionnalité sont : 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 :
OxiMail se lie à des ports privilégiés (25, 443, 587) tout en tournant sous un utilisateur non root. Accordez donc au binaire la capacité de se lier aux ports bas, plutôt que de le lancer en tant que root :
Si 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 :
Une configuration de production minimale définit le nom d’hôte, les adresses d’écoute, les chemins de stockage et ACME pour le TLS :
La référence complète, avec chaque clé et le modèle de surcharge TOML plus base de données, se trouve dans Configuration. Dans la plupart des cas, vous laissez l’assistant de configuration générer le fichier plutôt que de l’écrire à la main.

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 (lancez journalctl -u oximail), il n’y a donc pas de fichier de log à faire tourner. Créez /etc/systemd/system/oximail.service :
Puis activez-le et démarrez-le :
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.

Et ensuite