Представитель SmartPlayer передает следующий состав платформы. Версии архивов могут отличаться, зависит от конкретной версии, которая разворачивается на примере. Обычно представитель SmartPlayer присылает актуальную версию для текущего момента:
Если используется серверное приложение использующее 20 NodeJS, то необходимо загрузить docker_images_v3.4.1.tar.gz
Также их можно найти в архиве с серверным приложением, по пути: smartplayer/tools/installer/
sp_docker_v_${current_version_docker}_bv_${current_version_backend}_fv_${current_version_frontend}.zip - архив с серверным приложением платформы SmartPlayer, конфигурационные файл для Docker, собранный по умолчанию личный кабинет платформы
unzip_6.0-21ubuntu1_amd64.deb - пакет для разархивирования zip-архивов на сервере. По умолчанию в Ubuntu сервер идет архиватор ".tar" который не умеет разархивировать "zip"-файлы. Можно в процессе перепаковать файлы и потом загрузить их на сервер, тогда не потребуется установка пакета на сервере.
Установка Docker и Docker-compose
В зависимости от операционной системы пользователь сам выбирает версию Docker и Docker-compose необходимую для установки на серверную операционную систему:
Архив для оффлайн установки Docker для Ubuntu Server 22.04 LTS
Алгоритм установки
Из-за шрифтов в некоторых командах может казаться, что используются косые кавычки. Это не так, там используются одинарные кавычки.
Заменить символ - "*" на актуальную версию файла в описанных командах
Обязательно запросить нового пользователя у команды технической поддержки SmartPLayer.
Создать пользователя SmartPlayer, без root-прав, после установки серверного приложения, необходимо запретить авторизацию под данным пользователем.
Для продолжения установки необходимо подключиться к серверу и загрузить все архивы на сервер в домашнюю директорию пользователя SmartPlayer. Для загрузки можно использовать утилиту "sftp" или другую, главное загрузить архивы на сервер. Далее6
Распаковать архив с Docker, и перейти в распакованную директорию:
tar -zxvf docker-and-docker-compose*.tar.gz && cd docker-and-docker-compose*
Опционально: чтобы вызывать docker без sudo, добавить пользователя в группу docker:
sudo usermod -aG docker $USER
Добавляем пользователя SmartPlayer в группу docker:
sudo usermod -aG docker smartplayer
Проделав вышеописанные действия пользователю необходимо отключиться от сервера и подключиться снова.
Проверить работоспособность Docker и Docker Compose :
docker --version
Ответ зависит от операционной системы куда устанавливается docker
docker-compose --version
Ответ будет зависеть полностью от операционной системы:
Пример отображения ответа
Для docker-compose ver.2 (поставляется в архивах для ubuntu начиная с версии Ubuntu 24.04) рекомендуется включить режим совместимости (работает по команде "docker-compose", контейнеры используют разделитель в виде “_“):
docker image ls
Результат, описанный выше действий должен быть как на скриншоте ниже:
Пример отображения
Если при загрузке образов на Astra Linux появляется ошибка вида:
directory '/var/lib/docker/overlay2/09b534e0304c27ac3a735c11a0413b9508405c6807b1b910339e27a251a23cc0/merged' contains vulnerabilities! [{oval:astra:def:4531229522001128947937725208131 true Astra Linux - уязвимость в openssl } {oval:astra:def:4373393375917990519923223647811 true Astra Linux - уязвимость в openssl } {oval:astra:def:4214940672944626263348052579907 true Astra Linux - уязвимость в openssl } {oval:astra:def:4056789016112106406191571490371 true Astra Linux - уязвимость в openssl } {oval:astra:def:3898339921026663004431305758275 true Astra Linux - уязвимость в openssl } {oval:astra:def:1099622894188402609980812330096195 true Astra Linux - уязвимость в openssl }]. Image: 09b534e0304c27ac3a735c11a0413b9508405c6807b1b910339e27a251a23cc0
Необходимо выполнить следующие действия:
sudo mkdir /etc/docker
sudo touch /etc/docker/daemon.json
sudo cat << EOF > /etc/docker/daemon.json
{ "astra-sec-level" : 6 }
EOF
sudo systemctl restart docker</code<
Опционально: если всё загрузилось успешно, то можно удалить архив с образами:
rm docker_images_v3.3.1.tar.gz
Заполнить конфигурацию env:
mv .env.example .envnano .env
Пользователю необходимо заполнить следующий поля:
MYSQL_ROOT_PASSWORD, MYSQL_PASSWORD - пароли для подключения к MySQL (сгенерировать)
CMS_URL - URL личного кабинета. Например, если сервер будет доступен по адресу: "http://192.168.56.101/cms", то указать этот адрес (без слеша на конце).
APP_URL - URL серверного приложения. Например, если сервер будет доступен по адресу: "http://192.168.56.101", то указать этот адрес (без слеша на конце).
MYSQL_BACKUP_STORAGE - указать тип бекапа mysql, например: local
MYSQL_BACKUP_LOCAL_DIR - указать абсолютный путь к директории, например:
"/home/smartplayer/smartplayer/data/mysql-dumps/"
Сохранить конфигурацию и выйти. (ctrl+S, ctrl+X)
Пример отображения конфигурации с выделенными параметрами
Далее меняем адрес сервера в конфигурации личного кабинета:
nano cms/cms/config.js
Нужно изменить значение параметра "ip_address":
Пример отображения изменённого значения Ip-адреса
Включить автоматическое создание бэкапов базы данных MySQL (данную команду необходимо выполнять из под пользователя SmartPlayer):
./mysql_backup/init_auto_backups.sh
Для проверки бэкапов БД MySQL используем команду: sudo -u smartplayer /home/smartplayer/smartplayer/mysql_backup/mysql_backup.sh
Настроить конфигурацию "nginx". Скопировать нужный файл конфигурации в зависимости от настройки сервера. В данном случае личный кабинет и сервер на одном ip адресе, используется протокол http:
"one_domain" - подразумевает что сервера находятся на одном адресе. Также необходимо предусмотреть тип подключения: http/https
Пример отображения настройки в которой личный кабинет и сервер на одном ip адресе
Сохранить конфигурацию и выйти. (ctrl+S, ctrl+X)
Запустить приложения и подождать 2 минуты:
docker-compose up -d
Создать таблицы базы данных:
docker exec -it smartplayer_backend_1 sh -c './cli.js db init'
Загрузить виджеты
docker exec -it smartplayer_backend_1 sh -c './cli.js widgets upload'
Создать пользователя:
docker exec -it smartplayer_backend_1 sh -c './cli.js company create-with-user'
Cтандартно, командой технической поддержки SmartPlayer? должен быть создан первый пользователь с логином - root@smartplayer.org.
Если при создании пользователя выходит ошибка, необходимо повторить предыдущий шаг и создать таблицы БД.
Проверка работы серверного приложения, командой:
docker exec -it smartplayer_backend_1 sh -c 'pm2 list'
Корректный вывод будет показан на примере ниже: