Установка MyChat Server на Linux-хост или виртуальную машину


1 Что и как скачать

Вам нужен только один файл — архив со скриптами установки:

Скачать deploy.tar.gz

Скачать прямо на сервер (терминал):

wget https://nsoft-s.com/files/doker/deploy.tar.gz

Сам образ сервера скачивать вручную не нужно. Образ (mychatserver-slim.tar.gz) и файл версии (version.txt) лежат в том же каталоге на сайте, и мастер установки скачает их автоматически на шаге «Скачать». При желании их можно взять и вручную по тому же адресу:

https://nsoft-s.com/files/doker/deploy.tar.gz   # скрипты (нужно)
https://nsoft-s.com/files/doker/version.txt     # версия (тянет мастер)
https://nsoft-s.com/files/doker/mychatserver-slim.tar.gz  # образ (тянет мастер)
Самый короткий путь: скачайте deploy.tar.gz → распакуйте → запустите ./mc-launcher.sh → нажимайте «Далее». Мастер сделает всё сам.

2 Как распаковать

Распакуйте архив в любой удобный каталог:

tar -xzf deploy.tar.gz
cd deploy

Внутри — небольшой набор скриптов (mc-*.sh). При необходимости сделайте их исполняемыми:

chmod +x *.sh

3 Как запустить

Рекомендуемый способ — мастер установки (псевдографическое меню в терминале):

./mc-launcher.sh

Мастер проведёт «за руку»:

  1. выберет язык интерфейса;
  2. проверит, что на хосте есть всё необходимое (Docker и т. п.) и подскажет, что доставить;
  3. скачает образ сервера с сайта и проверит его целостность;
  4. установит образ в Docker;
  5. создаст и запустит контейнер.

Все шаги сохраняются: если прервать — в следующий раз мастер продолжит с того же места.

Без меню (когда образ уже установлен):

./mc-start.sh            # поднять сервер
./mc-start.sh logs       # поднять и смотреть логи (Ctrl+C — выход)
./mc-status.sh           # статус: контейнер, порты, диск
./mc-logs.sh             # смотреть логи вживую

Первый старт занимает некоторое время (разворачивание профиля) — на медленных машинах до нескольких минут. Затем откройте в браузере http://<IP-вашего-сервера> и настройте домен/HTTPS в веб-админке.

Скрипты при необходимости сами запрашивают права sudo — Docker требует прав администратора.

4 Как остановить

Корректная остановка (сервер успевает закрыть базу данных):

./mc-stop.sh

Или через меню мастера — пункт «Остановить». Другие полезные команды:

./mc-restart.sh          # перезапустить
./mc-start.sh recreate   # пересоздать контейнер (данные в томе целы)

Остановка даёт серверу до 30 секунд на корректное завершение. Ваши данные хранятся в томе на хосте и при остановке/перезапуске не пропадают.

5 Требования к Linux-хосту

Образ самодостаточный (внутри — Debian + Wine + все компоненты). Требования относятся к хосту, потому что контейнер использует ядро хоста.

Архитектураx86-64 (amd64). ARM / aarch64 не поддерживается.
ЯдроLinux ≥ 3.10 (рекомендуется ≥ 4.x) с включённой 32-битной эмуляцией CONFIG_IA32_EMULATION=y.
DockerСовременный Docker Engine (проверено на 26.x). Нативный Linux-Docker — не Docker Desktop на Mac/Windows.
СетьЗапуск в режиме --network host (это делает мастер автоматически).
Свободные портыВеб — 80, 443; клиенты — 2004; TURN — UDP 49000–50000 и 8888.

Быстрая проверка пригодности машины:

uname -m                                      # ожидаем: x86_64
grep IA32_EMULATION /boot/config-$(uname -r)  # ожидаем: ...=y
docker --version                              # Docker присутствует
nproc ; free -h ; df -h /srv                  # CPU / RAM / диск
Если Docker ещё не установлен: curl -fsSL https://get.docker.com | sh

6 Поддерживаемые дистрибутивы

Семейство дистрибутива не важно — нужны только современное ядро + Docker (x86-64):

ДистрибутивМинимум
Debian8 (Jessie); 10–13 — рекомендуется
Ubuntu14.04 LTS; 20.04 / 22.04 / 24.04 — рекомендуется
RHEL / CentOS / Rocky / Alma7 (⚠️ 6 — слишком старая, не пойдёт)
Fedoraлюбая поддерживаемая
Arch / Manjarorolling (всегда)
openSUSE Leap / SLESLeap 15 / SLES 12
Не заработает: ARM-хосты; Docker Desktop (Mac/Windows — ломается --network host, не работает TURN); ядра без IA32-эмуляции; CentOS/RHEL 6, Debian 7, Ubuntu 12.04 и старше.

7 Рекомендуемые ресурсы

РесурсМинимумРекомендуетсяПримечание
CPU2 vCPU4 vCPUmixer/ffmpeg нагружают CPU при медиа-звонках
RAM2 GB4–8 GBв покое Wine+сервер ≈ 0.5–1 GB
Диск (образ)2 GBраспакованный образ ≈ 1.77 ГБ
Диск (данные/том)5 GB20–50+ GBрастёт с историей и файлами чата
Своп1–2 GBстраховка для пиковых нагрузок на малых VM

Ориентир для небольшой-средней организации: 4 vCPU / 8 GB RAM / 50 GB SSD.

Лучшие хосты для продакшена (LTS, долгая поддержка): Ubuntu Server 24.04 / 22.04 LTS, Debian 12, Rocky Linux 9 / AlmaLinux 9, RHEL 9 / SLES 15.

8 Описание скриптов архива deploy

Что содержится в deploy.tar.gz:

ФайлНазначение
mc-launcher.shГлавный скрипт. Псевдографический мастер и меню: скачивание, установка образа, запуск/остановка, статус, логи, проверка обновлений. Начинайте с него.
mc-launcher.confНастройки: язык, адрес скачивания, имя контейнера, образ, путь к тому, таймаут остановки. Можно редактировать.
mc-start.shЗапуск сервера. logs — с показом логов, recreate — пересоздать контейнер.
mc-stop.shКорректная остановка.
mc-restart.shПерезапуск сервера.
mc-status.shСтатус: состояние контейнера, занятые порты, TURN relay-адрес, свободное место на диске.
mc-logs.shПросмотр логов вживую (./mc-logs.sh N — последние N строк).
mc-common.shОбщее ядро (функции, конфиг). Подключается другими скриптами — отдельно не запускается.
mc-i18n.shТексты интерфейса на трёх языках (uk / en / ru).
mc-launcher.stateСоздаётся автоматически во время работы: локальное состояние (выбранный каталог, установленная версия и т. п.). В архиве отсутствует.
Все скрипты при необходимости сами повышают права через sudo. Достаточно запускать mc-launcher.sh — остальное вызывается из меню.
Служба поддержки