SimpleLogin
Questa è una configurazione docker-compose self-hosted per SimpleLogin.
Prerequisiti
- un server Linux (sia una VM che un server dedicato). Questo documento mostra la configurazione per Ubuntu 18.04 LTS, ma i passaggi possono essere adattati per altre distribuzioni Linux popolari. Poiché la maggior parte dei componenti gira come container Docker e Docker può essere piuttosto pesante, si raccomanda di avere almeno 2 GB di RAM. Il server deve avere aperte le porte 25 (email), 80, 443 (per la webapp), 22 (per poter accedere via ssh).
- un dominio per il quale puoi configurare il DNS. Può anche essere un sottodominio. Nel resto del documento, supponiamo che sia
mydomain.comper l'email eapp.mydomain.comper la webapp SimpleLogin. Assicurati di sostituire questi valori con il nome del tuo dominio e sottodominio ogni volta che appaiono nel documento. Un trucco che usiamo è scaricare questo file README sul tuo computer e sostituire tutte le occorrenze dimydomain.comeapp.mydomain.comcon il tuo dominio.
bash (o qualsiasi shell compatibile con bash come zsh). Se utilizzi altre shell come fish, assicurati di adattare i comandi.- Alcuni pacchetti di utilità utilizzati per verificare la configurazione. Installali tramite:
sudo apt update \
&& sudo apt install -y net-tools dnsutilsConfigurazione DNS
_Fai riferimento alla documentazione di riferimento per maggiori dettagli_
Nota bene che le modifiche DNS possono richiedere fino a 24 ore per propagarsi. In pratica, tuttavia, è molto più veloce (~1 minuto circa nei nostri test). Nella configurazione DNS, di solito si utilizza il dominio con un punto finale (.) per forzare l'uso del dominio assoluto.Dovrai configurare i seguenti record DNS:
- A: Mappa il tuo dominio all'indirizzo IPv4 del tuo server.
- AAAA: Mappa il tuo dominio all'indirizzo IPv6 del tuo server.
- MX: Indirizza le email in arrivo al tuo mail server (inclusi i caratteri jolly
*). - PTR: Mappa l'indirizzo IP del tuo server al nome del tuo dominio.
- DKIM: Firma digitalmente le email in uscita per verificare l'autenticità.
- DMARC: Definisce come i destinatari devono gestire i messaggi che falliscono l'autenticazione.
- SPF: Autorizza specifici mail server a inviare email dal tuo dominio.
- CAA: Specifica quali autorità di certificazione possono emettere certificati SSL per il tuo dominio.
- MTA-STS: Impone connessioni sicure e criptate tra mail server.
- TLS-RPT: Riporta i fallimenti di connessione TLS per migliorare la sicurezza nella consegna delle email.
Docker
Se Docker non è già installato sul tuo server, segui i passaggi su Docker CE per Ubuntu per installare Docker.
Puoi anche installare Docker utilizzando lo script docker-install che è
curl -fsSL https://get.docker.com | shAbilita IPv6 per la rete bridge predefinita
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64",
"experimental": true,
"ip6tables": true
}Questa procedura ti guiderà nell'esecuzione dell'intero stack utilizzando i container Docker. Questo include:
- traefik
- I container dell'app SimpleLogin
- postfix
- Clona questo repository in
/opt/simplelogin - Copia
.env.examplein.enve imposta i valori appropriati. - imposta la variabile
DOMAINsul tuo dominio. - imposta la variabile
SUBDOMAINsul tuo dominio. Il valore predefinito èapp. - imposta la variabile
POSTGRES_USERper corrispondere alle credenziali di postgres (se inizi da zero, usasimplelogin). - imposta
POSTGRES_PASSWORDper corrispondere alle credenziali di postgres (se inizi da zero, imposta una chiave casuale). - imposta
FLASK_SECRETsu una chiave segreta arbitraria.
Postgres SQL
Questo repository esegue un postgres SQL in un container Docker.
Attenzione: le versioni precedenti di questo repository utilizzavano la versione 12.1.
Per favore, consulta la documentazione di riferimento per maggiori dettagli e
istruzioni di aggiornamento.
Avvio dell'applicazione
Esegui l'applicazione utilizzando i seguenti comandi:
docker compose up --detach --remove-orphans --build && docker compose logs -fA questo punto potresti voler configurare la Certificate Authority Authorization (CAA).
Prossimi passi
Se tutti i passaggi precedenti sono stati completati con successo, apri
Per impostazione predefinita, i nuovi account non sono premium e quindi non hanno alias illimitati. Per rendere il tuo account premium, vai al database, tabella "users" e imposta la colonna "lifetime" su "1" o "TRUE":
docker compose exec -it postgres psql -U myuser simplelogin
UPDATE users SET lifetime = TRUE;
\q
Una volta creati tutti gli account di accesso desiderati, aggiungi queste righe a .env per disabilitare ulteriori registrazioni:
DISABLE_REGISTRATION=1
DISABLE_ONBOARDING=trueQuindi, per riavviare l'app web, applica: docker compose restart app
Varie
Configurazione Postfix - Spamhaus
Il progetto Spamhaus mantiene un elenco affidabile di indirizzi IP noti come sorgente di SPAM. Puoi verificare se un determinato indirizzo IP è presente in quell'elenco inviando richieste all'infrastruttura DNS.
Poiché Spamhaus blocca le richieste provenienti da resolver DNS pubblici (open) (vedi:
Incolla questa chiave come SPAMHAUS_DQS_KEY nel tuo file .env
Se non viene fornita una chiave DQS, il tuo container postfix controllerà se i mirror pubblici di Spamhaus accettano le sue richieste e li utilizzerà in alternativa. Se Spamhaus rifiuta le richieste dal tuo container postfix ai mirror pubblici, verrà disabilitato completamente.
Configurazione Postfix - Alias virtuali
La configurazione di postfix supporta alias virtuali tramite i file postfix/conf.d/virtual e postfix/conf.d/virtual-regexp.
Questi file vengono creati automaticamente all'avvio in base ai rispettivi file modello postfix/templates/virtual.tpl
e postfix/templates/virtual-regexp.tpl.
La configurazione predefinita è la seguente:
#### virtual.tpl
Il file virtual supporta le impostazioni virtual_alias_maps di postfix.
Include una regola che mappa unknown@mydomain.com su contact@mydomain.com per dimostrare la ricezione
di un'email da un indirizzo specifico che non corrisponde a un alias esistente, su un altro che invece esiste.
``postfix-conf
unknown@mydomain.com contact@mydomain.com
#### virtual-regexp.tpl
Il file virtual-regexp supporta le impostazioni virtual_alias_maps di postfix.
Include una regola che riscrive le email indirizzate a un sottodominio arbitrario, che non corrisponde
a un alias esistente, verso un nuovo alias che appartiene a una directory il cui nome è preso dal sottodominio.
Quell'alias può essere creato al volo se non esiste.
postfix-conf
/^([^@]+)@([^.]+)\.mydomain.com/ $2/$1@mydomain.com
`
Ad esempio, le email inviate a someone@directory.mydomain.com saranno indirizzate a directory/someone@mydomain.com` da postfix.
Come aggiornare dalla versione 3.4.0
_Questa sezione è stata spostata nella documentazione di riferimento_
Come aggiornare dalla precedente configurazione basata su NGinx
_Questa sezione è stata spostata nella documentazione di riferimento_
--- Tranlated By Open Ai Tx | Last indexed: 2026-03-15 ---