19 guide passo passo per Docker® Compose, sistemi operativi, NAS & provider di hosting
Deployment tramite Docker® Compose, servizio Windows® (senza Docker®), Linux®, NAS, Proxmox® & principali provider di hosting
Scelga la Sua piattaforma esatta: dagli esempi Docker® Compose pronti all'uso e da un servizio nativo Windows Server® senza Docker® fino a Proxmox® VE, Raspberry Pi®, Synology®, ASUSTOR, UGREEN, TerraMaster e Unraid, oltre alla configurazione esatta di PTR & firewall su netcup, Hetzner, IONOS, ALL-INKL.COM, Hostinger, Strato e 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>"
});
Operativo in 60 secondi
Un unico binario unificato al posto di sette fragili daemon.
Basta assemblare Postfix, Dovecot, Rspamd, OpenDKIM, Certbot, Redis e webmail PHP legacy: nextxch include trasporto della posta, groupware, Webmail PWA, Admin Cockpit, CLI/API e Let's Encrypt SNI in 0 ms in un unico pacchetto autonomo.
Installer da terminale a una riga & pacchetti nativi verificati v1.0.0 (.msi, .deb, .tar.gz)
Verifica automaticamente i digest SHA-256, chiede in modo interattivo dominio, nome host, admin e storage, oppure esegue un aggiornamento del servizio sul posto
v1.0.0 · verificato 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
Docker® e Docker® Compose (release v1.0.0 fissata per Linux®, Windows®, macOS® e NAS)
Immagine OCI multi-arch riproducibile (nextxch/server:1.0.0 · linux/amd64 e linux/arm64) con SQLite WAL o PostgreSQL® 18, CalDAV/CardDAV, S3 Object Lock e OpenTelemetry
OCI v1.0.0
Nota sul container registry: in produzione raccomandiamo vivamente tag di release fissi (1.0.0 anziché :latest). Finché il mirroring pubblico su Docker® Hub è in fase di rollout graduale, l'esecuzione di install.sh --mode docker verifica automaticamente SHA256SUMS.txt da nextxch.com e compila nextxch/server:1.0.0 localmente sul proprio host.
Opzione A: Compose compatto a container singolo (SQLite WAL + Zstandard): ideale fino a migliaia di caselle di posta su un singolo VPS, server dedicato o NAS, senza dipendenze da database esterni e con circa 40 MB di RAM a riposo.
Opzione B: Enterprise Production Compose (PostgreSQL® 18 + S3 WORM + OpenTelemetry): scalabilità orizzontale, S3 Object Lock conforme a GoBD e trace, metriche e log OpenTelemetry OTLP.
Consigliato: procedura guidata ufficiale Windows® .msi (v1.0.0): in una nuova installazione chiede in modo interattivo dominio, nome host MX, login amministratore, SQLite WAL oppure Microsoft® SQL Server® (2019-2025 / Express / Azure® SQL) oppure PostgreSQL® 18, Let's Encrypt ACME, Windows® Firewall e token di licenza facoltativo. L'esecuzione di un .msi più recente aggiorna sul posto il servizio Windows® con 1 clic, conservando appsettings.Production.json e i dati di posta.
CLI silenziosa non presidiata per Ansible, GPO & Microsoft® Intune: passi qualsiasi proprietà di configurazione senza interfaccia tramite msiexec.exe /qn.
Motore cluster 100% PostgreSQL® 18 (zero Redis/Kafka): le repliche distribuiscono il push in tempo reale IMAP IDLE e JMAP SSE in < 2 ms tramite PostgreSQL® LISTEN/NOTIFY, condividono challenge effimere e rate limit tramite tabelle UNLOGGED ed eleggono i leader ACME/conservazione tramite pg_try_advisory_lock.
HAProxy PROXY Protocol v1/v2 & sessioni stateless: mantiene gli IP reali dei client dietro load balancer L4 per controlli SPF/DMARC/CIDR accurati; i token firmati consentono lo scaling HPA senza sticky session.
Licenze Ed25519 compatibili con i cluster: un unico token di licenza copre pod illimitati e si sincronizza automaticamente su tutti i nodi quando viene attivato in /admin/.
Creare un container LXC: crei un container LXC Debian® 12 non privilegiato (2 vCPU, 1024 MB di RAM) con un mountpoint ZFS/NVMe su /var/lib/nextxch.
Direttamente tramite .deb / systemd: all'interno di LXC eseguire il servizio nativo .deb/systemd, senza overhead di container annidati e con snapshot istantanei di Proxmox® Backup Server.
Firewall Proxmox®: consentire TCP in entrata 25, 465, 587, 993, 4190, 80, 443 nel Datacenter/CT Firewall.
Sistema a 64 bit & NVMe invece della scheda SD: usare Raspberry Pi® OS Lite a 64 bit e collocare /var/lib/nextxch su un HAT NVMe M.2 o su un SSD USB 3 anziché su microSD.
Consiglio per connessioni domestiche (smarthost): con IP dinamici residenziali, impostare Smtp__OutboundSmartHost sul relay dell'ISP/hoster per un recapito in uscita affidabile.
# 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
Creare una cartella in File Station: crei /volume1/docker/nextxch in File Station sul volume Btrfs/SSD.
Evitare conflitti di porta: assicurarsi che Synology® MailPlus sia arrestato, in modo che le porte 25, 465, 587 e 993 siano libere.
Installare Docker® Manager: installare Docker® Manager dal TOS App Center e creare /Volume1/docker/nextxch.
Distribuire il progetto: in Docker® Manager -> Projects -> Add, incollare lo stack YAML e avviarlo.
volumes:
- /Volume1/docker/nextxch:/app/data
# Admin-Cockpit nach Start: https://TERRAMASTER-IP:8443/admin/
Unraid Server (6.12+ / 7.x)
Unraid · Cache NVMe · Custom br0
Spostare appdata sulla cache NVMe: mappare /mnt/cache/appdata/nextxch in modo che i dischi dell'array di parità possano andare in standby mentre gli indici funzionano alla velocità NVMe.
IP LAN dedicato tramite il tipo di rete Custom: br0 (consigliato): assegni il tipo di rete Custom br0 con un IP LAN dedicato, così le porte 80/443/25 non entrano mai in conflitto con la WebGUI di Unraid.
Guide di configurazione per netcup, Hetzner, IONOS, ALL-INKL.COM, Hostinger, Strato & OVHcloud
Un recapito affidabile nella posta in arrivo di Gmail™, Outlook® e dei gateway aziendali richiede una reputazione pulita dell'IP mittente e tre impostazioni presso l'hoster: accesso alla porta 25 in uscita, DNS inverso PTR IPv4/IPv6 corrispondente e record SPF/DKIM/DMARC allineati.
netcup.de (Root Server & VPS)
SCP · CCP DNS · porta 25 aperta
Impostare il reverse DNS (PTR) nell'SCP: in netcup SCP -> Network imposti il reverse DNS (PTR) sia per l'indirizzo IPv4 sia per l'indirizzo IPv6 primario su mail.yourdomain.de.
Gestire il DNS nel CCP: in netcup CCP -> Domains -> DNS aggiungere i record A, AAAA, MX (prio 10), SPF e DKIM TXT.
Installazione: distribuire l'ISO di Debian® 12 o Windows Server® nel SCP e installare in modo nativo o tramite Docker®.
hetzner.de (Cloud CX/CAX & Dedicated)
Cloud Console · x64 & Ampere ARM64
Sblocco della porta 25 per i nuovi clienti: i nuovi account Hetzner Cloud bloccano inizialmente 25/465 in uscita; richiedere lo sblocco della porta tramite Cloud Console -> Limits dopo la prima fattura.
Impostare i PTR IPv4 & IPv6: in Hetzner Cloud Console -> Networking -> Edit Reverse DNS impostare sia l'IPv4 primario sia l'IPv6 ::1 su mail.yourdomain.de.
Consiglio qualità-prezzo: funziona in modo nativo sulle istanze ultra efficienti Hetzner CAX ARM64 e si abbina direttamente a Hetzner S3 Object Storage.
ionos.de (VPS & Cloud Server)
IONOS Cloud Panel · S3 Object Lock
Aprire il firewall esterno IONOS: aprire IONOS Cloud Panel -> Network -> Firewall Policies e consentire TCP in entrata 25, 80, 443, 465, 587, 993 e 4190.
Configurare il DNS inverso: impostare il Reverse DNS in Network -> Public IPs su mail.yourdomain.de non appena il record A viene risolto.
Archivio GoBD con IONOS S3: abbinare a IONOS S3 Object Storage a Francoforte/Berlino con S3 Object Lock nativo (COMPLIANCE).
ALL-INKL.COM (KAS DNS & smarthost)
Strumenti DNS KAS · Smarthost
Variante A (dominio presso ALL-INKL, nextxch su un proprio VPS): in ALL-INKL KAS -> Tools -> DNS Tools puntare A/AAAA per mail e MX al vostro IP nextxch e aggiungere i record TXT SPF/DKIM/DMARC.
Variante B (nextxch in ufficio / NAS con ALL-INKL come relay di invio): nextxch gira su un NAS/Proxmox® in ufficio dietro un IP dinamico? Configurare w01abc.kasserver.com:587 come Smtp__OutboundSmartHost e aggiungere include:_spf.kasserver.com a SPF.
Hostinger (KVM VPS & hPanel)
hPanel · KVM 2 / KVM 4
Record PTR nell'area VPS: in Hostinger hPanel -> VPS -> IP Addresses impostare il record PTR su mail.yourdomain.de.
Attenzione a porta 25 / relay: verificare che la porta 25 in uscita sia sbloccata nel proprio piano KVM, oppure configurare in nextxch uno smarthost autenticato sulla porta 587.
Gestione DNS di hPanel: sostituire le voci MX predefinite nel DNS Zone Editor di hPanel con mail.yourdomain.de e con i propri record TXT SPF/DKIM/DMARC.
Strato (V-Server Linux®/Windows® & Dedicated)
Login server STRATO · Windows® & Linux®
Ideale per Windows Server® senza Docker®: sui V-Server Windows® di STRATO, installare direttamente come servizio Windows® nativo con il comando PowerShell® riportato sopra.
Reverse DNS nel STRATO Server-Login: in STRATO Server Login -> IP Addresses impostare il Reverse DNS per IPv4 e IPv6 su mail.yourdomain.de.
Gestione domini STRATO: in STRATO Domain Management -> DNS Settings, impostare l'MX su un mail server personalizzato (mail.yourdomain.de) e aggiungere i record TXT.
OVHcloud (VPS, Dedicated & Public Cloud)
OVHcloud Control Panel · EU S3 WORM
Ordine importante per il PTR su OVHcloud: OVHcloud verifica il DNS diretto prima di accettare una modifica del PTR: creare prima i record A e AAAA per mail.yourdomain.de, poi impostare il Reverse DNS in Network -> Public IPs.
Firewall di rete & S3 Object Lock: consenta le porte di posta nell'OVHcloud Edge Network Firewall e colleghi facoltativamente OVHcloud S3 Object Storage (Limburgo/Strasburgo) per l'archiviazione GoBD WORM immutabile.