Лучшие самохостинговые альтернативы Discord в 2023: Полное руководство
Ищете альтернативу Discord? Обзор лучших самохостинговых решений для замены Discord: Matrix, Mumble, Tealium и другие. Пошаговые инструкции по установке и настройке.
Не указано
Установка зависимостей
Обновление системы и установка необходимых пакетов для работы Synapse
sudo apt update
sudo apt upgrade -y
sudo apt install -y python3-pip python3-dev python3-venv build-essential libssl-dev libffi-dev libjpeg-dev libpq-dev postgresql postgresql-contrib curlУстановка PostgreSQL
Установка и настройка PostgreSQL как базы данных для Synapse
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo -u postgres createuser --encrypted -P synapse
sudo -u postgres createdb -O synapse synapseУстановка Synapse
Создание директории для Synapse и установка через pip
sudo mkdir /opt/synapse
sudo chown $USER:$USER /opt/synapse
cd /opt/synapse
python3 -m venv synapse
source synapse/bin/activate
pip install -U pip setuptools wheel
pip install matrix-synapseНастройка Synapse
Генерация и редактирование конфигурационного файла для Synapse
python -m synapse.app.homeserver --server-name yourdomain.com --config-path homeserver.yaml --generate-config --report-stats=no
# В конфигурационном файле homeserver.yaml:
server_name: "yourdomain.com"
public_baseurl: "https://yourdomain.com"
database:
name: "psycopg2"
args:
user: "synapse"
password: "your_password"
database: "synapse"
host: "localhost"
port: 5432
listeners:
- port: 8008
tls: false
type: http
x_forwarded: true
resources:
- names: [client, federation]
compress: true
media_store_path: "/var/matrix/media"
enable_registration: true
require_3pid: ["email", "msisdn"]
registration_shared_secret: "your_registration_secret"
max_mxc_size: 50 * 1024 * 1024 # 50MB
sudo mkdir -p /var/matrix/media
sudo chown $USER:$USER /var/matrix/mediaНастройка reverse proxy (Nginx)
Установка и настройка Nginx как reverse proxy для Synapse
sudo apt install -y nginx
# Создание файла конфигурации /etc/nginx/sites-available/matrix:
server {
listen 80;
server_name yourdomain.com;
location /_matrix {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
client_max_body_size 50M;
proxy_connect_timeout 60s;
proxy_send_timeout 90s;
proxy_read_timeout 90s;
}
}
sudo ln -s /etc/nginx/sites-available/matrix /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginxНастройка SSL
Установка и настройка SSL-сертификата с помощью Certbot
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.comЗапуск и проверка
Создание системного сервиса для Synapse и его запуск
sudo nano /etc/systemd/system/synapse.service
# Содержимое файла:
[Unit]
Description=Matrix homeserver (Synapse)
After=network.target
[Service]
User=your_username
WorkingDirectory=/opt/synapse
Environment=PYTHONUNBUFFERED=1
ExecStart=/opt/synapse/synapse/bin/python -m synapse.app.homeserver --config-path /opt/synapse/homeserver.yaml
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start synapse
sudo systemctl enable synapse
sudo systemctl status synapseСоздание первого пользователя
Создание пользователя администратора для вашего Matrix homeserver
register_new_matrix_user -c /opt/synapse/homeserver.yaml https://yourdomain.comОптимизация производительности для высоконагруженных серверов
Добавление Redis для кэширования и настройка рабочих процессов
sudo apt install -y redis-server
# В конфигурационный файл homeserver.yaml добавить:
redis:
enabled: true
host: localhost
port: 6379
workers:
- 0 # Количество рабочих процессов (0 - автоматическое определение)