Встановлення 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 — решта викликається з меню.
Служба поддержки