19 guías paso a paso para Docker® Compose, sistemas operativos, NAS y proveedores de alojamiento
Despliegue mediante Docker® Compose, servicio de Windows® (sin Docker®), Linux®, NAS, Proxmox® y los principales proveedores de alojamiento
Elija su plataforma exacta: desde ejemplos de Docker® Compose listos para usar y un servicio nativo de Windows Server® sin Docker® hasta Proxmox® VE, Raspberry Pi®, Synology®, ASUSTOR, UGREEN, TerraMaster y Unraid, además de la configuración exacta de PTR y firewall en netcup, Hetzner, IONOS, ALL-INKL.COM, Hostinger, Strato y 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 marcha en 60 segundos
Un único binario unificado en lugar de siete demonios frágiles.
Deje de ensamblar Postfix, Dovecot, Rspamd, OpenDKIM, Certbot, Redis y un webmail PHP heredado: nextxch incluye transporte de correo, groupware, Webmail PWA, Admin Cockpit, CLI/API y Let's Encrypt con SNI en 0 ms en un único paquete autónomo.
Instaladores de terminal de una línea y paquetes nativos verificados v1.0.0 (.msi, .deb, .tar.gz)
Verifica automáticamente los resúmenes SHA-256, solicita de forma interactiva el dominio, el nombre de host, el administrador y el almacenamiento, o realiza una actualización del servicio en el sitio
v1.0.0 · Verificado con 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® y Docker® Compose (versión fijada v1.0.0 para Linux®, Windows®, macOS® y NAS)
Imagen OCI multiarquitectura reproducible (nextxch/server:1.0.0 · linux/amd64 y linux/arm64) con SQLite WAL o PostgreSQL® 18, CalDAV/CardDAV, S3 Object Lock y OpenTelemetry
OCI v1.0.0
Nota sobre el registro de contenedores: en producción recomendamos encarecidamente etiquetas de versión fijadas (1.0.0 en lugar de :latest). Mientras la réplica pública en Docker® Hub se despliega por fases, la ejecución de install.sh --mode docker verifica automáticamente SHA256SUMS.txt desde nextxch.com y compila nextxch/server:1.0.0 localmente en su host.
Opción A: Compose compacto de un solo contenedor (SQLite WAL + Zstandard): ideal para hasta miles de buzones en un único VPS, servidor dedicado o NAS, sin dependencias de bases de datos externas y con ~40 MB de RAM en reposo.
Opción B: Compose de producción Enterprise (PostgreSQL® 18 + S3 WORM + OpenTelemetry): escalado horizontal, S3 Object Lock conforme a GoBD y trazas, métricas y registros OpenTelemetry OTLP.
Recomendado: asistente oficial .msi para Windows® (v1.0.0): en una instalación nueva solicita de forma interactiva el dominio, el nombre de host MX, el inicio de sesión del administrador, SQLite WAL frente a Microsoft® SQL Server® (2019-2025 / Express / Azure® SQL) frente a PostgreSQL® 18, Let's Encrypt ACME, Windows® Firewall y un token de licencia opcional. Ejecutar un .msi más reciente realiza con 1 clic una actualización en el sitio del servicio de Windows®, conservando appsettings.Production.json y los datos de correo.
CLI silenciosa desatendida para Ansible, GPO y Microsoft® Intune: pase cualquier propiedad de configuración sin interfaz mediante msiexec.exe /qn.
Motor de clúster 100 % PostgreSQL® 18 (sin Redis/Kafka): las réplicas distribuyen el push en tiempo real de IMAP IDLE y JMAP SSE en < 2 ms mediante PostgreSQL® LISTEN/NOTIFY, comparten desafíos efímeros y límites de tasa mediante tablas UNLOGGED y eligen los líderes de ACME/retención mediante pg_try_advisory_lock.
Protocolo PROXY v1/v2 de HAProxy y sesiones sin estado: conserva las IP reales de los clientes detrás de balanceadores de carga L4 para comprobaciones SPF/DMARC/CIDR precisas; los tokens firmados permiten escalado HPA sin sesiones persistentes.
Licencias Ed25519 aptas para clúster: un único token de licencia cubre pods ilimitados y se sincroniza automáticamente en todos los nodos al activarse en /admin/.
Instalación en Proxmox®, Raspberry Pi®, Synology®, ASUSTOR, UGREEN, TerraMaster y Unraid
Proxmox® VE (LXC & KVM)
Proxmox® VE 8+ · ZFS / NVMe
Crear un contenedor LXC: cree un contenedor LXC Debian® 12 sin privilegios (2 vCPU, 1024 MB de RAM) con un punto de montaje ZFS/NVMe en /var/lib/nextxch.
Directamente mediante .deb / systemd: dentro de LXC, ejecute el servicio nativo .deb/systemd para evitar la sobrecarga de contenedores anidados y obtener snapshots instantáneos de Proxmox® Backup Server.
Firewall de Proxmox®: permita el tráfico entrante TCP 25, 465, 587, 993, 4190, 80 y 443 en Datacenter/CT Firewall.
Sistema de 64 bits y NVMe en lugar de tarjeta SD: use Raspberry Pi® OS Lite de 64 bits y coloque /var/lib/nextxch en un HAT NVMe M.2 o en un SSD USB 3 en lugar de una microSD.
Consejo para conexión doméstica (smarthost): en IP dinámicas residenciales, establezca Smtp__OutboundSmartHost en el relay de su ISP/proveedor de alojamiento para una entrega saliente 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
Synology® NAS (DSM 7.2+)
Container Manager · Btrfs
Crear la carpeta en File Station: cree /volume1/docker/nextxch en File Station en su volumen Btrfs/SSD.
Evitar conflictos de puertos: asegúrese de que Synology® MailPlus esté detenido para que los puertos 25, 465, 587 y 993 estén libres.
Usar el pool de almacenamiento NVMe: en los modelos UGREEN NASync DXP, coloque /volume1/docker/nextxch en su pool NVMe M.2 para búsquedas instantáneas.
App Docker® de UGOS Pro: abra UGOS Pro Docker® -> Project -> Create, pegue el archivo Compose y haga clic en Deploy.
Instalar Docker® Manager: instale Docker® Manager desde el TOS App Center y cree /Volume1/docker/nextxch.
Desplegar el proyecto: en Docker® Manager -> Projects -> Add, pegue el stack YAML e inícielo.
volumes:
- /Volume1/docker/nextxch:/app/data
# Admin-Cockpit nach Start: https://TERRAMASTER-IP:8443/admin/
Unraid Server (6.12+ / 7.x)
Unraid · NVMe de caché · Custom br0
Colocar appdata en la NVMe de caché: asigne /mnt/cache/appdata/nextxch para que los discos del array de paridad puedan detenerse mientras los índices funcionan a velocidad NVMe.
IP de LAN propia mediante el tipo de red Custom: br0 (recomendado): asigne el tipo de red Custom br0 con una IP de LAN dedicada para que los puertos 80/443/25 nunca entren en conflicto con la WebGUI de Unraid.
Guías de configuración para netcup, Hetzner, IONOS, ALL-INKL.COM, Hostinger, Strato y OVHcloud
Una entrega fiable en la bandeja de entrada de Gmail™, Outlook® y los gateways corporativos requiere una reputación limpia de la IP del remitente y tres ajustes del proveedor de alojamiento: acceso saliente al puerto 25, DNS inverso PTR IPv4/IPv6 coincidente y registros SPF/DKIM/DMARC alineados.
netcup.de (Root-Server & VPS)
SCP · DNS de CCP · puerto 25 abierto
Configurar el DNS inverso (PTR) en el SCP: en netcup SCP -> Network, configure el DNS inverso (PTR) tanto de su dirección IPv4 como de su dirección IPv6 principal a mail.yourdomain.de.
Gestionar el DNS en el CCP: en netcup CCP -> Domains -> DNS, añada los registros A, AAAA, MX (prio 10), SPF y TXT de DKIM.
Instalación: despliegue una ISO de Debian® 12 o Windows Server® en el SCP e instale de forma nativa o mediante Docker®.
hetzner.de (Cloud CX/CAX & Dedicated)
Cloud Console · x64 & Ampere ARM64
Desbloqueo del puerto 25 para clientes nuevos: las cuentas nuevas de Hetzner Cloud bloquean inicialmente el tráfico saliente 25/465; solicite el desbloqueo del puerto en Cloud Console -> Limits después de su primera factura.
Configurar PTR de IPv4 & IPv6: en Hetzner Cloud Console -> Networking -> Edit Reverse DNS, tanto en la IPv4 principal como en IPv6::1, a mail.yourdomain.de.
Consejo de relación calidad-precio: se ejecuta de forma nativa en las instancias ultraeficientes Hetzner CAX ARM64 y se combina directamente con Hetzner S3 Object Storage.
ionos.de (VPS & Cloud Server)
IONOS Cloud Panel · S3 Object Lock
Abrir el firewall externo de IONOS: abra IONOS Cloud Panel -> Network -> Firewall Policies y permita el tráfico entrante TCP 25, 80, 443, 465, 587, 993 y 4190.
Configurar el DNS inverso: establezca el DNS inverso en Red -> IP públicas como mail.yourdomain.de en cuanto el registro A se resuelva.
Archivo GoBD con IONOS S3: combínelo con IONOS S3 Object Storage en Fráncfort/Berlín con S3 Object Lock nativo (COMPLIANCE).
ALL-INKL.COM (KAS DNS & Smarthost)
Herramientas DNS de KAS · Smarthost
Variante A (dominio en ALL-INKL, nextxch en VPS propio): en ALL-INKL KAS -> Tools -> DNS Tools, apunte A/AAAA para mail y MX a su IP de nextxch y añada los registros TXT de SPF/DKIM/DMARC.
Variante B (nextxch en la oficina / NAS con ALL-INKL como relay de envío): ¿Ejecuta nextxch en un NAS/Proxmox® de oficina con IP dinámica? Configure w01abc.kasserver.com:587 como Smtp__OutboundSmartHost y añada include:_spf.kasserver.com a SPF.
Hostinger (KVM VPS & hPanel)
hPanel · KVM 2 / KVM 4
Registro PTR en el área VPS: en Hostinger hPanel -> VPS -> IP Addresses, configure el registro PTR como mail.yourdomain.de.
Tenga en cuenta el puerto 25 / relay: verifique que el puerto 25 saliente esté desbloqueado en su plan KVM o configure en nextxch un smarthost autenticado en el puerto 587.
Gestión DNS en hPanel: sustituya las entradas MX predeterminadas en el editor de zonas DNS de hPanel por mail.yourdomain.de y sus registros TXT de SPF/DKIM/DMARC.
Strato (V-Server Linux®/Windows® & Dedicated)
Inicio de sesión en servidores STRATO · Windows® & Linux®
Ideal para Windows Server® sin Docker®: en los V-Servers Windows® de STRATO, instálelo directamente como servicio nativo de Windows® con el comando de PowerShell® anterior.
DNS inverso en el STRATO Server Login: en STRATO Server Login -> IP Addresses, configure el DNS inverso para IPv4 e IPv6 como mail.yourdomain.de.
Gestión de dominios de STRATO: en STRATO Domain Management -> DNS Settings, cambie el MX a un servidor de correo propio (mail.yourdomain.de) y añada los registros TXT.
OVHcloud (VPS, Dedicated & Public Cloud)
Panel de control de OVHcloud · S3 WORM en la UE
Orden importante para el PTR en OVHcloud: OVHcloud valida el DNS directo antes de aceptar un cambio de PTR: cree primero los registros A y AAAA para mail.yourdomain.de y, después, configure el DNS inverso en Network -> Public IPs.
Firewall de red & S3 Object Lock: permita los puertos de correo en OVHcloud Edge Network Firewall y, opcionalmente, conecte OVHcloud S3 Object Storage (Limburgo/Estrasburgo) para el archivado GoBD WORM inmutable.