Нативная установка Element X (Sliding Sync Proxy) без Docker в Ubuntu Server

Пошаговое руководство по сборке и развёртыванию прокси-сервера мгновенной синхронизации (Matrix Sliding Sync) для мобильных клиентов Element X. Полный отказ от Docker-контейнеров, настройка системного демона Systemd и проксирования через Nginx.

# ========================================================================= 
# БЕЗОПАСНАЯ ИНФРАСТРУКТУРА — СБОРКА И УСТАНОВКА MATRIX SLIDING SYNC (GO) 
# ========================================================================= 
 
# 1. УСТАНОВКА ИНСТРУМЕНТАРИЯ СБОРКИ И ЯЗЫКА GO 
sudo apt update 
sudo apt install -y golang-go git build-essential 
 
# 2. КЛОНИРОВАНИЕ РЕПОЗИТОРИЯ И СБОРКА БИНАРНИКА ИЗ ИСХОДНИКОВ 
cd /usr/local/src 
sudo git clone https://github.com 
cd sliding-sync 
sudo go build -o syncv3 ./cmd/syncv3 
 
# Переносим готовый бинарник в системный каталог 
sudo cp syncv3 /usr/local/bin/ 
 
# 3. СОЗДАНИЕ ИЗОЛИРОВАННОГО СИСТЕМНОГО ПОЛЬЗОВАТЕЛЯ 
sudo useradd -r -s /bin/false matrix-sync 
 
# Создаем папку для базы данных сокета 
sudo mkdir -p /var/lib/matrix-sync 
sudo chown -R matrix-sync:matrix-sync /var/lib/matrix-sync 
 
# ========================================================================= 
# СОЗДАНИЕ СИСТЕМНОГО ДЕМОНА SYSTEMD ДЛЯ СЛУЖБЫ СИНХРОНИЗАЦИИ 
# ПУТЬ К ФАЙЛУ: /etc/systemd/system/matrix-sliding-sync.service 
# ========================================================================= 
[Unit] 
Description=Matrix Sliding Sync Proxy (Element X backend) 
After=network.target 
 
[Service] 
Type=simple 
User=matrix-sync 
Group=matrix-sync 
WorkingDirectory=/var/lib/matrix-sync 
 
# ГЕНЕРАЦИЯ СЕКРЕТНОГО КЛЮЧА И НАСТРОЙКА ПОДКЛЮЧЕНИЯ К СВОЕМУ СЕРВЕРУ SYNAPSE 
Environment="SYNCV3_SERVER=https://your-matrix-homeserver.com" 
Environment="SYNCV3_SECRET=СГЕНЕРИРУЙ_ЛЮБОЙ_СЛУЧАЙНЫЙ_32_ЗНАЧНЫЙ_ХЕШ_ПАЦАНОВ" 
Environment="SYNCV3_BINDADDR=127.0.0.1:8008" 
Environment="SYNCV3_DB=user=matrix-sync dbname=syncv3 sslmode=disable" 
 
ExecStart=/usr/local/bin/syncv3 
Restart=always 
RestartSec=5 
 
[Install] 
WantedBy=multi-user.target 
 
# ========================================================================= 
# НАСТРОЙКА МАТРИЦЫ ПРОКСИРОВАНИЯ ВНУТРИ ВЕБ-СЕРВЕРА NGINX 
# ВСТАВЛЯТЬ ВНУТРЬ БЛОКА СЕРВЕРА КАТАЛОГА: /etc/nginx/sites-available/ 
# ========================================================================= 
location ~ ^/(client/|_matrix/client/unstable/org.matrix.msc3575/sync) { 
proxy_pass http://127.0.0.1:8008; 
proxy_set_header X-Forwarded-For $remote_addr; 
proxy_set_header X-Forwarded-Proto $scheme; 
proxy_set_header Host $host; 
proxy_read_timeout 600s; 
}