SimpleLogin
To jest samodzielna konfiguracja docker-compose dla SimpleLogin.
Wymagania wstępne
- serwer z systemem Linux (może to być maszyna wirtualna lub serwer dedykowany). Ten dokument przedstawia konfigurację dla Ubuntu 18.04 LTS, ale kroki można dostosować do innych popularnych dystrybucji Linuksa. Ponieważ większość komponentów działa w kontenerach Dockera, a Docker może być dość zasobożerny, zaleca się co najmniej 2 GB RAM. Serwer musi mieć otwarte porty 25 (e-mail), 80, 443 (dla aplikacji webowej), 22 (aby móc połączyć się przez ssh).
- domena, dla której możesz skonfigurować DNS. Może to być subdomena. W dalszej części dokumentu załóżmy, że jest to
mydomain.comdla poczty e-mail orazapp.mydomain.comdla aplikacji webowej SimpleLogin. Pamiętaj, aby za każdym razem, gdy pojawią się te wartości w dokumencie, zastąpić je swoją nazwą domeny i subdomeny. Sposób, którego używamy, to pobranie tego pliku README na komputer i zamiana wszystkich wystąpieńmydomain.comorazapp.mydomain.comna Twoją domenę.
bash (lub innej zgodnej z bash, jak zsh). Jeśli używasz innych powłok, np. fish, upewnij się, że odpowiednio dostosujesz polecenia.- Niektóre pakiety narzędziowe wykorzystywane do weryfikacji konfiguracji. Zainstaluj je poleceniem:
sudo apt update \
&& sudo apt install -y net-tools dnsutilsKonfiguracja DNS
_Zapoznaj się z dokumentacją referencyjną po więcej szczegółów_
Uwaga: Zmiany w DNS mogą propagować się do 24 godzin. W praktyce jest to jednak dużo szybsze (~1 minuta w naszym teście). W konfiguracji DNS często używamy domeny z kropką (.) na końcu, by wymusić użycie domeny absolutnej.Musisz ustawić następujące rekordy DNS:
- A: Mapuje Twoją domenę na adres IPv4 serwera.
- AAAA: Mapuje Twoją domenę na adres IPv6 serwera.
- MX: Kieruje przychodzące e-maile do Twojego serwera pocztowego (w tym także z
*wildcardami). - PTR: Mapuje adres IP Twojego serwera z powrotem na nazwę domeny.
- DKIM: Cyfrowo podpisuje wychodzące e-maile w celu weryfikacji autentyczności.
- DMARC: Określa jak odbiorcy powinni traktować wiadomości, które nie przeszły uwierzytelniania.
- SPF: Autoryzuje konkretne serwery pocztowe do wysyłania e-maili z Twojej domeny.
- CAA: Określa, które urzędy certyfikacji mogą wydawać certyfikaty SSL dla Twojej domeny.
- MTA-STS: Wymusza bezpieczne, szyfrowane połączenia między serwerami pocztowymi.
- TLS-RPT: Raportuje błędy połączeń TLS w celu zwiększenia bezpieczeństwa dostarczania e-maili.
Docker
Jeśli nie masz jeszcze zainstalowanego Dockera na swoim serwerze, wykonaj kroki z Docker CE dla Ubuntu, aby zainstalować Dockera.
Możesz również zainstalować Dockera używając skryptu docker-install, który jest
curl -fsSL https://get.docker.com | shWłącz IPv6 dla domyślnej sieci mostu
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64",
"experimental": true,
"ip6tables": true
}Ta procedura poprowadzi Cię przez uruchomienie całego stosu przy użyciu kontenerów Docker. Obejmuje to:
- traefik
- Kontenery aplikacji SimpleLogin
- postfix
- Sklonuj to repozytorium do
/opt/simplelogin - Skopiuj
.env.exampledo.envi ustaw odpowiednie wartości. - ustaw zmienną
DOMAINna swoją domenę. - ustaw zmienną
SUBDOMAINna swoją domenę. Domyślną wartością jestapp. - ustaw zmienną
POSTGRES_USERtak, aby pasowała do danych uwierzytelniających postgres (jeśli zaczynasz od zera, użyjsimplelogin). - ustaw
POSTGRES_PASSWORD, aby pasowało do danych uwierzytelniających postgres (jeśli zaczynasz od zera, ustaw losowy klucz). - ustaw
FLASK_SECRETna dowolny klucz tajny.
Postgres SQL
To repozytorium uruchamia postgres SQL w kontenerze Docker.
Uwaga: wcześniejsze wersje tego repozytorium używały wersji 12.1.
Proszę, zapoznaj się z dokumentacją referencyjną po więcej szczegółów oraz
instrukcje aktualizacji.
Uruchamianie aplikacji
Uruchom aplikację, korzystając z poniższych poleceń:
docker compose up --detach --remove-orphans --build && docker compose logs -fNa tym etapie możesz chcieć skonfigurować Autoryzację Urzędu Certyfikacji (CAA).
Kolejne kroki
Jeśli wszystkie powyższe kroki zakończyły się sukcesem, otwórz
Domyślnie nowe konta nie są premium, więc nie mają nieograniczonej liczby aliasów. Aby uczynić swoje konto premium, przejdź do bazy danych, tabeli "users" i ustaw kolumnę "lifetime" na "1" lub "TRUE":
docker compose exec -it postgres psql -U myuser simplelogin
UPDATE users SET lifetime = TRUE;
\q
Gdy już utworzysz wszystkie potrzebne konta logowania, dodaj te linie do .env, aby wyłączyć dalsze rejestracje:
DISABLE_REGISTRATION=1
DISABLE_ONBOARDING=trueNastępnie, aby ponownie uruchomić aplikację webową, zastosuj: docker compose restart app
Różne
Konfiguracja Postfix - Spamhaus
Projekt Spamhaus utrzymuje wiarygodną listę adresów IP znanych jako źródła SPAMu. Możesz sprawdzić, czy dany adres IP znajduje się na tej liście, przesyłając zapytania do infrastruktury DNS.
Ponieważ Spamhaus blokuje zapytania pochodzące od publicznych (otwartych) resolverów DNS (zobacz:
Wklej ten klucz jako SPAMHAUS_DQS_KEY do swojego .env
Jeśli nie zostanie podany klucz DQS, twój kontener postfix sprawdzi, czy publiczne mirrory Spamhaus akceptują jego zapytania i użyje ich zamiast tego. Jeśli Spamhaus odrzuci zapytania z twojego kontenera postfix do publicznych mirrorów, zostanie to całkowicie wyłączone.
Konfiguracja Postfix - Wirtualne aliasy
Konfiguracja postfix wspiera wirtualne aliasy za pomocą plików postfix/conf.d/virtual oraz postfix/conf.d/virtual-regexp.
Te pliki są automatycznie tworzone przy starcie na podstawie odpowiednich plików szablonów postfix/templates/virtual.tpl
oraz postfix/templates/virtual-regexp.tpl.
Domyślna konfiguracja wygląda następująco:
#### virtual.tpl
Plik virtual obsługuje ustawienia postfix virtual_alias_maps.
Zawiera regułę mapującą unknown@mydomain.com na contact@mydomain.com, aby zademonstrować odbieranie
i wiadomości e-mail z konkretnego adresu, który nie odpowiada istniejącemu aliasowi, na inny, który odpowiada.
``postfix-conf
unknown@mydomain.com contact@mydomain.com
#### virtual-regexp.tpl
Plik virtual-regexp obsługuje ustawienia virtual_alias_maps postfixa.
Zawiera regułę, która przepisuje wiadomości e-mail skierowane do dowolnej subdomeny, która nie odpowiada
istniejącemu aliasowi, na nowy alias należący do katalogu, którego nazwa jest pobierana z subdomeny.
Taki alias może zostać utworzony dynamicznie, jeśli nie istnieje.
postfix-conf
/^([^@]+)@([^.]+)\.mydomain.com/ $2/$1@mydomain.com
`
Na przykład, e-maile wysłane na someone@directory.mydomain.com zostaną przekierowane przez postfix na directory/someone@mydomain.com`.
Jak zaktualizować z wersji 3.4.0
_Ten rozdział został przeniesiony do dokumentacji referencyjnej_
Jak zaktualizować z wcześniejszej konfiguracji opartej na NGinx
_Ten rozdział został przeniesiony do dokumentacji referencyjnej_
--- Tranlated By Open Ai Tx | Last indexed: 2026-03-15 ---