19 guides pas à pas Docker® Compose, OS, NAS & hébergeurs
Déploiement via Docker® Compose, service Windows® (sans Docker®), Linux®, NAS, Proxmox® & grands hébergeurs
Choisissez votre plateforme exacte : des exemples Docker® Compose prêts à l'emploi et d'un service Windows Server® natif sans Docker® jusqu'à Proxmox® VE, Raspberry Pi®, Synology®, ASUSTOR, UGREEN, TerraMaster et Unraid, ainsi que la configuration exacte du PTR et du pare-feu chez netcup, Hetzner, IONOS, ALL-INKL.COM, Hostinger, Strato et OVHcloud.
# Linux & macOS: SHA-256-geprüfter Installer & Updater v1.0.0 (Docker Compose, .deb oder systemd)curl -fsSL https://nextxch.com/install.sh | sudo bash# Windows Server (2019 / 2022 / 2025): Lädt das .msi, prüft SHA-256 & startet den Assistentenirm https://nextxch.com/install.ps1 | iex# Gepinnter Container-Start (Version 1.0.0 für linux/amd64 & linux/arm64)docker run -d --name nextxch -p 25:25 -p 465:465 -p 587:587 -p 993:993 -p 80:80 -p 443:443 \
-v nextxch-data:/app/data nextxch/server:1.0.0
# Enterprise Active-Active Stack (Release 1.0.0) + PostgreSQL 18, MS SQL Server oder SQLite WALservices:
nextxch:
image: nextxch/server:1.0.0restart: unless-stoppedports: ["25:25", "465:465", "587:587", "993:993", "4190:4190", "80:80", "443:443"]
environment:
Storage__Provider: "Postgres"# "Postgres", "SqlServer" oder "Sqlite"Cluster__Enabled: "true"# Multi-Node Cluster ohne RedisStorage__BlobBackend: "Hybrid"# NVMe-Cache + S3 WORM Object Lockvolumes:
- ./nextxch-data:/app/data
# Windows Server .msi Installer (SQLite WAL, MS SQL Server 2019-2025/Express oder PostgreSQL 18)irm https://nextxch.com/install.ps1 | iex# Unbeaufsichtigte Installation als nativer Windows-Dienst ohne Docker Desktop:msiexec.exe /i Nextxch-Setup-win-x64.msi /qn `
DEFAULT_DOMAIN="firma.de" MAIL_HOSTNAME="mail.firma.de" `
ADMIN_EMAIL="admin@firma.de" STORAGE_PROVIDER="SqlServer"
// Integrierte Transactional HTTP API mit Idempotency-Key & Dual-DKIMusing var http = new HttpClient { BaseAddress = new("https://mail.iqmeta.de") };
http.DefaultRequestHeaders.Add("X-Api-Key", Environment.GetEnvironmentVariable("NEXTXCH_KEY"));
http.DefaultRequestHeaders.Add("Idempotency-Key", "inv-2026-0841");
var res = await http.PostAsJsonAsync("/api/v1/send", new {
from = "billing@iqmeta.de",
to = new[] { "accounting@customer.de" },
subject = "ZUGFeRD Invoice #2026-0841",
htmlBody = "<p>Please find your EN 16931 invoice attached.</p>"
});
En ligne en 60 secondes
Un seul binaire unifié au lieu de sept démons fragiles.
Cessez d'assembler Postfix, Dovecot, Rspamd, OpenDKIM, Certbot, Redis et un ancien webmail PHP : nextxch réunit transport du courrier, groupware, Webmail PWA, Admin Cockpit, CLI/API et Let's Encrypt SNI en 0 ms dans un seul paquet autonome.
Installateurs en une ligne de terminal & paquets natifs vérifiés v1.0.0 (.msi, .deb, .tar.gz)
Vérifie automatiquement les empreintes SHA-256, demande de manière interactive le domaine, le nom d'hôte, l'administrateur et le stockage, ou effectue une mise à jour du service sur place
v1.0.0 · Vérifié SHA-256
# === Linux (Debian / Ubuntu / RHEL) & macOS - Interaktiver Installer & Updater (v1.0.0) ===
curl -fsSL https://nextxch.com/install.sh | sudo bash
# Späteres Update auf neue Release-Version mit einem Befehl:
curl -fsSL https://nextxch.com/install.sh | sudo bash -s -- --update
# === Windows Server (2019 / 2022 / 2025) - Lädt .msi, prüft SHA-256 & startet den Assistenten ===
irm https://nextxch.com/install.ps1 | iex
Remarque sur le registre de conteneurs : en production, nous recommandons fortement des tags de version épinglés (1.0.0 plutôt que :latest). Tant que la mise en miroir publique sur Docker® Hub est en déploiement progressif, install.sh --mode docker vérifie automatiquement SHA256SUMS.txt depuis nextxch.com et construit nextxch/server:1.0.0 localement sur votre hôte.
Option A : Compose compact à conteneur unique (SQLite WAL + Zstandard) : idéal jusqu'à plusieurs milliers de boîtes aux lettres sur un seul VPS, serveur dédié ou NAS, sans aucune dépendance à une base de données externe et avec ~40 Mo de RAM au repos.
Option B : Compose de production Enterprise (PostgreSQL® 18 + S3 WORM + OpenTelemetry) : mise à l'échelle horizontale, S3 Object Lock conforme GoBD et traces, métriques & journaux OpenTelemetry OTLP.
Recommandé : assistant .msi officiel pour Windows® (v1.0.0) : lors d'une nouvelle installation, il demande de manière interactive le domaine, le nom d'hôte MX, l'identifiant administrateur, le choix entre SQLite WAL, Microsoft® SQL Server® (2019–2025 / Express / Azure® SQL) et PostgreSQL® 18, Let's Encrypt ACME, le pare-feu Windows® et un jeton de licence facultatif. L'exécution d'un .msi plus récent effectue en 1 clic une mise à niveau sur place du service Windows® tout en conservant appsettings.Production.json et les données de messagerie.
CLI silencieuse sans surveillance pour Ansible, GPO & Microsoft® Intune : transmettez n'importe quelle propriété de configuration sans interface via msiexec.exe /qn.
Moteur de cluster 100 % PostgreSQL® 18 (sans Redis/Kafka) : les réplicas diffusent le push temps réel IMAP IDLE et JMAP SSE en < 2 ms via PostgreSQL® LISTEN/NOTIFY, partagent les challenges éphémères et limites de débit via des tables UNLOGGED et élisent les leaders ACME/conservation via pg_try_advisory_lock.
Protocole PROXY HAProxy v1/v2 & sessions sans état : conserve les IP réelles des clients derrière des répartiteurs de charge L4 pour des contrôles SPF/DMARC/CIDR précis ; des jetons signés permettent une mise à l'échelle HPA sans sessions persistantes.
Licences Ed25519 compatibles cluster : un seul jeton de licence couvre un nombre illimité de pods et se synchronise automatiquement sur tous les nœuds une fois activé dans /admin/.
Créer un conteneur LXC : créez un conteneur LXC Debian® 12 non privilégié (2 vCPU, 1024 Mo de RAM) avec un point de montage ZFS/NVMe sur /var/lib/nextxch.
Directement via .deb / systemd : dans un LXC, exécutez le service natif .deb/systemd pour éviter toute surcharge de conteneurs imbriqués et bénéficier de snapshots instantanés Proxmox® Backup Server.
Pare-feu Proxmox® : autorisez en entrée TCP 25, 465, 587, 993, 4190, 80, 443 dans le pare-feu Datacenter/CT.
Système 64 bits & NVMe au lieu d'une carte SD : utilisez Raspberry Pi® OS Lite 64 bits et placez /var/lib/nextxch sur un HAT NVMe M.2 ou un SSD USB 3 plutôt que sur une microSD.
Conseil pour connexion résidentielle (smarthost) : sur les IP dynamiques résidentielles, définissez Smtp__OutboundSmartHost sur le relais de votre FAI/hébergeur pour une remise sortante fiable.
# Nativ per ARM64-.deb-Paket oder Container (v1.0.0) auf Raspberry Pi 4 / 5:
curl -fLO https://nextxch.com/downloads/nextxch_1.0.0_arm64.deb
sudo dpkg -i nextxch_1.0.0_arm64.deb
NAS Synology® (DSM 7.2+)
Container Manager · Btrfs
Créer un dossier dans File Station : créez /volume1/docker/nextxch dans File Station sur votre volume Btrfs/SSD.
Éviter les conflits de ports : assurez-vous que Synology® MailPlus est arrêté afin que les ports 25, 465, 587 et 993 soient libres.
Ouvrir Container Manager : ouvrez Container Manager -> Projet -> Créer, sélectionnez /volume1/docker/nextxch et collez :
Installer Docker®-CE & Portainer CE : installez Docker®-CE et Portainer CE depuis ADM App Central.
Dossier persistant : créez /volume1/Docker/nextxch dans l'explorateur de fichiers ADM.
Déployer la stack : déployez une stack dans Portainer avec le mappage /volume1/Docker/nextxch:/app/data et autorisez les ports de messagerie dans ADM Defender.
Utiliser le pool de stockage NVMe : sur les modèles UGREEN NASync DXP, placez /volume1/docker/nextxch sur votre pool NVMe M.2 pour une recherche instantanée.
Application Docker® pour UGOS Pro : ouvrez UGOS Pro Docker® -> Project -> Create, collez le fichier Compose et cliquez sur Deploy.
Installer Docker® Manager : installez Docker® Manager depuis le TOS App Center et créez /Volume1/docker/nextxch.
Déployer le projet : dans Docker® Manager -> Projects -> Add, collez la pile YAML et démarrez-la.
volumes:
- /Volume1/docker/nextxch:/app/data
# Admin-Cockpit nach Start: https://TERRAMASTER-IP:8443/admin/
Serveur Unraid (6.12+ / 7.x)
Unraid · Cache NVMe · Custom br0
Placer Appdata sur le cache NVMe : mappez /mnt/cache/appdata/nextxch afin que les disques de l'array de parité puissent se mettre en veille pendant que les index tournent à la vitesse du NVMe.
IP LAN dédiée via le type de réseau Custom: br0 (recommandé) : attribuez le type de réseau Custom br0 avec une IP LAN dédiée afin que les ports 80/443/25 n'entrent jamais en conflit avec la WebGUI d'Unraid.
Guides de configuration pour netcup, Hetzner, IONOS, ALL-INKL.COM, Hostinger, Strato & OVHcloud
Une remise fiable en boîte de réception chez Gmail™, Outlook® et sur les passerelles d'entreprise exige une réputation propre de l'IP d'envoi ainsi que trois réglages chez l'hébergeur : accès sortant au port 25, DNS inverse PTR IPv4/IPv6 concordant et enregistrements SPF/DKIM/DMARC alignés.
netcup.de (serveur root & VPS)
SCP · DNS CCP · port 25 ouvert
Définir le DNS inverse (PTR) dans le SCP : dans netcup SCP -> Network, définissez le DNS inverse (PTR) de votre adresse IPv4 et de votre adresse IPv6 principale sur mail.yourdomain.de.
Gérer le DNS dans le CCP : dans netcup CCP -> Domains -> DNS, ajoutez les enregistrements A, AAAA, MX (prio 10), SPF et TXT DKIM.
Installation : déployez l'ISO Debian® 12 ou Windows Server® dans le SCP et installez en natif ou via Docker®.
hetzner.de (Cloud CX/CAX & Dedicated)
Cloud Console · x64 & Ampere ARM64
Déblocage du port 25 pour les nouveaux clients : les nouveaux comptes Hetzner Cloud bloquent d'abord les ports sortants 25/465 ; demandez le déblocage du port via Cloud Console -> Limits après votre première facture.
Définir les PTR IPv4 & IPv6 : dans Hetzner Cloud Console -> Networking -> Edit Reverse DNS, sur l'IPv4 principale et sur IPv6::1, vers mail.yourdomain.de.
Conseil rapport qualité-prix : fonctionne nativement sur les instances Hetzner CAX ARM64 ultra-efficaces et s'associe directement au stockage objet Hetzner S3.
ionos.de (VPS & Cloud Server)
IONOS Cloud Panel · S3 Object Lock
Ouvrir le pare-feu externe IONOS : ouvrez IONOS Cloud Panel -> Network -> Firewall Policies et autorisez en entrée les ports TCP 25, 80, 443, 465, 587, 993 et 4190.
Configurer le DNS inverse : définissez le Reverse DNS sous Network -> Public IPs sur mail.yourdomain.de dès que l'enregistrement A est résolu.
Archive GoBD avec IONOS S3 : à associer au stockage objet IONOS S3 à Francfort/Berlin avec S3 Object Lock natif (COMPLIANCE).
ALL-INKL.COM (DNS KAS & smarthost)
Outils DNS KAS · Smarthost
Variante A (domaine chez ALL-INKL, nextxch sur votre propre VPS) : dans ALL-INKL KAS -> Tools -> DNS Tools, faites pointer A/AAAA de mail et le MX vers l'IP de votre nextxch, puis ajoutez les enregistrements TXT SPF/DKIM/DMARC.
Variante B (nextxch au bureau / sur NAS avec ALL-INKL comme relais d'envoi) : vous exécutez nextxch sur un NAS/Proxmox® de bureau derrière une IP dynamique ? Configurez w01abc.kasserver.com:587 comme Smtp__OutboundSmartHost et ajoutez include:_spf.kasserver.com au SPF.
Hostinger (KVM VPS & hPanel)
hPanel · KVM 2 / KVM 4
Enregistrement PTR dans l'espace VPS : dans Hostinger hPanel -> VPS -> IP Addresses, définissez l'enregistrement PTR sur mail.yourdomain.de.
Attention au port 25 / relais : vérifiez que le port 25 sortant est débloqué sur votre offre KVM, ou configurez dans nextxch un smarthost authentifié sur le port 587.
Gestion DNS dans hPanel : remplacez les entrées MX par défaut dans l'éditeur de zone DNS de hPanel par mail.yourdomain.de et vos enregistrements TXT SPF/DKIM/DMARC.
Strato (V-Server Linux®/Windows® & Dedicated)
Connexion serveur STRATO · Windows® & Linux®
Idéal pour Windows Server® sans Docker® : sur les V-Servers Windows® de STRATO, installez directement en tant que service Windows® natif à l'aide de la commande PowerShell® ci-dessus.
DNS inverse dans le STRATO Server-Login : dans STRATO Server Login -> IP Addresses, définissez le DNS inverse pour IPv4 et IPv6 sur mail.yourdomain.de.
Gestion de domaine STRATO : dans STRATO Domain Management -> DNS Settings, faites pointer le MX vers un serveur de messagerie personnalisé (mail.yourdomain.de) et ajoutez les enregistrements TXT.
OVHcloud (VPS, Dedicated & Public Cloud)
OVHcloud Control Panel · S3 WORM UE
Ordre important pour le PTR chez OVHcloud : OVHcloud valide le DNS direct avant d'accepter une modification du PTR : créez d'abord les enregistrements A et AAAA pour mail.yourdomain.de, puis définissez le DNS inverse sous Network -> Public IPs.
Pare-feu réseau & S3 Object Lock : autorisez les ports de messagerie dans l'OVHcloud Edge Network Firewall et connectez en option OVHcloud S3 Object Storage (Limbourg/Strasbourg) pour un archivage GoBD WORM immuable.