# Ako si postaviť vlastný [matrix] server [matrix] je otvorený protokol, nie produkt. Nikto ho nevlastní — ani my. Kubínska Scéna beží presne na tom istom softvéri, ktorý si môžeš nainštalovať sám, na vlastnom stroji, zadarmo. Toto je stručný, poctivý návod, ako na to. Nič z tohto nie je tajomstvo. Ak raz odídeš zo Scény, tvoje účty aj miestnosti na inom serveri fungujú ďalej — [matrix] nie je uzamknutá záhrada. To je celý bod otvoreného protokolu. ## Čo budeš potrebovať - Server s verejnou IP adresou (stačí najlacnejší VPS, cca 5 €/mes — Hetzner, DigitalOcean, OVH, alebo aj starý počítač doma s prístupom z internetu) - Vlastnú doménu (napr. `tvoj-server.sk`) - Docker a Docker Compose nainštalované na serveri - 20 minút a trpezlivosť pri prvom spustení ## 1. DNS Nasmeruj doménu (alebo subdoménu, napr. `matrix.tvoja-domena.sk`) na IP adresu servera pomocou A záznamu. Over si to: ```bash dig +short matrix.tvoja-domena.sk ``` ## 2. Docker Compose Vytvor priečinok a v ňom `docker-compose.yml`: ```yaml services: postgres: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_USER: synapse POSTGRES_PASSWORD: zmen_si_toto_heslo POSTGRES_DB: synapse POSTGRES_INITDB_ARGS: "--encoding=UTF-8 --lc-collate=C --lc-ctype=C" volumes: - ./data/postgres:/var/lib/postgresql/data synapse: image: matrixdotorg/synapse:latest restart: unless-stopped depends_on: [postgres] environment: SYNAPSE_SERVER_NAME: tvoja-domena.sk SYNAPSE_REPORT_STATS: "no" volumes: - ./synapse:/data ports: - "127.0.0.1:8008:8008" caddy: image: caddy:2-alpine restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - ./caddy-data:/data ``` ## 3. Vygeneruj základnú konfiguráciu ```bash docker run -it --rm \ -v "$(pwd)/synapse:/data" \ -e SYNAPSE_SERVER_NAME=tvoja-domena.sk \ -e SYNAPSE_REPORT_STATS=no \ matrixdotorg/synapse:latest generate ``` Tento príkaz vytvorí `homeserver.yaml` a podpisovací kľúč v priečinku `synapse/`. V `homeserver.yaml` uprav pripojenie k databáze na Postgres (predvolene používa jednoduchší SQLite, ktorý na produkciu nestačí): ```yaml database: name: psycopg2 args: user: synapse password: zmen_si_toto_heslo database: synapse host: postgres cp_min: 5 cp_max: 10 ``` ## 4. Reverzná proxy s automatickým TLS `Caddyfile`: ``` tvoja-domena.sk { reverse_proxy /_matrix/* synapse:8008 reverse_proxy /_synapse/client/* synapse:8008 } ``` Caddy si certifikát od Let's Encrypt vybaví sám, žiadna ručná práca s TLS. ## 5. Spusti to ```bash docker compose up -d ``` ## 6. Over federáciu (voliteľné) Ak chceš, aby tvoj server vedel komunikovať s ostatnými servermi [matrix] (federácia), over si nastavenie na . Ak chceš mať server uzavretý — presne ako Kubínska Scéna — federáciu v `homeserver.yaml` vypneš: ```yaml federation_domain_whitelist: [] ``` ## 7. Vytvor si prvý účet ```bash docker exec -it -synapse-1 register_new_matrix_user \ -c /data/homeserver.yaml http://localhost:8008 ``` ## 8. Pripoj sa Stiahni si [Element](https://element.io/download) (alebo FluffyChat, Cinny — klient si vyberáš sám), pri prihlásení zadaj ako server svoju doménu, nie matrix.org. ## Zálohy Databáza sa zálohuje ako ktorýkoľvek iný Postgres: ```bash docker exec -postgres-1 pg_dump -U synapse synapse | gzip > backup.sql.gz ``` Nastav si to ako denný cron job. Nezabudni zálohovať aj priečinok `synapse/` (obsahuje podpisovací kľúč servera — bez neho stratíš identitu servera). --- Toto je presne ten istý softvér a v podstate ten istý postup, akým beží aj Kubínska Scéna. Žiadne tajné omáčky. Ak chceš vedieť viac, oficiálna dokumentácia Synapse je na . *Kubínska Scéna, [matrix].kubinska-scena.life*