Полный набор скриптов для быстрого развёртывания Matrix homeserver
на базе:
https://github.com/spantaleev/matrix-docker-ansible-deploy
- Overview
- Structure
- Quick Start
- Server Preparation
- Matrix Deployment
- Create Admin
- Updating
- DNS Setup
- Requirements
matrix-deploy-kit — это набор утилит, который:
- автоматизирует установку Matrix
- подготавливает сервер
- настраивает nginx / Traefik
- добавляет landing page
- упрощает обновления
matrix-deploy-kit/
├── deploy.sh
├── tools/
│ ├── generate_vars.sh
│ ├── prepare_server.sh
│ ├── update.sh
│ └── nuke-user.sh
└── templates/
├── index.html
└── tos.html
scp -r matrix-deploy-kit/ \
root@<SERVER_IP>:/root/matrix-deploy-kit/ssh root@<SERVER_IP>
bash /root/matrix-deploy-kit/deploy.shСкрипт:
- клонирует matrix playbook
- копирует tools
- копирует templates
- запускает генератор
vars.yml
bash tools/prepare_server.sh \
--domain example.com \
--ketesa-port 35805 \
--element-admin-port 35122 \
--livekit-rtc-tcp 23249 \
--livekit-rtc-udp 18674 \
--livekit-turn-tls 11377 \
--livekit-turn-udp 34556 \
--with-ntfy \
--with-landing-pageЧто настраивается:
- nginx reverse proxy
- certbot SSL (включая
ntfy.example.comесли--with-ntfy) - landing page
- скрытые admin панели (Ketesa, Element Admin)
- LiveKit (аудио/видео звонки через Element Web и Element X) — 4 нестандартных порта в файрволе
- ntfy (push-уведомления для Element X / FluffyChat)
Порты LiveKit можно подобрать любые свободные (1024-65535) - они выписываются в файрвол. Порядок флагов: ICE/TCP, ICE/UDP, TURN/TLS, TURN/UDP.
bash tools/prepare_server.sh \
--domain example.com \
--traefik-only \
--livekit-rtc-tcp 23249 \
--livekit-rtc-udp 18674 \
--livekit-turn-tls 11377 \
--livekit-turn-udp 34556 \
--with-ntfyОсобенности:
- SSL через Traefik
- меньше компонентов
- проще конфигурация
cd /root/matrix-docker-ansible-deploy
export LC_ALL=C.UTF-8
just roles
just install-alldocker exec matrix-authentication-service \
mas-cli manage register-user \
--yes admin \
--password <PASSWORD> \
--admincd /root/matrix-docker-ansible-deploy
bash tools/update.shМинимальные A-записи (все → IP сервера):
example.com
matrix.example.com
element.example.com
Опционально (с флагом --with-ntfy):
ntfy.example.com
LiveKit работает по path-маршрутизации через matrix.example.com/livekit-jwt-service - отдельный поддомен не нужен.
Минимальные требования:
- Ubuntu 20.04+
- Debian 11+
- 2GB RAM минимум (4GB рекомендуется)
Открытые порты:
80 HTTP (certbot)
443 HTTPS
8448 Federation (если не через 443)
<LiveKit RTC TCP> SFU TCP (по флагу --livekit-rtc-tcp)
<LiveKit RTC UDP> SFU UDP (по флагу --livekit-rtc-udp)
<LiveKit TURN TLS> TURN TLS (по флагу --livekit-turn-tls)
<LiveKit TURN UDP> TURN UDP (по флагу --livekit-turn-udp)
prepare_server.sh сам открывает LiveKit порты в ufw если они переданы флагами.
Matrix deployment stack: