Свой сервер
Сервер AVOICE - одна программа без зависимостей для Linux или Windows. Всё своё он хранит рядом: config.json с настройками и папку data/ с базой SQLite, файлами и сертификатом. Нужен один порт - 7700, TCP и UDP.
Что понадобится
- Машина, до которой могут достучаться ваши друзья: VPS, домашний сервер с пробросом порта или просто ваш компьютер.
- Открытый порт 7700 TCP и UDP (или любой другой - его можно выбрать). Без UDP чат работает, а голоса не будет.
- Свой ID из клиента, если хотите сразу стать владельцем, - см. Личность и ID. Можно и без него: проще войти с паролем владельца.
Файлы сервера - на странице Свой сервер, там же контрольные суммы.
Linux
-
Скопируйте файл в папку обычного пользователя (не
root) и сделайте исполняемым:mkdir -p ~/avoice && cd ~/avoice chmod +x avoice-server-linux-amd64 -
Запустите - откроется мастер настройки:
./avoice-server-linux-amd64Стрелки ↑↓ выбирают вариант, Enter оставляет значение по умолчанию (в скобках). Мастер спросит название, порт, внешний IP, сертификат, число слотов, предел файла, где хранить файлы, показывать ли сервер в общем списке, владельца и пароль владельца. Ответы сохранятся в
config.json, и в следующий раз сервер запустится сразу. -
Откройте порт - и в системе, и в панели хостера, если она есть:
sudo ufw allow 7700 -
Поставьте службой, чтобы сервер работал в фоне, поднимался после перезагрузки и перезапускался при сбое:
sudo ./avoice-server-linux-amd64 install-service journalctl -u avoice -fСлужба работает от вашего пользователя, не от
root. Управление -sudo systemctl restart avoice(илиstop,start,status).
Windows
-
Положите
avoice-server.exeв отдельную папку и запустите - пройдёт тот же мастер. -
Чтобы сервер запускался вместе с Windows, в командной строке от имени администратора из этой папки:
.\avoice-server.exe install-serviceСлужба «AVOICE voice server» откроет порт в брандмауэре и будет перезапускаться при сбое. Журнал -
avoice.logрядом сconfig.json. Перезапуск -Restart-Service AVOICEили «Службы» (services.msc).
Docker
cp .env.example .env # укажите AVOICE_PUBLIC_IP - внешний IP сервера
docker compose up -d --build
docker compose logs avoice # пароль владельца и отпечаток сертификата
Данные - в ./data. Внутри Docker сервер видит только адрес контейнера, поэтому AVOICE_PUBLIC_IP обязателен.
Первый вход и владелец
При запуске сервер печатает в консоль (или в журнал службы):
- отпечаток сертификата - его ваши друзья сверяют при первом подключении;
- пароль владельца - пока владельца нет.
Подключитесь клиентом, нажав в окне «Серверы» «Вход владельца» и введя пароль, - сервер запишет ваш ID владельцем. Дальше роли, права, каналы и настройки сервера - прямо в клиенте: щит на верхней панели. Подробнее - Владелец, роли и права.
Раздать адрес
Дайте друзьям адрес сервера: домен или внешний IP, и порт, если он не 7700. Если хотите, чтобы сервер нашли и незнакомые люди, включите общий список серверов.
Команды сервера
avoice-server запустить (первый запуск в терминале - мастер)
avoice-server setup мастер настройки заново
avoice-server set-owner <ID> назначить владельца по ID из клиента
avoice-server reset-password выдать новый пароль владельца
avoice-server backup [папка] копия базы, config.json и сертификата
avoice-server migrate-storage перенести файлы из data/files в S3
avoice-server update [-check] обновиться с сайта проекта
avoice-server install-service служба Windows или systemd
avoice-server uninstall-service убрать службу
avoice-server version версия