Tutorial

Alojar Stalwart Mail Server en un VPS: guía completa

Correo profesional7 min de lectura6 pasos

Un solo binario Go — SMTP, IMAP, JMAP, CalDAV, CardDAV y WebAdmin — para operar el correo de varios dominios de clientes desde un VPS, sin stack Docker multicontenedor. Para una agencia que administra diez dominios distintos, Mailcow impone un despliegue pesado: 6 GB de RAM como mínimo, varios contenedores, una configuración multidominio laboriosa. Stalwart Mail Server responde a ese problema de otra forma: una única instancia, un binario estático compilado en Go y un motor multi-tenant nativo que separa dominios y buzones sin duplicar la infraestructura. Con unas 14 000 estrellas en GitHub y una versión estable activa (v0.16.18, agosto de 2026), el proyecto ha dejado atrás la etapa experimental.

Contenido· Por qué Stalwart para un parque multidominio1/8
  1. 01Por qué Stalwart para un parque multidominio
  2. 02Lo que Stalwart aporta en concreto
  3. 03Requisitos previos antes de la instalación
  4. 04Instalación de Stalwart Mail Server
  5. 05Configuración posterior a la instalación
  6. 06Endurecimiento: limitar el acceso al WebAdmin
  7. 07Solución de los errores más frecuentes
  8. 08Para ir más lejos

Por qué Stalwart para un parque multidominio

La gestión del correo para varios clientes tropieza siempre con el mismo escollo: cada solución popular impone o bien una instancia por dominio, o bien una configuración compartida en la que el aislamiento sigue siendo parcial. Stalwart se diseñó desde el origen para el multi-tenant: un dominio es un objeto de primer nivel en su modelo de datos, no una variante de configuración. El resultado es una arquitectura en la que añadir un cliente se reduce a crear un dominio mediante la API o la interfaz web, sin tocar el binario, sin reiniciar ningún contenedor y sin margen de error en la separación de los datos.

Para una agencia que gestiona de 5 a 50 clientes, es la diferencia entre una infraestructura que crece linealmente (una instancia más por cliente) y una infraestructura que escala de forma plana — un VPS, una instancia, N clientes.

Lo que Stalwart aporta en concreto

  • Binario único, sin necesidad de Docker — un solo archivo compilado en Go, sin dependencias del sistema, colocable directamente en cualquier distribución Linux.
  • Multi-tenant nativo — dominios, buzones, alias y cuotas gestionados por objeto, con aislamiento estricto de los datos entre clientes.
  • JMAP (RFC 8620) como protocolo de primer nivel — el protocolo moderno de sincronización de correo, además de los clásicos IMAP4 y POP3.
  • WebAdmin integrado — interfaz de administración HTTPS en el puerto 8080, sin herramienta de terceros que desplegar.
  • API JMAP para la automatización — creación de dominios y cuentas scriptable, adaptada a los flujos de onboarding de clientes de una agencia.
  • Soporte ACME/Let's Encrypt nativo — renovación TLS automática sin Certbot ni reverse proxy obligatorio.
  • Licencia AGPL-3.0 — código fuente verificable, sin dependencia propietaria para la versión comunitaria.

Requisitos previos antes de la instalación

Stalwart es notablemente más ligero que Mailcow. Para un uso ligero (de 1 a 5 dominios, unas decenas de buzones), cuente con 1 vCPU y 1 GB de RAM. Para un parque de varias decenas de dominios de clientes con tráfico activo, 2 vCPU y 2 GB de RAM constituyen la configuración recomendada — es el dimensionamiento que la documentación oficial cita para un uso multidominio.

En cuanto a la red, cuatro puertos deben estar abiertos en entrada: 25 (SMTP, recepción MX), 465 (SMTPS/submission), 993 (IMAPS) y 443 (HTTPS — WebAdmin y JMAP). El puerto 4190 es necesario para Sieve (filtros de servidor). Su VPS debe disponer de una IPv4 dedicada y de un rDNS configurado que apunte al nombre de host del servidor — indispensable para la entregabilidad. Por último, se requiere un nombre de dominio con acceso a la zona DNS para colocar los registros MX, SPF, DKIM y DMARC.

Instalación de Stalwart Mail Server

  1. Descargar el binario

    Conéctese por SSH a su VPS. Descargue la última versión estable desde el repositorio oficial:

    curl -fsSL https://github.com/stalwartlabs/stalwart/releases/latest/download/stalwart-linux-x86_64.tar.gz | tar -xz -C /usr/local/bin/
    chmod +x /usr/local/bin/stalwart

    Para un servidor ARM (Ampere, AWS Graviton), sustituya x86_64 por aarch64.

  2. Lanzar el asistente de instalación

    Stalwart ofrece un asistente interactivo que configura los directorios de datos, genera los certificados TLS iniciales y crea la primera cuenta de administrador:

    sudo stalwart --init

    El asistente le pide el nombre de host del servidor (p. ej. mail.votre-domaine.com), la ruta de los datos (por defecto /opt/stalwart-mail), el modo TLS (ACME recomendado) y la contraseña de administrador. Al terminar el init, los archivos de configuración quedan en /opt/stalwart-mail/etc/.

  3. Crear la unidad systemd

    Para que Stalwart arranque automáticamente, cree la unidad de servicio:

    sudo tee /etc/systemd/system/stalwart-mail.service << 'EOF'
    [Unit]
    Description=Stalwart Mail Server
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=/usr/local/bin/stalwart --config /opt/stalwart-mail/etc/config.toml
    Restart=on-failure
    User=stalwart
    
    [Install]
    WantedBy=multi-user.target
    EOF
    sudo systemctl daemon-reload && sudo systemctl enable --now stalwart-mail

    Cree previamente el usuario dedicado: sudo useradd -r -s /bin/false stalwart && sudo chown -R stalwart /opt/stalwart-mail.

  4. Abrir los puertos en el firewall

    En Ubuntu/Debian con UFW:

    sudo ufw allow 25/tcp comment 'SMTP'
    sudo ufw allow 465/tcp comment 'SMTPS'
    sudo ufw allow 993/tcp comment 'IMAPS'
    sudo ufw allow 443/tcp comment 'HTTPS WebAdmin/JMAP'
    sudo ufw allow 4190/tcp comment 'Sieve'
    sudo ufw reload

    Si su VPS está detrás de un firewall cloud (Hetzner, OVH…), replique estas reglas en el panel de control.

  5. Añadir el primer dominio desde el WebAdmin

    Abra https://mail.votre-domaine.com:8080 en su navegador y conéctese con la cuenta de administrador creada en el paso 2. En Gestión → Dominios, haga clic en Añadir un dominio, escriba votre-domaine.com y valide. Stalwart genera automáticamente los registros DNS que hay que colocar (MX, SPF, DKIM, DMARC) y los muestra en la interfaz — cópielos en su zona DNS.

  6. Crear los buzones y validar

    En Gestión → Cuentas, cree una cuenta de usuario asociándole el dominio añadido. Pruebe la recepción con:

    swaks --to [email protected] --server mail.votre-domaine.com --port 25

    Luego pruebe la conexión IMAP desde Thunderbird o el cliente que prefiera — servidor mail.votre-domaine.com, puerto 993, SSL/TLS. Para un cliente adicional, repita el paso 5 con un nuevo dominio: no hace falta reiniciar el servicio.

Configuración posterior a la instalación

Reverse proxy. Si desea hacer pasar el WebAdmin y JMAP por detrás de Nginx (para compartir el puerto 443 con otros servicios), configure un bloque stream para los protocolos de correo (25, 465, 993) y un bloque server HTTPS para /jmap y el WebAdmin. Stalwart también acepta conexiones directas sin proxy — la elección depende de su arquitectura.

Copia de seguridad. Los datos de Stalwart residen en /opt/stalwart-mail/data/. Un snapshot diario de ese directorio — comprimido y transferido fuera del sitio — basta para una restauración completa. Con el plan {{vps.power.name}} de ServOrbit, las copias de seguridad semanales están incluidas; active las copias diarias para un RPO adaptado al correo.

Dominios adicionales. Cada dominio de cliente se añade desde el WebAdmin o mediante la API JMAP. El comando stalwart expone además un subcomando CLI para las operaciones por lotes — útil para el onboarding automatizado de un nuevo cliente.

Endurecimiento: limitar el acceso al WebAdmin

El WebAdmin escucha por defecto en 0.0.0.0:8080. En producción, restrinja el acceso a sus IP de administración:

sudo ufw deny 8080
sudo ufw allow from <votre-ip-admin> to any port 8080

Active también la autenticación de dos factores (TOTP) para la cuenta de administrador desde Seguridad → Autenticación en el WebAdmin. Para el acceso remoto en una red no segura, prefiera un túnel SSH antes que una exposición directa del puerto 8080.

Solución de los errores más frecuentes

Literal exceeds the maximum request size of X bytes (IMAP). Este mensaje aparece cuando Thunderbird u otro cliente IMAP intenta subir un archivo adjunto voluminoso mediante el comando APPEND. Stalwart corta la conexión y el cliente interpreta los datos siguientes como comandos IMAP. Aumente el límite en /opt/stalwart-mail/etc/config.toml, en la clave imap.request.max-size, y reinicie el servicio.

Registro DKIM rechazado por el registrador. Si su proveedor DNS (Vultr, algunos registradores) no consigue crear la clave RSA DKIM porque supera los 255 caracteres, divídala en dos segmentos entre comillas dentro del valor TXT: "v=DKIM1; k=rsa; p=MIIBIj..." "AQAB...". Stalwart los concatena al leerlos.

Dominio Punycode rechazado en la creación. Las versiones anteriores a la v0.16 rechazaban los dominios internacionalizados ya codificados en A-label (p. ej. xn--mondomaine-o2a.com). Introduzca el dominio en Unicode (mondomainé.com) y deje que Stalwart efectúe la conversión.

El servicio no arranca tras una actualización. Compruebe que el archivo de configuración es compatible con la nueva versión: stalwart --check-config /opt/stalwart-mail/etc/config.toml. Las migraciones del esquema de configuración están documentadas en las notas de release en GitHub.

Conexiones IMAP rechazadas desde un cliente móvil. Compruebe que el certificado TLS es válido y no ha caducado (openssl s_client -connect mail.votre-domaine.com:993) y que el puerto 993 está realmente abierto en UFW y en el firewall de red de su VPS.

Para ir más lejos

Stalwart cubre la infraestructura de correo — recepción, envío y almacenamiento. Para que sus correos lleguen a la bandeja de entrada y no al spam, los registros SPF, DKIM y DMARC deben estar correctamente configurados y probados: consulte nuestra guía sobre la entregabilidad del correo profesional.

Si su parque cPanel envía correo transaccional (confirmaciones de pedido, alertas) y desea centralizar el envío sin mover los buzones, la guía de SMTP relay con Postfix cubre esta arquitectura complementaria. Para las agencias que migran una cartera de clientes desde Google Workspace o Microsoft 365 hacia servidores autoalojados, el artículo sobre Mailcow detalla los pasos de la migración IMAP.

Un VPS para su servidor de correo multicliente

Un VPS `{{vps.power.name}}` (2 vCPU / 2 GB RAM) basta para un parque de varias decenas de dominios de clientes con Stalwart — acceso root, elección de OS e IPv4 dedicada incluida.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva