Установка Wimark One

Установка Docker

Для установки Docker необходимы права суперпользователя/root

1.Войти под пользователем root следующей командой:

sudo su

2. Установить Docker на сервер:

curl -sSl https://get.docker.com | sh

Можно выполнить установку через apt-репозиторий. Далее, в качестве примера, приведена установка через apt-репозиторий для Ubuntu 22.04.


  1. Обновить список для актуализации установочных пакетов:

sudo apt-get update


2. Установить набор пакетов, который необходим для доступа к репозиторию docker:

sudo apt-get install ca-certificates curl gnupg


3. Добавить GPG-key для работы с официальным репозиторием Docker:

sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg


4. Добавить официальный репозиторий Docker в локальный список (копировать эту команду необходимо полностью):

echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


5. Обновить список, установить пакеты и запустить Docker:

sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin \ docker-compose-plugin systemctl start docker
При необходимости установки каким-либо другим способом, либо на другую ОС, на сайте Install Docker Engine есть подробные инструкции для установки.

Установка ПО Wimark One

Необходимо загрузить дистрибутив Wimark One на тот сервер, где планируется установка ПО.

Загрузить дистрибутив Wimark One на сервер (при наличии доступа в интернет):

wget https://storage.wimark.com/api/public/dl/XZqjHaJe \
 -O /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run 
sudo chmod +x /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run


Для запуска установки необходимо выполнить bash:

sudo /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run


/tmp/ - каталог в котором хранятся временные файлы. Файлы удаляются спустя определенное время и после перезагрузки сервера.

https://storage.wimark.com/api/public/dl/XZqjHaJe - пример ссылки на прошивку.

WiMark-one-1.11.0-2023-10-30-qtech-installer.run - пример имени файла, может отличаться в зависимости от сборки и версии ПО.


Файлы конфигурации расположены в папке /opt/wimark/наименование сборки.

Во время установки будет предложено заполнить FQDN (рисунок 1).

Рисунок 1
Рисунок 1

Следует указать FQDN. Если FQDN использоваться не будет, то можно указать любое доменное имя, например: one.mydomain.com.


FQDN (Fully Qualified Domain Name) полное доменное имя определяющее узел в сети Интернет (имя домена, на которое будет реагировать веб-сервер).

После установки основных компонентов, будет предложено установить SMTP (рисунок 2).


Рисунок 2

Следует указать: y - для запуска установки, N - для отказа от установки.

Рисунок 3 - Пример заполнения установщика SMTP


SMTP_HOST - имя хоста или IP-адрес SMTP-сервера, который будет отправлять сообщения.

SMTP_PORT - номер порта для подключения к SMTP-серверу, по умолчанию 25.

SMTP_USER - логин УЗ для SMTP.

SMTP_PASS - пароль УЗ для SMTP.

Проверка работоспособности

Для контроля работоспособности Wimark One пользователю следует перейти на web интерфейс платформы. При успешном завершении установки отобразится форма авторизации в соответствии с рисунком 4.

Логин/пароль по умолчанию: wimark/wimark

Рисунок 4 - Форма авторизации

Устранение проблем при загрузке

Ошибка 502 Gateway при попытке авторизации в web интерфейсе

После перезагрузки виртуальной машины с развернутой платформой Wimark One могут возникать ошибки 502 gateway. Для решения необходимо выполнить следующие действия :

  1. зайти на ВМ с платформой;

  2. выполнить команду:

sudo docker restart one_nginx-ssl-proxy_1

Отсутствие платформы после жесткой перезагрузки

Если после жесткой перезагрузки не доступен Web UI, а также не работают сервисы, то необходимо:

  1. зайти на ВМ с платформой;

  2. выполнить команды:

sudo su 
cd /etc/wimark/one 
bash start.sh

Обновление Wimark One

Процесс обновления Wimark One представляет собой удаление старых компонентов и установку новой версии платформы.
Если нет необходимости в переносе старых данных (статистики, SSID, настроек ТД и т.д.), то необходимо только удалить старую версию платформы, а затем установить новую версию в соответствии с инструкцией по установке Установка ПО Wimark One .

Создание резервных копий

Перед созданием резервной копии БД необходимо убедиться в том, что на сервере достаточно свободного места.
Для создания резервной копии платформы Wimark One рекомендуется иметь минимум 6G свободного места.

Есть два варианта создания резервной копии БД: полное и частичное.
При создании частичной резервной копии копируется только конфигурация (локации, настройки), лицензионный ключ и static файлы. Использование данного метода значительно ускоряет сам процесс восстановления БД и уменьшает размер резервной копии БД.

При создании полной резервной копии БД копируются все данные, т.е. статистика, конфигурация, static, ключ и т.д. Использование данного метода гарантирует полное копирование данных, но значительно замедляет процесс восстановление БД, и сама резервная копия БД занимает довольно много места.

Создание полной резервной копии

  1. Создать резервную копию контейнеров:

docker save -o /opt/wimark_backup/images.tar \
 $(docker compose -f /opt/wimark/one/docker-compose.yml config \
 | grep image | awk '{print $2;}')


Данный пункт не является обязательным.

На данном шаге создается резервная копия контейнеров, которые удаляются при обновлении. Но если после обновления возникнут проблемы и необходимо будет вернуть всё назад, то выполнение данного пункта предоставит такую возможность.
Значительно влияет на размер резервной копии!


2. Создать резервную копию БД:

docker exec -it $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \
 awk '{ print $1;}') mongodump --db=test --gzip --archive=/tmp/backup_wimark.gz


Если имя контейнера с MongoDB отличается от того, что указано в команде, то можно использовать команду docker ps для поиска нужного контейнера.

3. Создать папку для резервной копии:

mkdir /opt/wimark_backup/


4. Копировать архив с резервной копией БД из контейнера в систему:

docker cp $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \
 awk '{ print $1;}'):/tmp/backup_wimark.gz /opt/wimark_backup/


5. Создать резервную копию static файлов, которые находятся в папке /opt/wimark/static:

cp -r /opt/wimark/static /opt/wimark_backup/static


Если версия Wimark One ниже 1.10, то файлы будут находится каталоге /usr/share/wimark/static

Создание частичной резервной копии

  1. Создать резервную копию БД без коллекций со статистикой:

docker exec -it $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \
 awk '{ print $1;}') bash
mongodump --db=test --excludeCollection=bss_stat_info \
 --excludeCollection=client_stat_info --excludeCollection=client_stats \
 --excludeCollection=cpe_stat_info --excludeCollection=stats \
 --excludeCollection=wlan_stat_info --gzip --archive=/tmp/backup_wimark.gz; exit


2. Копировать архив с резервной копией БД из контейнера в систему:

docker cp $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \
 awk '{ print $1;}'):/tmp/backup_wimark.gz /opt/wimark_backup/


3. Создать резервную копию static файлов, которые находятся в папке /opt/wimark/static:

cp -r /opt/wimark/static /opt/wimark_backup/static

Обновление ПО и перенос БД

Обновление ПО

  1. Необходимо полностью удалить старую платформу следующей командой:

rm -r /opt/wimark; docker rm -f $(docker ps -qaf "name=one-|master|backup|one_")


Если версия Wimark One ниже 1.10, то файлы будут находится в каталоге /etc/wimark

Если на сервере в docker используется только Wimark One, то можно дополнительно выполнить эту команду:

docker system prune --all --volumes


Данная команда удалит все остановленные контейнеры, “висящие” (неиспользуемые) Docker-образы, неиспользуемые сети и тома. Поэтому следует использовать данную команду только в том случае, если в Docker устанавливалось только ПО Wimark One.

2. Скачать на сервер и запустить установку (более подробное описание в разделе инструкции по установке):

wget https://storage.wimark.com/api/public/dl/XZqjHaJe \
 -O /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run 
sudo chmod +x /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run 
sudo /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run


/tmp/ - каталог в котором хранятся временные файлы. Файлы удаляются спустя определенное время и после перезагрузки сервера.

https://storage.wimark.com/api/public/dl/XZqjHaJe - пример ссылки на прошивку.

WiMark-one-1.11.0-2023-10-30-qtech-installer.run - пример имени файла, может отличаться в зависимости от сборки и версии ПО.

Перенос БД

1.После того, как платформа полноценно запуститься (все контейнеры поднимаются за несколько минут), необходимо принудительно остановить контейнер отвечающий за backend:

docker stop $(docker ps | grep 'backend-golang-1' | awk '{ print $1;}')


2. Копировать ранее созданную резервную копию БД в контейнер mongo:

docker cp /opt/wimark_backup/backup_wimark.gz $(docker ps | \
 grep 'one-mongo-1\|one-mongo-ha-1' | awk '{ print $1;}'):/tmp/


3. Запустить процесс восстановления из резервной копии:

docker exec -it $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \
 awk '{ print $1;}') mongorestore --drop --nsInclude='test.*' \
 --gzip --archive=/tmp/backup_wimark.gz


--drop - перезаписывает текущие данные в БД.

В зависимости от размеров коллекций и технических характеристик сервера, этот процесс может занять от нескольких минут до нескольких часов!


4. Удалить новые и перенести старые файлы static:

rm -r /opt/wimark/static 
cp -r /opt/wimark_backup/static /opt/wimark/


5. Запустить контейнер отвечающий за backend:

docker start $(docker ps | docker ps -a | grep 'backend-golang-1' | \
 awk '{ print $12;}')


Далее следует подождать несколько минут и проверить работоспособность в соответствии с разделом Проверка работоспособности.



  • Нет меток