Лучшие самохостинговые альтернативы 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