Лучшие самохостинговые альтернативы Discord в 2026 году: Полное руководство
Подробное руководство по самохостинговым альтернативам Discord, включая Element, Mattermost и другие. Узнайте, как заменить Discord с сохранением приватности и функциональности.
Не указано
Установка Docker и Docker Compose
Сначала установим Docker и Docker Compose, необходимые для запуска Element.
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeНастройка доменного имени
Убедитесь, что у вас есть доменное имя, указывающее на IP-адрес вашего сервера.
Создание docker-compose.yml
Создаем файл docker-compose.yml для настройки контейнеров Synapse и Nginx.
version: '3'
services:
synapse:
image: matrixdotorg/synapse:latest
restart: always
volumes:
- ./data:/data
environment:
- SYNAPSE_SERVER_NAME=your-domain.com
- SYNAPSE_REPORT_STATS=no
- UID=1000
- GID=1000
nginx:
image: nginx:latest
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./ssl:/etc/nginx/ssl:ro
depends_on:
- synapseСоздание конфигурации Nginx
Создаем конфигурационный файл Nginx для проксирования запросов к Synapse.
events {
worker_connections 1024;
}
http {
upstream matrix {
server synapse:8008;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name your-domain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
location / {
proxy_pass http://matrix;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
}Генерация SSL-сертификатов
Используем Certbot для генерации SSL-сертификатов для нашего домена.
sudo apt install certbot
sudo certbot certonly --standalone -d your-domain.com
sudo mkdir -p ssl
sudo cp /etc/letsencrypt/live/your-domain.com/fullchain.pem ssl/cert.pem
sudo cp /etc/letsencrypt/live/your-domain.com/privkey.pem ssl/key.pem
sudo chown -R 1000:1000 sslЗапуск Synapse
Запускаем контейнеры с помощью Docker Compose.
docker-compose up -dНастройка Element
Завершаем установку, настраивая клиент Element и создаем первую комнату.
1. Перейдите в веб-браузере по адресу `https://your-domain.com`
2. Зарегистрируйте новый аккаунт или войдите в существующий
3. Создайте сервер (комнату) или присоединитесь к существующему
4. Пригласите других пользователей через их идентификаторы Matrix