Krótka odpowiedź
Jak postawić serwer Matrix na VPS?
Aby postawić serwer Matrix na VPS, zainstalować Synapse z repozytorium apt Matrix.org, podać mu bazę PostgreSQL i postawić przed jego portem 8008 odwrotne proxy HTTPS na porcie 443. Plan Gloam w Gloamport, 2 vCPU, 4 GB RAM, 80 GB NVMe, 4 TB traffic przy $8.25 miesięcznie przy 12 miesiącach, jest do tego przewidziany.
Co obejmuje instalacja Synapse?
| Element | Ustawienie | Dlaczego |
|---|---|---|
| Nazwa serwera | Domena w identyfikatorach użytkowników, na przykład example.com; później nie można jej zmienić | Tożsamość federacji |
| Pakiet | matrix-synapse-py3 z packages.matrix.org | Pakiet Debiana nie jest dostępny dla Debiana 13 i starszych |
| Nadpisania konfiguracji | /etc/matrix-synapse/conf.d/ | Aktualizacje pakietów nie pytają o zastąpienie konfiguracji |
| Nasłuch klienta i federacji | HTTP na localhost:8008 za proxy | Proxy kończy HTTPS |
| Baza danych | PostgreSQL (psycopg2) | Dokumentacja dopuszcza SQLite tylko do testów |
| Porty | 443 dla klientów; 8448 dla federacji, chyba że zdelegowano ją na 443 | Oba muszą być osiągalne z internetu |
| Plan | Gloam: 2 vCPU, 4 GB RAM, 80 GB NVMe, 4 TB traffic | Lista planów Gloamport |
Ceny sprawdzone
Czego potrzeba przed instalacją serwera Matrix?
Potrzebna jest nazwa domeny, nad którą ma się kontrolę, oraz VPS z publicznym adresem IPv4. Domena jest ważniejsza niż serwer: dokumentacja Synapse mówi, że nazwa serwera to część domenowa każdego identyfikatora użytkownika i że nie można jej zmienić później. Wybrać ją przed instalacją.
Każdy VPS Gloamport ma w każdym planie jeden adres IPv4 i IPv6 /64, więc rekordy DNS mogą wskazywać na niego bezpośrednio. Domeny tu nie sprzedajemy; kupić ją tam, gdzie się woli, i utworzyć rekord A dla nazwy hosta, której będzie się używać. Tylko Linux: obrazy Debian, Ubuntu, AlmaLinux i Rocky Linux. Brak Windows. Na DNS i certyfikat zarezerwować około godziny, poza samą instalacją.
Jak zainstalować Synapse na Debianie 13 lub Ubuntu 24.04
Polecenia są zgodne z oficjalną dokumentacją Synapse. Wykonywać je jako root lub z sudo.
Wskazanie DNS na VPS
Utworzyć rekord A dla matrix.example.com z adresem VPS (oraz rekord AAAA, jeśli używa się IPv6). Odczekać, aż nazwa się rozwiąże, zanim poprosi się o certyfikat.
Dodanie repozytorium apt Matrix.org
Pobrać klucz podpisu, dodać linię repozytorium i uruchomić apt update, jak w pierwszym bloku kodu. Dokumentacja podaje odcisk klucza AAF9AE843A7584B5A3E4CD2BCF45A512DE2DA058; należy go porównać przez gpg, zanim zaufa się kluczowi.
Instalacja matrix-synapse-py3
Wykonać apt install matrix-synapse-py3 i podać nazwę serwera, gdy program o nią zapyta. Ustawienia zmieniać wyłącznie w plikach w /etc/matrix-synapse/conf.d/.
Utworzenie bazy PostgreSQL
Zainstalować PostgreSQL i bibliotekę libpq5, następnie utworzyć użytkownika i bazę poleceniami z drugiego bloku kodu oraz wskazać Synapse na bazę blokiem database pokazanym tam.
Postawienie odwrotnego proxy
Zainstalować serwer WWW, uzyskać certyfikat dla nazwy hosta i przekierować /_matrix oraz /_synapse/client na localhost:8008, jak w trzecim bloku kodu. Ustawić x_forwarded: true na nasłuchu 8008.
Utworzenie użytkownika i test
Ustawić registration_shared_secret, zrestartować Synapse, uruchomić register_new_matrix_user, a następnie zalogować się z klienta Matrix, podając adres serwera domowego.
sudo apt install -y lsb-release wget apt-transport-https
sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" |
sudo tee /etc/apt/sources.list.d/matrix-org.list
sudo apt update
sudo apt install matrix-synapse-py3sudo apt install postgresql libpq5
sudo -u postgres createuser --pwprompt synapse_user
sudo -u postgres createdb --encoding=UTF8 --locale=C --template=template0 --owner=synapse_user synapse
# /etc/matrix-synapse/conf.d/database.yaml
database:
name: psycopg2
args:
user: synapse_user
password: CHANGE_ME
dbname: synapse
host: localhost
cp_min: 5
cp_max: 10# nginx: inside a server block that listens on 443 ssl for matrix.example.com
location ~ ^(/_matrix|/_synapse/client) {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 50M;
}
# Synapse listener on port 8008, in homeserver.yaml or a conf.d file
listeners:
- port: 8008
type: http
x_forwarded: true
bind_addresses: ['127.0.0.1']
resources:
- names: [client, federation]# conf.d/registration.yaml (a random value, kept secret)
registration_shared_secret: "RANDOM_VALUE"
sudo systemctl restart matrix-synapse
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yamlIle zasobów potrzebuje serwer domowy Matrix?
Prywatny serwer domowy dla kilku osób mieści się w planie średnim, ale obciążenie rośnie przez federację z dużymi publicznymi pokojami. Nie testowaliśmy Synapse i nie podajemy liczby użytkowników. Gloamport wskazuje plan Gloam dla Serwer Matrix, Vaultwarden i SearXNG razem: 2 vCPU, 4 GB RAM, 80 GB NVMe, 4 TB traffic, $8.25 miesięcznie przy 12-miesięcznym okresie i $16.50 przy jednym miesiącu.
Dla czatu zespołowego z wieloma pokojami wskazywany jest plan Night (4 vCPU, 8 GB RAM, 160 GB NVMe, 8 TB traffic, $13.50 miesięcznie przy 12-miesięcznym okresie) dla Obciążony przekaźnik, serwer czatu zespołowego lub kilka usług.
Czy federacja wymaga portu 8448?
Nie, federacja może działać przez port 443, jeśli zostanie zdelegowana. Strona odwrotnego proxy Synapse podaje, że przy delegacji przez odpowiedź .well-known/matrix/server nie trzeba otwierać portu 8448, a federacja używa 443. Bez delegacji domyślnym portem federacji jest 8448, więc trzeba go otworzyć w zaporze i dodać drugi blok serwera nasłuchujący na tym porcie.
Klienci znajdą serwer dzięki plikowi /.well-known/matrix/client pod adresem https://nazwa-serwera/.well-known/matrix/client, który w m.homeserver wskazuje homeserver przez base_url. Klienty przeglądarkowe potrzebują też nagłówka CORS, a public_baseurl Synapse powinien wskazywać ten sam adres. Nazwy serwera bez subdomeny używać tylko wtedy, gdy można tam udostępnić ten plik.
Jak bezpiecznie prowadzić własny serwer Matrix?
Wykonywać kopie zapasowe klucza podpisu, bazy i magazynu mediów oraz regularnie łatać hosta. Dokumentacja ostrzega, że klucze podpisu trzeba zachować, ponieważ na nich polegają inne serwery. Wiadomości w pokojach bez szyfrowania end-to-end są czytelne w bazie na VPS, więc warto rozważyć szyfrowanie dysku; Czy można zaszyfrować dysk VPS przez LUKS? opisuje, co szyfrowanie dysku chroni, a czego nie.
Żaden plan nie obejmuje kopii zapasowych: własną kopię tego, czego nie można stracić, trzeba przechowywać osobno. Według ankiety Gloamport dotyczącej 10 listopada 2026, 28 z 49 dostawców nie wymaga dokumentu tożsamości przy rejestracji, więc VPS można kupić bez przekazywania dokumentów, ale bezpieczeństwo serwera pozostaje po stronie właściciela: logowanie tylko kluczem, jak w Jak zabezpieczyć SSH na nowym VPS?.
Podsumowanie
- Synapse instaluje się z packages.matrix.org jako matrix-synapse-py3.
- Nazwa serwera jest stała: najpierw wybrać domenę.
- Używać PostgreSQL; dokumentacja dopuszcza SQLite tylko do testów.
- Przekierować /_matrix i /_synapse/client na localhost:8008 za HTTPS.
- Delegacja pozwala federacji działać przez port 443 zamiast 8448.
- Gloam, $8.25 miesięcznie przy 12 miesiącach, to pasujący plan.
- Kopie zapasowe kluczy podpisu, bazy i mediów; żaden plan nie zawiera kopii zapasowych.
Hosting serwera Matrix: najczęstsze pytania
Czy potrzebna jest nazwa domeny dla Matrix?
Tak. Nazwa serwera jest częścią każdego identyfikatora użytkownika i ustawiana jest przy instalacji. Nie można jej później zmienić, więc domenę należy wybrać lub zarejestrować przed instalacją.
Dlaczego nie używać SQLite?
Dokumentacja Synapse mówi, że SQLite nadaje się tylko do testów i nie powinno się go używać produkcyjnie. Niemal każda instalacja powinna korzystać z PostgreSQL.
Gdzie umieścić własne ustawienia?
W plikach w /etc/matrix-synapse/conf.d/. Dokumentacja to zaleca, aby aktualizacja pakietu nie pytała o zastąpienie pliku konfiguracji.
Jak utworzyć pierwsze konto?
Po uruchomieniu Synapse wykonać register_new_matrix_user -c na konfiguracji serwera domowego. Używa on registration_shared_secret, którego znajomość pozwala tworzyć konta, także administratorskie.
Czy można uruchomić Matrix obok innych usług?
Tak, na planie Gloam lub większym. Vaultwarden i SearXNG są przy nim małe; zobacz poradnik o self-hostingu Vaultwarden.
Źródła (3)
- Dokumentacja Synapse: instrukcje instalacji — Element / Matrix.org Foundation (checked 2026-11-10)
- Dokumentacja Synapse: używanie odwrotnego proxy z Synapse — Element / Matrix.org Foundation (checked 2026-11-10)
- Dokumentacja Synapse: używanie Postgres — Element / Matrix.org Foundation (checked 2026-11-10)