A lightweight, open-source, self-hosted mail server with web mail, calendar and contacts,
in both of Canada's official languages.
What it is
myHUB is the web mail for this mail server. You read, write and organise your mail in the browser;
there is nothing to install. Unlike most web mail, it does not sit on top of an IMAP server: it works directly
with the mail files on disk (the Maildir format, one file per message), which keeps it small, fast and
easy to back up. It is free software, released under the GNU Affero General Public License v3.
Self-hosted
Everything runs on one server that its owner controls: receiving and sending mail, filtering, the web
application, and the accounts themselves. There is no outside directory, cloud service or third party involved,
and your mail, calendars and contacts never leave the server. (The only thing it fetches from outside is a free
public table of which country each IP address belongs to, once a month, for the administrator's reports.)
Its own accounts. Users, aliases and domains live in one small database on the server;
passwords are stored as Argon2id hashes, and you can sign in with a passkey instead.
Plain files you own. Mail, contacts and calendars are ordinary files (Maildir, vCard,
iCalendar) on ZFS: easy to back up with a snapshot, easy to move, readable without myHUB.
One-step install. A setup script installs everything on a fresh SmartOS zone for your own
domain: mail server, spam and virus filtering, DKIM keys, HTTPS certificate, the first account, and the DNS
records to create.
How it works
Your browser connects over HTTPS (HTTP/1.1, HTTP/2 or HTTP/3) with a Let's Encrypt
certificate.
Caddy with a web application firewall (Coraza and the OWASP Core Rule Set) filters every
request and limits how fast anyone can send them.
The myHUB application (Python and Flask) checks your password or passkey against its
own account database, then reads and writes your mailbox files.
Postfix receives and sends mail; rspamd filters spam and signs outgoing
mail with DKIM; ClamAV scans every message for viruses.
vmail-lda, a small delivery agent written in Rust, files each arriving message by your
own filters, puts spam in Junk and writes it to disk safely (written, flushed, then moved into place).
A statistics service reads the server's logs every five minutes and writes notices,
alerts and daily, weekly and monthly reports into a read-only Notifications folder.
Mailboxes, contacts and calendars are plain files on a ZFS file system on SmartOS, in
directories named by UUIDs, so their structure never depends on a language, a name or an address.
Why SmartOS and pkgsrc
myHUB runs on SmartOS,
an open-source operating system built on illumos,
the community continuation of OpenSolaris. Mail is precious data, and SmartOS keeps it on
ZFS, which checksums every block,
repairs damage on its own and takes instant snapshots, so a mailbox can be backed up or rolled back in seconds.
The application runs in a zone, a lightweight and strongly isolated container that SmartOS has offered
for nearly two decades, and every service is supervised by SMF, which restarts anything that fails.
Every piece of software comes from pkgsrc,
the portable package collection that began in the NetBSD project and now builds the same tested software for
many operating systems. Its quarterly stable releases give us current versions of Python, Postfix, rspamd,
ClamAV and the rest, installed in their own tree, apart from the operating system, and updated with a single
command. Both projects are free, open and community driven, and we are glad to build on them.
☀️ SmartOS
Zones: OS-level virtualization with near-native speed and strong isolation
ZFS: end-to-end checksums, self-healing, snapshots, clones, compression and quotas
DTrace: safe, live tracing of the whole system in production
SMF: service management with dependencies and automatic restart
Network virtualization: virtual NICs and per-zone network stacks
Hardware VMs with bhyve when a full guest system is needed
📦 pkgsrc
More than 20,000 packages from one portable framework
Runs on illumos and SmartOS, NetBSD, Linux, macOS and other systems
Quarterly stable branches with security fixes
Fast binary installs with pkgin, or builds from source with the same recipes
Its own prefix (/opt/local on SmartOS), separate from the base system
Folders and subfolders you can create, rename, move and delete
Fast full-text search across all folders
Rich-text composer with attachments, drafts saved automatically, replies and forwards
Inbox, Drafts, Sent, Junk, Trash, Archive and Notifications in every mailbox
Filters that sort new mail into folders as it arrives, by sender, subject, list or any header
🛡 Safe reading
HTML mail cleaned before display and shown in a locked-down frame
Remote images blocked until you choose to show them
Sender checks for every message: SPF, DKIM, DMARC and ARC, one click away
The message headers, ready to copy, and the full original message
🚫 Spam and viruses
Spam filtering with rspamd, which learns from your Spam / Not spam choices
Spam goes straight to Junk, unless one of your filters says otherwise
Every incoming and outgoing message scanned by ClamAV
Forged mail from domains that ask for it (DMARC p=reject) is refused
Sender reputation from SenderScore
👥 Contacts
Address book with groups and photos
Import and export vCards from phones, Google, Apple and Outlook
Address suggestions as you type
Add a sender to your contacts in one click
📅 Calendar
Month, week, day and agenda views, several colour-coded calendars
Repeating events, time zones, drag to move or resize
Invitations by email that Gmail and Outlook understand: accept, maybe, decline
Reminders in the browser or by email, and your guests' free / busy times
📱 Sync
Calendars and contacts on your phone and computer (CalDAV and CardDAV)
Works with Apple Calendar and Contacts, Thunderbird and DAVx⁵ on Android
A separate app password for each device, revocable at any time
🔐 Security
Passkeys: sign in with Face ID, Touch ID, Windows Hello, your phone or a security key
Sign-in protected by ALTCHA, a privacy-friendly proof of work instead of a puzzle
Strict content security policy and secure, short-lived sessions
Each user's mail kept strictly apart; nothing is shared with third parties
No trackers, no advertising, no outside scripts
📣 Notifications
A read-only folder for notices from the administrator, such as planned maintenance, with an optional banner
A weekly summary of your own account: mail received, spam caught, sign-ins
For administrators: daily, weekly and monthly reports on mail, spam, viruses, web attacks blocked by the
OWASP rules, sign-ins and the server's health, by country, with alerts as soon as something goes wrong
🍁 Made for Canada
Entirely in English and in French, switchable at any time
Canadian date and number formats
Works on phones, tablets and computers, in light or dark mode
Screenshots
Illustrations of the myHUB screens with example data (example.com). Click an image to see it full size.
Mail. Folders on the left, messages in the middle, the open message on the right. The DMARC button next to Reply shows the sender checks (SPF, DKIM, DMARC, ARC); Headers shows the headers, ready to copy.Filters. Rules that file new mail as it arrives: by mailing list, sender, subject or any header, with all / any conditions and regular expressions; mark as read or flag it. Spam goes to Junk after your rules, so a rule can keep a trusted sender in the Inbox.Notifications. A read-only folder: notices from the administrator (here a maintenance banner), your weekly summary, and for administrators the system reports and alerts, here the web attacks the firewall blocked, by type and by country.Calendar. Week view with several calendars, a repeating stand-up and a birthday; the open invitation shows each guest's answer and an email reminder. Devices sets up phones and computers.Contacts. Groups, a searchable list and each contact's details; import and export vCards, or sync them to your phone.En français. The whole interface switches between English and French; here the composer suggests addresses as you type.
Credits
myHUB was designed and built by Roger Sistla and Claude, an AI model
made by Anthropic.
Free software under the GNU Affero General Public License v3. Built with Python, Flask,
nh3, gunicorn, argon2-cffi, cbor2, cryptography, Rust (mail-parser, regex, serde), Vite, Caddy, Coraza and the
OWASP Core Rule Set, Postfix, rspamd, ClamAV and ALTCHA. IP to country data by
DB-IP (CC BY 4.0).
À propos de monCENTRE
Un serveur de courriel autohébergé, léger et libre, avec courriel Web, calendrier et contacts,
dans les deux langues officielles du Canada.
Qu’est-ce que c’est?
monCENTRE est le courriel Web de ce serveur de courriel. Vous lisez, rédigez et classez votre courriel dans le
navigateur, sans rien installer. Contrairement à la plupart des courriels Web, il ne repose pas sur un serveur
IMAP : il travaille directement avec les fichiers de courriel sur le disque (le format Maildir, un
fichier par message), ce qui le rend petit, rapide et facile à sauvegarder. C’est un logiciel libre, publié sous
la licence publique générale GNU Affero, version 3.
Autohébergé
Tout fonctionne sur un seul serveur que son propriétaire contrôle : la réception et l’envoi du courriel, le
filtrage, l’application Web et les comptes eux-mêmes. Aucun annuaire externe, service infonuagique ni tiers
n’intervient, et votre courriel, vos calendriers et vos contacts ne quittent jamais le serveur. (La seule chose
qu’il télécharge de l’extérieur est une table publique et gratuite du pays de chaque adresse IP, une fois par
mois, pour les rapports de l’administrateur.)
Ses propres comptes. Les utilisateurs, les alias et les domaines sont dans une petite base
de données sur le serveur; les mots de passe sont conservés sous forme de hachages Argon2id, et vous pouvez
vous connecter avec une clé d’accès à la place.
De simples fichiers qui vous appartiennent. Le courriel, les contacts et les calendriers
sont des fichiers ordinaires (Maildir, vCard, iCalendar) sur ZFS : faciles à sauvegarder par un instantané,
faciles à déplacer, lisibles sans monCENTRE.
Installation en une étape. Un script d’installation met tout en place sur une zone SmartOS
neuve pour votre propre domaine : serveur de courriel, filtrage des pourriels et des virus, clés DKIM,
certificat HTTPS, premier compte, et les enregistrements DNS à créer.
Comment ça fonctionne
Votre navigateur se connecte en HTTPS (HTTP/1.1, HTTP/2 ou HTTP/3) avec un certificat
Let’s Encrypt.
Caddy et un pare-feu applicatif (Coraza et l’OWASP Core Rule Set) filtrent chaque requête
et limitent leur rythme.
L’application monCENTRE (Python et Flask) vérifie votre mot de passe ou votre clé d’accès
dans sa propre base de comptes, puis lit et écrit les fichiers de votre boîte aux lettres.
Postfix reçoit et envoie le courriel; rspamd filtre les pourriels et signe
le courriel sortant avec DKIM; ClamAV vérifie chaque message contre les virus.
vmail-lda, un petit agent de livraison écrit en Rust, classe chaque message reçu selon vos
propres filtres, met les pourriels dans Pourriels et l’écrit sur disque de façon sûre (écrit, vidé sur
disque, puis mis en place).
Un service de statistiques lit les journaux du serveur toutes les cinq minutes et dépose
avis, alertes et rapports quotidiens, hebdomadaires et mensuels dans un dossier Avis en lecture
seule.
Les boîtes aux lettres, les contacts et les calendriers sont de simples fichiers sur un
système de fichiers ZFS sous SmartOS, dans des répertoires nommés par des UUID, pour que leur structure ne
dépende jamais d’une langue, d’un nom ni d’une adresse.
Pourquoi SmartOS et pkgsrc
monCENTRE fonctionne sous SmartOS,
un système d’exploitation libre basé sur illumos,
la continuation communautaire d’OpenSolaris. Le courriel est une donnée précieuse, et SmartOS le conserve sur
ZFS, qui vérifie chaque bloc par
somme de contrôle, répare lui-même les dommages et prend des instantanés immédiats : une boîte aux lettres peut
être sauvegardée ou restaurée en quelques secondes. L’application s’exécute dans une zone, un conteneur
léger et fortement isolé que SmartOS offre depuis près de vingt ans, et chaque service est supervisé par SMF, qui
redémarre tout ce qui tombe en panne.
Tous les logiciels proviennent de pkgsrc,
la collection de paquets portable née du projet NetBSD, qui produit aujourd’hui les mêmes logiciels éprouvés pour
de nombreux systèmes d’exploitation. Ses versions stables trimestrielles nous donnent des versions à jour de
Python, Postfix, rspamd, ClamAV et des autres, installées dans leur propre arborescence, à l’écart du système, et
mises à jour d’une seule commande. Les deux projets sont libres, ouverts et portés par leur communauté, et nous
sommes heureux de nous appuyer sur eux.
☀️ SmartOS
Zones : virtualisation au niveau du système, rapidité quasi native et isolation forte
ZFS : sommes de contrôle de bout en bout, autoréparation, instantanés, clones, compression et quotas
DTrace : traçage sûr et en direct de tout le système, en production
SMF : gestion des services avec dépendances et redémarrage automatique
Virtualisation réseau : cartes réseau virtuelles et piles réseau par zone
Machines virtuelles avec bhyve lorsqu’un système invité complet est nécessaire
📦 pkgsrc
Plus de 20 000 paquets issus d’un seul cadre portable
Fonctionne sous illumos et SmartOS, NetBSD, Linux, macOS et d’autres systèmes
Branches stables trimestrielles avec correctifs de sécurité
Installation binaire rapide avec pkgin, ou compilation à partir des sources avec les mêmes recettes
Son propre préfixe (/opt/local sous SmartOS), séparé du système de base
Fonctionnalités
📬 Courriel
Affichage en trois volets : dossiers, messages, message
Dossiers et sous-dossiers à créer, renommer, déplacer et supprimer
Recherche plein texte rapide dans tous les dossiers
Éditeur de texte enrichi avec pièces jointes, brouillons enregistrés automatiquement, réponses et transferts
Boîte de réception, Brouillons, Éléments envoyés, Courrier indésirable, Corbeille, Archives et Avis dans chaque boîte
Des filtres qui classent le nouveau courriel dans des dossiers dès son arrivée, selon l’expéditeur, l’objet, la liste ou tout en-tête
🛡 Lecture sécuritaire
Courriel HTML nettoyé avant l’affichage et présenté dans un cadre verrouillé
Images externes bloquées jusqu’à ce que vous choisissiez de les afficher
Vérification de l’expéditeur pour chaque message : SPF, DKIM, DMARC et ARC, à un clic
Les en-têtes du message, prêts à copier, et le message original complet
🚫 Pourriels et virus
Filtrage des pourriels par rspamd, qui apprend de vos choix Pourriel / Pas un pourriel
Les pourriels vont directement dans Courrier indésirable, sauf si l’un de vos filtres en décide autrement
Chaque message entrant et sortant vérifié par ClamAV
Le courriel falsifié des domaines qui le demandent (DMARC p=reject) est refusé
Réputation des expéditeurs selon SenderScore
👥 Contacts
Carnet d’adresses avec groupes et photos
Importation et exportation de vCards des téléphones, de Google, d’Apple et d’Outlook
Suggestions d’adresses pendant la saisie
Ajout d’un expéditeur à vos contacts en un clic
📅 Calendrier
Vues mois, semaine, jour et agenda, plusieurs calendriers en couleurs
Événements répétitifs, fuseaux horaires, glisser pour déplacer ou redimensionner
Invitations par courriel comprises par Gmail et Outlook : accepter, peut-être, refuser
Rappels dans le navigateur ou par courriel, et disponibilités de vos invités
📱 Synchronisation
Calendriers et contacts sur votre téléphone et votre ordinateur (CalDAV et CardDAV)
Fonctionne avec Calendrier et Contacts d’Apple, Thunderbird et DAVx⁵ sur Android
Un mot de passe d’application distinct par appareil, révocable en tout temps
🔐 Sécurité
Clés d’accès : connexion avec Face ID, Touch ID, Windows Hello, votre téléphone ou une clé de sécurité
Connexion protégée par ALTCHA, une preuve de travail respectueuse de la vie privée au lieu d’un casse-tête
Politique de sécurité du contenu stricte et sessions sécurisées de courte durée
Le courriel de chaque utilisateur est strictement séparé; rien n’est partagé avec des tiers
Un dossier en lecture seule pour les avis de l’administrateur, comme un entretien prévu, avec une bannière au besoin
Un résumé hebdomadaire de votre propre compte : courriel reçu, pourriels arrêtés, connexions
Pour les administrateurs : rapports quotidiens, hebdomadaires et mensuels sur le courriel, les pourriels,
les virus, les attaques Web bloquées par les règles OWASP, les connexions et l’état du serveur, par pays,
avec des alertes dès qu’un problème survient
🍁 Conçu pour le Canada
Entièrement en français et en anglais, au choix à tout moment
Formats de date et de nombre canadiens
Fonctionne sur téléphone, tablette et ordinateur, en mode clair ou sombre
Captures d’écran
Illustrations des écrans de monCENTRE avec des données d’exemple (example.com). Cliquez sur une image pour l’agrandir.
Courriel. Les dossiers à gauche, les messages au centre et le message ouvert à droite. Le bouton DMARC, à côté de Répondre, affiche la vérification de l’expéditeur (SPF, DKIM, DMARC, ARC); En-têtes affiche les en-têtes, prêts à copier.Filtres. Des règles qui classent le nouveau courriel dès son arrivée : par liste de diffusion, expéditeur, objet ou tout en-tête, avec des conditions « toutes » ou « l’une », et des expressions régulières; marquer comme lu ou signaler. Les pourriels vont dans Courrier indésirable après vos règles, pour qu’une règle puisse garder un expéditeur de confiance dans la Boîte de réception.Avis. Un dossier en lecture seule : les avis de l’administrateur (ici une bannière d’entretien), votre résumé hebdomadaire et, pour les administrateurs, les rapports et alertes du système, ici les attaques Web bloquées par le pare-feu, par type et par pays. (Image en anglais.)Calendrier. Vue semaine avec plusieurs calendriers, une réunion quotidienne répétitive et un anniversaire; l’invitation ouverte montre la réponse de chaque invité et un rappel par courriel. Appareils configure téléphones et ordinateurs.Contacts. Des groupes, une liste avec recherche et les détails de chaque contact; importation et exportation de vCards, ou synchronisation avec votre téléphone.En français. Toute l’interface passe de l’anglais au français; ici, l’éditeur suggère des adresses pendant la saisie.
Crédits
monCENTRE a été conçu et réalisé par Roger Sistla et Claude, un modèle d’IA
créé par Anthropic.
Logiciel libre sous la licence publique générale GNU Affero, version 3. Réalisé avec Python,
Flask, nh3, gunicorn, argon2-cffi, cbor2, cryptography, Rust (mail-parser, regex, serde), Vite, Caddy, Coraza et
l’OWASP Core Rule Set, Postfix, rspamd, ClamAV et ALTCHA. Données de pays des adresses IP par
DB-IP (CC BY 4.0).