Po co uruchamiać własny przekaźnik chatmail?
Przekaźniki chatmail umożliwiają bezproblemowe wdrażanie aplikacji czatowych i botów.
Użytkownicy nie muszą mieć wcześniej założonych kont — adresy chatmail są tworzone automatycznie przy pierwszym logowaniu i zabezpieczane hasłem do dalszego użycia. Chatmail jest szyfrowany end‑to‑end oraz w spoczynku.
Uruchomienie własnego przekaźnika daje ci:
- Pełną kontrolę nad infrastrukturą tożsamości
- Bezpieczne zakładanie kont
- Niezależność od scentralizowanych dostawców
- Lekki system, który skaluje się do tysięcy użytkowników przy minimalnych wymaganiach sprzętowych
Ten przewodnik prowadzi krok po kroku przez wdrożenie w pełni funkcjonalnego przekaźnika chatmail przy użyciu oficjalnych, zautomatyzowanych skryptów instalacyjnych.
Ważna uwaga o kompatybilności ⚠️
To wdrożenie wymaga Debiana 12 na serwerze.
- Debian 13 nie jest obsługiwany
- Inne dystrybucje Linuksa mogą działać, ale wymagają nieudokumentowanych zmian
Jeśli używasz Debiana 13 lub innego systemu operacyjnego, spodziewaj się dodatkowych kroków, które nie są opisane w tej dokumentacji.
Przegląd architektury
Potrzebujesz dwóch maszyn:
1. Serwer wdrożeniowy
To będzie twój przekaźnik chatmail.
- Debian 12
- 1 GB RAM
- 1 CPU
- ~10 GB miejsca na dysku
- Publiczny IPv4 (IPv6 zdecydowanie zalecany)
- Otwarte porty:
22, 25, 80, 443, 143, 465, 587, 993, 3478
2. Komputer lokalny
Służy do wdrażania i zarządzania przekaźnikiem.
- Linux lub system typu Unix
- W tym przewodniku używam Ubuntu 24.04
Proces wdrożenia uruchamiany jest z Twojego komputera lokalnego, a nie bezpośrednio na serwerze.
Wymagania na komputerze lokalnym
Zainstaluj niezbędne pakiety:
sudo apt install python3-dev
sudo apt install python3.12-venv
sudo apt install gcc
Pakiety te są potrzebne do utworzenia środowiska wirtualnego Pythona używanego przez skrypty wdrożeniowe.
Przygotowanie serwera (Debian 12)
Jeśli uruchamiasz środowisko w maszynie wirtualnej (VM), rozważ instalację agenta qemu‑guest‑agent:
apt install qemu-guest-agent
Włączenie logowania roota przez SSH
Edytuj konfigurację SSH:
nano /etc/ssh/sshd_config
Znajdź i ustaw:
PermitRootLogin yes
Zrestartuj usługę SSH:
systemctl restart ssh
Konfiguracja DNS (przed wdrożeniem)
W tym przewodniku używamy następującej nazwy domenowej:
chat.example.org
Zastąp ją własną domeną, a następnie utwórz poniższe rekordy DNS (TTL: 3600s). Pamiętaj o wpisaniu poprawnych adresów IP.
chat.example.org. 3600 IN A 198.51.100.5
chat.example.org. 3600 IN AAAA 2001:db8::5
www.chat.example.org. 3600 IN CNAME chat.example.org.
mta-sts.chat.example.org. 3600 IN CNAME chat.example.org.
Rekordy te muszą istnieć przed uruchomieniem procesu wdrożeniowego.
Klonowanie repozytorium chatmail
Na komputerze lokalnym wykonaj:
git clone https://github.com/chatmail/relay.git
cd relay
scripts/initenv.sh
To przygotuje środowisko wirtualne Pythona.
Podstawowa konfiguracja chatmail
Utwórz plik konfiguracyjny chatmail:
scripts/cmdeploy init chat.example.org
Polecenie wygeneruje plik chatmail.ini dopasowany do Twojej domeny.
Konfiguracja klucza SSH (obowiązkowa)
Proces wdrożeniowy nie może pytać o hasła, więc wymagana jest autoryzacja kluczem SSH.
1. Wygeneruj dedykowany klucz
ssh-keygen -t ed25519 -C "chatmail-deploy" -f ~/.ssh/id_ed25519_chatmail
2. Uruchom agenta SSH i załaduj klucz
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519_chatmail
3. Skopiuj klucz na serwer
ssh-copy-id -i ~/.ssh/id_ed25519_chatmail root@chat.example.org
4. Zweryfikuj dostęp
ssh root@chat.example.org
Powinieneś połączyć się bez podawania hasła.
Uruchomienie wdrożenia
Z komputera lokalnego wykonaj:
scripts/cmdeploy run
Skrypt zainstaluje i skonfiguruje:
- Usługi pocztowe
- Certyfikaty TLS
- Logikę chatmail
- Wymagane zależności
Poczekaj, aż skrypt zakończy działanie.
Dokończenie konfiguracji DNS
Po wdrożeniu sprawdź, których rekordów DNS nadal brakuje:
scripts/cmdeploy dns
Dodaj brakujące rekordy u swojego dostawcy DNS. Gdy DNS się rozpropaguje, zweryfikuj stan systemu:
scripts/cmdeploy status
Testowanie i benchmarki
Uruchom test funkcjonalny:
scripts/cmdeploy test
Następnie zmierz wydajność:
scripts/cmdeploy bench
Testy potwierdzają, że uwierzytelnianie, przepływ poczty i wydajność systemu działają prawidłowo.
Gotowe!
Twój przekaźnik chatmail jest już uruchomiony i gotowy do użycia.
Możesz teraz:
- Udostępnić swoją domenę chatmail
- Natychmiastowo rejestrować użytkowników
- Wspierać aplikacje czatowe i boty bez wstępnie tworzonych kont
- Prowadzić usługę komunikacyjną szanującą prywatność
Oficjalną dokumentację (po angielsku) znajdziesz pod tym linkiem:
https://chatmail.at/doc/relay/getting_started.html
Jeśli tworzysz systemy komunikacji, które stawiają na pierwszym miejscu prywatność, uruchomienie własnego przekaźnika chatmail stanowi solidny fundament.
Opracowanie na podstawie:
https://felipebaez.com/how-to-deploy-a-chatmail-server/
#tutorial #chatmail #DeltaChat
Skomentuj na fediwersum: @michal@101010.pl