Co to Poste.IO?
PosteIO to gotowe oprogramowanie serwera pocztowego w dockerze.
Sprawdź czy twoje IP nie jest na czarnych listach!
Możesz to zrobić np. tutaj.
1. Wstęp
Cześć, zapewne dużo osób z Was chciało mieć skrzynkę pocztową na własnym serwerze VPS/DEDYKU ale nie chciało się Wam bawić w ręczną konfigurację postfix'a itd.
2. Wymagania
- Wirtualizacja KVM bądź kontener LXC odpalony z parametrem nesting.
- Domena z możliwością zarządzania rekordami
- Publiczny adres IP
- Możliwość zmiany revDNS'A na serwerze VPS/DEDYKOWANYM
- 1vCPU
- 2GB ramu(jeśli wyłączymy ClamAV to wystarczy ok. 512MB.
- 5GB miejsca wolnego na dysku(na oprogramowanie + wiadomości).
ClamAV - są to narzędzia antywirusowe - ja osobiście mam to wyłączone.
3. Konfiguracja domeny
-
Dodajemy rekord A(jeśli posiadamy ipv6 dodajemy również rekord AAA) wskazujący na adres IP naszego serwera na którym będzie skrzynka pocztowa.
-
Jeśli nasza domena zarządzana jest za pomocą CloudFlare'a odznaczamy pomarańczową chmurkę przy rekordzie - czyli wyłączamy proxowanie ruchu.
Powinno wyglądać to tak:

- Dodajemy rekord TXT który powinien wyglądać tak: v=spf1 a mx ip4:nasze_ip_v4 ip6:nasze_ip_v6 -all
4. Zmiana revDNS'A Przechodzimy do ustawień naszego adresu IP i ustawiamy revDNS'A który jest zgodny z domeną na której będzie serwer pocztowy.

5. Instalacja docker'a
- Instalujemy potrzebne pakiety:
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
- Dodajemy klucz GPG docker'a(Jeśli wszystko pójdzie dobrze to powinno nam wypluć: "OK"):
sudo curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
- Dodajemy repo docker'a
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
- Aktualizujemy pakiety:
sudo apt update
- Instalujemy docker'a
sudo apt-get install docker-ce docker-ce-cli containerd.io
6. Instalacja PosteIO
Ja domyślnie wyłączam ClamAV, jeśli ktoś chce jednak to zostawić uruchomione należy usunąć parametr:
-e "DISABLE_CLAMAV=TRUE"
Jeśli ktoś chce można również zmienić porty działania serwera SMTP etc.. Więcej informacji na ten temat znajduje się tutaj.
My jednak odpalamy wszystko na domyślnych portach :nosacz:.
Tworzymy kontener:
docker run --net=host -e TZ=Europe/Warsaw -e "DISABLE_CLAMAV=TRUE" -v /mailserver/data:/data --name "mailserver" -h "bspeak.pl" -t analogic/poste.io
Ok, jeśli wszystko utworzyło się pomyślnie, powinno wyglądać to tak:

Teraz klikamy CTRL+C aby zakończyć działanie kontenera.
Jeśli wszystko przebiegnie pomyślnie powinno wyglądać to tak:

7. Automatyczny start PosteIO po restarcie serwera
- Odpalamy crontab'a:
crontab -e
- Dodajemy wpis:
@reboot docker start mailserver
Jeśli zmienialiśmy nazwę kontenera to należy ją podmienić w cronie.
8. Pierwsza konfiguracja PosteIO
Wcześniej wyłączyliśmy kontener to teraz trzeba go odpalić.
- Włączamy kontener za pomocą komendy:
docker start mailserver
Następnie wchodzimy na stronę z panelem zarządzania:
https://nasza_domena.pl/admin/

W pierwszym polu nic nie zmieniamy. W drugim polu podajemy jaki chcemy mieć adres jako administratorzy systemu, w moim przypadku to będzie admin@bspeak.pl W trzecim polu należy podać hasło do konta administratora. Następnie klikamy Sumbit.
9. Tworzenie DKIM'A Jeśli już jesteśmy w panelu admina to przechodzimy do zakładki "Virtual domains" i wybieramy naszą domenę klikając na nią.

Jeśli już wygenerowaliśmy DKIM'A to przechodzimy do zarządzania strefą DNS naszej domeny, i dodajemy rekord TXT który powinien wyglądać tak:

10. Generowanie certyfikatu SSL
Okej, zostało nam jeszcze wygenerować certyfikat SSL dla serwera email, żeby to wykonać przchodzimy pod adres:
https://nasza_domena.pl/admin/settings/#certificate
Następnie klikamy zielone pole z napisem "issue free letsencrypt.org certificate".

Zaznaczamy pole "Enabled" aby certyfikat nam się automatycznie odnawiał i go generujemy. Klikamy "Save changes".
11. Skrzynka pocztowa
Teraz możesz tworzyć dowolną ilość kont i dodawać dowolną ilość domen do twojego serwera pocztowego.
Aby przejść do roundcub'a czyli skrzynki pocztowej wchodzimy pod poniższy link i się logujemy.
https://nasza_domena.pl/webmail/
12. Porty na których działają usługi
Wszystkie używane porty przez PosteIO znajdziesz tutaj.
Gotowe 🎉
Poradnik miesiąca: sierpień 2020