Initial vault setup
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
---
|
||||
title: Mox
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, email, go, smtp, imap, jmap, auto-hebergement]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Email, https://github.com/mjl-/mox]
|
||||
---
|
||||
|
||||
# 📧 Mox
|
||||
|
||||
> **Serveur mail moderne écrit en Go** par l'auteur de la lib `mjl-` (auteur du MTA `chasquid`). Mono-binaire, configuré en JSON, IMAP4/SMTP/JMAP, simple à auditer.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [mox.example](https://www.xmox.nl/) (site perso) |
|
||||
| **GitHub** | [mjl-/mox](https://github.com/mjl-/mox) |
|
||||
| **License** | MIT |
|
||||
| **Langage** | Go |
|
||||
| **Étoiles GitHub** | 5 706 ⭐ |
|
||||
| **Catégorie** | [[cat-email\|Email]] |
|
||||
| **Mainteneur** | Mechiel Lukkien (mjl-) |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Mox** est un serveur mail **complet** écrit en Go par **Mechiel Lukkien** (déjà auteur de `chasquid`, MTA simple en Go). Le projet vise à fournir une stack mail **fiable, auditable et facile à comprendre** — un seul binaire Go, configuration en JSON, peu de dépendances.
|
||||
|
||||
**Composants intégrés** (dans le même binaire) :
|
||||
- **SMTP** (réception + relais) avec support de STARTTLS, SIZE, DSN
|
||||
- **IMAP4rev1** (avec support IMAP IDLE pour le push)
|
||||
- **JMAP** (core + mail) pour les clients modernes
|
||||
- **Submission** port 587 avec auth
|
||||
- **ACME** : auto-certificats Let's Encrypt
|
||||
- **DKIM signing + verification**
|
||||
- **DMARC evaluation**
|
||||
- **SpamAssassin** embarqué (compilé)
|
||||
- **Web admin** simple intégrée
|
||||
- **Stockage maildir** ou **S3-compatible**
|
||||
- **Backup/restore** natif
|
||||
|
||||
**Forces** :
|
||||
- **Mono-binaire** : un seul exécutable à déployer, pas de Docker obligatoire
|
||||
- **Code Go** : facile à auditer, mémoire safe, performance excellente
|
||||
- **Configuration JSON** claire et versionnable
|
||||
- **Pas de dépendance externe** : pas de Postgres, pas de Redis obligatoire
|
||||
- **Bonne documentation** et auteur très actif
|
||||
- **Comparable à Stalwart** (Rust) — concurrents directs
|
||||
|
||||
**Faiblesses** :
|
||||
- **Pas de webmail** intégré (à combiner avec Stalwart Webmail, Roundcube, etc.)
|
||||
- **Communauté** plus petite que mailcow/mailu
|
||||
- **Pas d'UI aussi riche** que mailcow (admin web basique)
|
||||
- **Moins de documentation française** que les concurrents
|
||||
- **Pas de support CalDAV/CardDAV** (que mail)
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Binaire natif (recommandé)
|
||||
|
||||
```bash
|
||||
# Téléchargement
|
||||
wget https://github.com/mjl-/mox/releases/latest/download/mox-linux-amd64.tar.gz
|
||||
tar xzf mox-linux-amd64.tar.gz
|
||||
sudo install -m 755 mox /usr/local/bin/mox
|
||||
|
||||
# Création utilisateur système
|
||||
sudo useradd -r -s /sbin/nologin -d /var/mox mox
|
||||
|
||||
# Initialisation (interactif)
|
||||
sudo -u mox mox quickstart mail.example.com
|
||||
```
|
||||
|
||||
### Docker
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
version: '3.8'
|
||||
services:
|
||||
mox:
|
||||
image: mjl-/mox:latest
|
||||
container_name: mox
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "25:25" # SMTP
|
||||
- "465:465" # SMTPS
|
||||
- "587:587" # Submission
|
||||
- "993:993" # IMAPS
|
||||
- "443:443" # Admin web
|
||||
volumes:
|
||||
- ./config:/mox
|
||||
- ./data:/data
|
||||
- ./mail:/mail
|
||||
```
|
||||
|
||||
### Service systemd
|
||||
|
||||
```ini
|
||||
# /etc/systemd/system/mox.service
|
||||
[Unit]
|
||||
Description=Mox mail server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=mox
|
||||
ExecStart=/usr/local/bin/mox serve
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
WorkingDirectory=/var/mox
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
1. **DNS** : A, MX, SPF, DKIM (auto-générés via `mox dkim`), DMARC, `_mox-*.example.com` pour DSN
|
||||
2. **ACME** : `mox acme accept` puis renouvellement auto
|
||||
3. **Reverse DNS** : indispensable
|
||||
4. **Comptes** : `mox adduser user@example.com`
|
||||
5. **Quotas** : paramétrables par domaine
|
||||
6. **Backups** : `mox backup` → tar.gz ou S3
|
||||
|
||||
## 🔗 Alternatives
|
||||
|
||||
- **[app-stalwart](app-stalwart)** — Concurrent direct, en Rust
|
||||
- **[app-mailcow](app-mailcow)** — Plus complet, Dockerisé, plus accessible
|
||||
- **[app-mailu](app-mailu)** — Plus simple à mettre en œuvre
|
||||
- **Postfix + Dovecot** — La stack classique, plus modulaire
|
||||
|
||||
## 🔒 Sécurité
|
||||
|
||||
- **Mémoire safe** (Go) → peu de CVE mémoire
|
||||
- **TLS强制** sur tous les services
|
||||
- **SPF / DKIM / DMARC** natifs, vérification des signatures entrantes
|
||||
- **Rate limiting** sur SMTP
|
||||
- **Submission** avec **SCRAM-SHA-1** ou **PLAIN over TLS**
|
||||
- **ACME** pour renouvellement auto des certificats
|
||||
- **Logs structurés** exportables
|
||||
- **Code simple à auditer** (~30k LOC)
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [Site officiel / docs](https://www.xmox.nl/)
|
||||
- [Manuel](https://www.xmox.nl/docs)
|
||||
- [GitHub mjl-/mox](https://github.com/mjl-/mox)
|
||||
- [Annonce / blog](https://github.com/mjl-/mox/blob/master/doc/CHANGELOG.md)
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-email]] — Toutes les apps Email du catalogue
|
||||
- [[app-stalwart]] — Concurrent direct en Rust
|
||||
- [[app-mailcow]] — Plus accessible aux débutants
|
||||
- [[app-mailu]] — Alternative plus simple
|
||||
- [[securisation-home-lab]] — Sécuriser un serveur mail
|
||||
- [[recettes-docker-compose]] — Templates Docker
|
||||
Reference in New Issue
Block a user