Installazione e Configurazione Base di Mailu su Ubuntu Server 26.04 con Docker Engine

di Raffaele Chiatto | Ott 12, 2026 | 0 commenti

Installazione e Configurazione Base di Mailu su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

 

Gestire un server di posta elettronica in autonomia è da sempre una delle sfide più ostiche del self-hosting: tra Postfix, Dovecot, filtri antispam, DKIM, SPF, DMARC e certificati TLS da tenere sincronizzati, mettere in piedi un mail server “a mano” può richiedere giorni di lavoro e una manutenzione costante.

Mailu nasce proprio per abbattere questa complessità: è una suite di posta elettronica open source che impacchetta tutti i componenti necessari server SMTP (Postfix), server IMAP/POP3 (Dovecot), filtro antispam e antivirus (Rspamd), webmail (Roundcube o Rainloop) e un pannello di amministrazione via web in un set di container Docker orchestrati con Docker Compose, pronti a essere avviati con poche righe di configurazione.

In questo articolo vedremo come installare e configurare Mailu da zero su un’istanza Ubuntu Server 26.04 pulita, partendo dall’installazione di Docker Engine fino ad arrivare a un server di posta funzionante: creazione del dominio, generazione delle chiavi DKIM, gestione dei certificati TLS (Let’s Encrypt o manuali), esposizione delle porte corrette e creazione del primo utente amministratore.L’obiettivo è arrivare, passo dopo passo, ad avere un ambiente Mailu operativo e sicuro, evitando gli errori di configurazione più comuni dal binding delle porte sbagliato ai problemi di risoluzione DNS che spesso fanno perdere ore a chi affronta questo setup per la prima volta.

Non serve essere sysadmin esperti per seguire questa guida: bastano una VM (o un server fisico) con Ubuntu Server 26.04, accesso root via SSH e un po’ di pazienza con la riga di comando.

 

PREREQUISITI

  • Un server Ubuntu Server 26.04 LTS con un utente sudo e accesso SSH.
  • Un IP pubblico dedicato (non condiviso via NAT) con la porta 25 non bloccata dal provider: molti provider cloud/VPS bloccano di default il traffico SMTP in uscita sulla porta 25 — verifica con il tuo hosting o chiedi lo sblocco prima di iniziare, altrimenti la posta in uscita non funzionerà.
  • RAM: almeno 1 GB (senza antivirus) o 3 GB se abiliti ClamAV (consigliato), più 1 GB di swap.
  • Root partition ext4 o btrfs; opzionale una partizione dedicata montata su /mailu per lo storage della posta.
  • Un nome a dominio che gestirai per la posta (es. tuodominio.it) con accesso al pannello DNS del registrar.
  • Nessun altro servizio in ascolto sulle porte riservate a Mailu: 25, 80, 110, 143, 443, 465, 587, 993, 995, 4190.

NOTA BENE: Mailu richiede una versione recente di Docker installata dal repository ufficiale (non dai pacchetti Ubuntu), perché usa funzionalità Docker aggiornate.

 

DNS DI BASE

Prima di avviare Mailu, configura nel pannello DNS del tuo dominio:

Record A: l’hostname del server di posta che punta all’IP pubblico:

mail.tuodominio.it. IN A a.b.c.d

Record MX: indirizza la posta del dominio verso l’hostname:

tuodominio.it. IN MX 10 mail.tuodominio.it.

PTR (reverse DNS): l’IP deve risolvere all’indietro nell’hostname del mail server. Si configura lato provider/hosting, non nel DNS del dominio:

nslookup a.b.c.d → deve restituire mail.tuodominio.it

ATTENZIONE: un reverse DNS non configurato correttamente è una delle cause più comuni per cui la posta in uscita viene classificata come spam o rifiutata. Contatta il tuo provider se non puoi impostarlo da solo.

I record SPF, DKIM e DMARC li aggiungerai allo step successivo, dopo aver avviato Mailu (le chiavi DKIM vengono generate dal pannello di amministrazione).

 

PREPARAZIONE DEL SISTEMA

NOTA BENE: se l’aggiornamento include un nuovo kernel, riavvia con sudo reboot prima di proseguire.

 

INSTALLAZIONE DI DOCKER ENGINE

Aggiungere la chiave GPG e il repository Docker:

Installare Docker Engine e il plugin Compose con il comando:

Verificare e abilitare l’utente corrente:

ATTENZIONE: se poco dopo il rilascio di Ubuntu 26.04 il repository Docker non ha ancora una build per il suo codename, sostituire $(. /etc/os-release && echo “$VERSION_CODENAME”) con il codename della LTS precedente supportata (es. noble) nel comando sopra.

 

GENERARE LA CONFIGURAZIONE CON IL SETUP WIZARD

Mailu fornisce un wizard ufficiale che genera i due file necessari (docker-compose.yml e mailu.env) in base alle tue scelte.

Aprire sul tuo computer https://setup.mailu.io, selezionare la versione (di norma l’ultima release stabile proposta di default) e compilare il wizard indicando almeno:

Installazione e Configurazione Base di Mailu su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

Hostname del server di posta: mail.tuodominio.it

Dominio principale: tuodominio.it

Postmaster: l’utente che riceverà la posta amministrativa (es. admin)

TLS: Let’s Encrypt (consigliato per il rinnovo automatico dei certificati)

Funzionalità: webmail (Roundcube), antivirus (ClamAV, opzionale ma consigliato), antispam (Rspamd, incluso di default)

Database: SQLite va bene per installazioni piccole/singolo server

Installazione e Configurazione Base di Mailu su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

Il wizard produce due file da scaricare: docker-compose.yml e mailu.env.

Eseguire i comandi elecanti nella pagina web per scaricarli sul server

 

REVISIONE DI MAILU.ENV

Apri il file con un editor (nano mailu.env) e controlla in particolare la sezione “Common configuration”: HOSTNAME, DOMAIN, POSTMASTER, TLS_FLAVOR.

Le chiavi segrete (es. SECRET_KEY) vengono generate automaticamente dal wizard: non serve modificarle a mano, ma vanno mantenute private.

Se hai scelto TLS_FLAVOR=cert invece di letsencrypt, crea manualmente una cartella certs con cert.pem e key.pem; con letsencrypt il certificato viene ottenuto e rinnovato automaticamente.

 

AVVIO DELLO STACK

Avviare lo stack con i seguenti comandi:

Al primo avvio Mailu scarica tutte le immagini dei servizi (postfix, dovecot, rspamd, admin, webmail, ecc.) e inizializza i volumi: può richiedere qualche minuto.

Seguire i log per verificare che tutto parta correttamente:

 

 

CREAZIONE DEL PRIMO ACCOUNT AMMINISTRATORE

Creare il primo account amministratore con il comando:

Questo comando crea l’utente [email protected] con privilegi di amministratore.

Accedere poi da un qualsiasi browser al pannello dal link https://mail.tuodominio.it/admin.

Installazione e Configurazione Base di Mailu su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

Inserire le credenziali create in precedenza quindi cliccare Entra

ATTENZIONE: è fondamentale che esista un utente con lo stesso indirizzo email impostato in POSTMASTER in mailu.env (o un alias con quel nome), altrimenti la posta amministrativa (bounce, abuse, ecc.) non avrà una casella di destinazione.

Installazione e Configurazione Base di Mailu su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

Se è andato tutto bene dovremmo visualizzare il pannelo Admin di Mailu

 

AGGIUNGERE I RECORD SPF, DKIM E DMARC

Dal pannello admin andare su https://mail.tuodominio.it/admin/domain/details/tuodominio.it

Installazione e Configurazione Base di Mailu su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

Cliccare su Generare Chiavi per ottenere i valori DKIM specifici del tuo dominio

Installazione e Configurazione Base di Mailu su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

Cliccare Conferma

Installazione e Configurazione Base di Mailu su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

La pagina mostra i record esatti da copiare. In generale avrai bisogno di:

SPF (record TXT sul dominio): autorizza l’IP del server a inviare posta per conto del dominio.

DKIM (record TXT su un sottodominio tipo dkim._domainkey.tuodominio.it): la chiave pubblica generata dal pannello.

DMARC (record TXT su _dmarc.tuodominio.it): policy di gestione della posta che fallisce SPF/DKIM.

Copiare i valori esatti mostrati dal pannello (cambiano da installazione a installazione) nel DNS del dominio.

NOTA BENE: se abiliti SPF/DKIM/DMARC senza aggiungere questi record nel DNS, la tua posta rischia di non essere consegnata: i due passaggi vanno sempre fatti insieme.

 

CONFIGURAZIONE DEL FIREWALL

Eseguire i comandi:

 

MANUTENZIONE E COMANDI UTILI

Stato dei container: docker compose ps

Log di un servizio: docker compose logs -f admin (o smtp, imap, rspamd, ecc.)

Riavviare un servizio: docker compose restart admin

Aggiornare Mailu: docker compose pull && docker compose up -d

Fermare lo stack (dati conservati): docker compose down

Creare un altro utente: docker compose exec admin flask mailu user nome dominio.it ‘Password’

Backup: i dati (caselle, chiavi DKIM, configurazione) risiedono nei volumi Docker montati in /mailu; un backup periodico della cartella /mailu (con lo stack fermo, o con uno strumento che gestisca i file aperti) copre database SQLite, posta e certificati.

Risoluzione problemi: se la posta in uscita non parte, il sospetto numero uno è la porta 25 bloccata dal provider (vedi step 1). Se i client di posta non si connettono, verifica che nessun altro servizio (es. un vecchio Postfix locale) occupi le porte richieste da Mailu prima dell’avvio dello stack.

 

PRO E CONTRO

Ecco un elenco pro/contro di Mailu, pensato per stare bene dentro l’articolo:

Pro

  • Stack completo pronto all’uso: Postfix, Dovecot, Rspamd, webmail e pannello admin arrivano già integrati e configurati per parlarsi tra loro, senza dover cablare a mano ogni componente.
  • Gestione via Docker Compose: aggiornamenti, backup e rollback dei singoli servizi sono più semplici rispetto a un’installazione tradizionale su pacchetti di sistema.
  • Pannello di amministrazione web intuitivo per gestire domini, utenti, alias, DKIM e regole antispam senza toccare file di configurazione per le operazioni quotidiane.
  • Supporto nativo a Let’s Encrypt e a scenari con reverse proxy esterno (i vari TLS_FLAVOR), quindi si adatta sia a installazioni esposte direttamente sia dietro un proxy già esistente.
  • Multi-dominio e multi-utente di serie, utile per chi gestisce la posta di più organizzazioni o clienti dalla stessa istanza.
  • Progetto open source attivo, con documentazione e community su GitHub che rispondono abbastanza rapidamente ai problemi comuni.

Contro

  • Overhead di risorse: una decina di container sempre attivi (come hai visto nel tuo docker compose ps) pesano di più, in RAM e gestione, di un classico Postfix+Dovecot installato via apt.
  • Configurazione “a doppio binario”: alcune impostazioni vivono nel file .env/mailu.env, altre finiscono scritte direttamente nel docker-compose.yml (come il binding delle porte che abbiamo dovuto correggere) — un po’ di attenzione va messa per non perdere modifiche tra un aggiornamento e l’altro.
  • La deliverability della posta in uscita resta comunque un problema “tuo”: IP reputation, PTR record, SPF/DKIM/DMARC e blacklist vanno curati indipendentemente dal software, e i grandi provider (Gmail, Outlook) sono sempre più severi con la posta da IP self-hosted.
  • Nessun clustering/alta disponibilità nativo: per scalare o avere ridondanza serve mettere mano tu all’infrastruttura attorno a Mailu.
  • Esporre direttamente le porte di posta (25, 587, 465, 993, 995) su internet richiede attenzione a firewall e hardening, specie su una VM di test come quella usata in questa guida.
  • Il troubleshooting a basso livello (binding delle porte, permessi dei volumi, variabili d’ambiente) richiede comunque familiarità con Docker: non è un prodotto completamente “point and click” per chi non mastica la riga di comando.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Servizi ICT
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore
  • Angelo Lauria  Autore
  • Edoardo Prot  Autore
  • Davide D'Urso  Autore
Raffaele Chiatto

Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.

Tag: Compose | dkim | DMARC | Docker | Mailu | mx | SPF | Ubuntu

Categorie: Docker | Mailu | Ubuntu

Related Post

0 Commenti

Invia Un Commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione