Ця інструкція — як перенести живу інсталяцію MyChat Server з Windows на готовий Linux Docker-образ зі збереженням бази, файлів і сертифікатів. Якщо в сервера змінюється IP-адреса — наприкінці показано, як переналаштувати клієнтів.
Якщо Linux-образ ще не встановлено — спершу пройдіть Установку; ця інструкція її продовжує.
1 Що переносимо, а що ні
З Windows-сервера переносимо лише дані користувача. Решту — шляхи, конфіги, бінарники — дає сам образ.
| Переносимо | Не переносимо |
|---|---|
db/ — системна база (через бекап-архів адмінки) | options.json — використовуються Linux-дефолти образу |
files/ — файли користувачів | конфіги turn/mixer — генерує сервер при кожному запуску |
cert/ — сертифікати (як є, без перевипуску) | будь-які Windows-шляхи та бінарники |
2 Крок 1. Бекап на Windows
- У веб-адмінці старого сервера: Settings → Backup → «Make backup now» — зробіть і завантажте архів бази.
- Занотуйте, де лежать дані. За замовчуванням увесь профіль лежить у
C:\ProgramData\MyChat Server\— більшість інсталяцій використовують стандартний шлях, тож найпростіше шукати саме там. Усередині:- база:
C:\ProgramData\MyChat Server\db\ - файли: адмінка → Settings → Folders (там указані реальні шляхи)
- сертифікати:
C:\ProgramData\MyChat Server\cert\ - логи:
C:\ProgramData\MyChat Server\logs\(переносити за потреби)
- база:
ProgramData збігається з ім'ям інсталяційної папки в
Program Files (x86).
3 Крок 2. Порожній старт на Linux
Спершу підніміть сервер на порожньому профілі — при першому старті він сам розгорне коректну структуру, у яку на наступному кроці підкладемо дані зі старого сервера.
Через лаунчер (рекомендовано):
wget https://nsoft-s.com/files/doker/deploy.tar.gz tar -xzf deploy.tar.gz cd deploy ./mc-launcher.sh
Майстер проведе «за ручку»:
- вибере мову інтерфейсу;
- перевірить Docker і підкаже, чого бракує;
- завантажить і встановить образ (
docker load) — у меню це пункти «Скачати Docker-образ із сайта» і «Підключити Docker-образ»; - створить каталог профілю (
/srv/mychatserver); - запустить контейнер з усіма обов'язковими параметрами — пункт «Запустити сервер».
Або вручну (свій оркестратор, автоматизація, хост без TUI):
wget https://nsoft-s.com/files/doker/mychatserver-slim.tar.gz
docker load -i mychatserver-slim.tar.gz
mkdir -p /srv/mychatserver
docker run -d --name mychatserver --network host \
-v /srv/mychatserver:/var/lib/mychatserver \
--stop-timeout 30 \
mychatserver:slim
Дочекайтеся старту — адмінка відкриється на http://<IP-сервера>:8080.
--network host і --stop-timeout 30 — обов'язкові: без
host-мережі не працюватиме TURN, без таймаута база може закритися некоректно.
Лаунчер ставить їх сам.
4 Крок 3. Зупинка й заливка даних
Зупиніть сервер — у лаунчері пункт «Зупинити сервер MyChat», або:
./mc-stop.sh # або вручну: docker stop -t 30 mychatserver
У каталог профілю на хості (/srv/mychatserver) підкладіть дані зі старого сервера:
- База. Розпакуйте бекап-архів у
/srv/mychatserver/db/, замінивши створену образом порожню базу. Копіюйте всі файли каталогуdb\(архів містить їх усі, не лишеmcserv.db). - Файли. Скопіюйте вміст Windows-
files/у/srv/mychatserver/files/. - Сертифікати. Скопіюйте
cert/зі старого сервера в/srv/mychatserver/cert/. - Логи (за потреби). Якщо важливо зберегти історію логів — скопіюйте вміст
Windows-
logs/у/srv/mychatserver/logs/.
root — файли профілю на хості належать root; для правок
знадобиться sudo.
5 Крок 4. Повторний старт і перевірка
Запустіть сервер знову — у лаунчері пункт «Запустити сервер», або ./mc-start.sh. На старті
сервер побачить наявну базу й підхопить її (за потреби оновить схему під версію образу).
Перевірте:
./mc-status.sh # контейнер, порти, TURN relay-адреса, диск ./mc-logs.sh # живі логи (логи всіх сервісів — у /srv/mychatserver/logs/)
Увійдіть в адмінку й переконайтеся, що історія, користувачі та файли зі старого сервера на місці.
6 Крок 5. Клієнти при зміні IP-адреси
Серверна частина. Адмінка → Tools → «Server moving»: вкажіть нову IP-адресу, порти, основну й резервну адреси сервера.
Клієнти (усі десктоп-клієнти поводяться однаково):
| Спосіб підключення | Дія |
|---|---|
| DNS-ім'я | Перепризначте старе DNS-ім'я на нову IP. Клієнти підхоплять: у LAN — одразу, через інтернет — протягом ~72 год. |
| Пряма IP | Вкажіть нову адресу сервера в кожному клієнті вручну. |
| Active Directory | Оновіть REG-файл з параметрами підключення й роздайте через GPO — клієнти застосують при наступному вході. |
7 Бекап, відкат і усунення проблем
- Подальший бекап/перенос. Один том (
/srv/mychatserver) = повний стан інсталяції. Зупиніть контейнер (./mc-stop.sh) і скопіюйте каталог. Перенос на інший хост — розгорніть лаунчер там і підкладіть той самий каталог профілю. - Помилка при старті «каталог непорожній, але
mcserv.dbне знайдено» — найімовірніше неправильний шлях у-vабо база не потрапила вdb/. Перевірте, щоmcserv.dbлежить саме в<профіль>/db/. - Не поспішайте видаляти старий Windows-сервер — вимикайте його лише після повної перевірки нового.

