Offline installation of the SmartPlayer platform on Ubuntu / Astra operating systems

Материал из SmartPlayer
Версия от 09:44, 12 февраля 2025; N.Bloshkin (обсуждение | вклад) (Новая страница: «== '''Description of the Situation''' == This page describes the possibility of self-service offline installation of the SmartPlayer platform on Ubuntu and Astra operating systems. == '''Supported Versions''' == {| class="wikitable" |+ Supported Versions Table |- ! Operating System !! OS Distribution !! Recommended for Installation |- | Ubuntu Server 24.04 LTS || [https://image_os.hb.bizmrg.com/ubuntuServer/ubuntu-24.04.1-live-server-amd64.is...»)

Description of the Situation

This page describes the possibility of self-service offline installation of the SmartPlayer platform on Ubuntu and Astra operating systems.

Supported Versions

Supported Versions Table
Operating System OS Distribution Recommended for Installation
Ubuntu Server 24.04 LTS Link Yes
Ubuntu Server 22.04 LTS Link Yes
Ubuntu Server 18.04 LTS Link
Support for the 32-bit version ends with this version
Yes
Ubuntu Server 16.04 LTS Link 64-bit version
32-bit version
Yes
AstraLinux Orel Link Yes, for government institutions.
  • Distributor ID: AstraLinuxCE
  • Description: Astra Linux CE 2.12.43 (Orel)
  • Release: 2.12.43
  • Codename: orel

More Details

The SmartPlayer representative provides the following platform components. The archive versions may vary depending on the specific version being deployed in the example. Usually, the SmartPlayer representative provides the most up-to-date version at the time:

  • sp_docker_v_${current_version_docker}_bv_${current_version_backend}_fv_${current_version_frontend}.zip – an archive containing the SmartPlayer platform server application, Docker configuration files, and a pre-built personal account interface.
  • node_modules_${current_version_backend}.tar.gz – required libraries for the server part of the platform.
  • Conditions:
    1. If the host machine is Windows – node_modules should be built on Windows (x32 or x64).
    2. If the host machine is Linux – node_modules should be built on Linux.
    • unzip_6.0-21ubuntu1_amd64.deb – a package for extracting zip archives on the server. By default, Ubuntu Server includes the ".tar" archiver, which does not support extracting "zip" files. Files can be repackaged before uploading to the server, eliminating the need to install this package on the server.

    Установка Docker и Docker-compose

    В зависимости от операционной системы пользователь сам выбирает версию Docker и Docker-compose необходимую для установки на серверную операционную систему:

    -
    Ссылка на архив с docker / docker-compose Описание
    Ссылка Архив для оффлайн установки Docker для Ubuntu Server 24.04 LTS
    Ссылка Архив для оффлайн установки Docker для Ubuntu Server 22.04 LTS
    Ссылка Архив для оффлайн установки Docker для Ubuntu Server 18.04 LTS
    Ссылка Архив для оффлайн установки Docker для Ubuntu Server 16.04 LTS

    Алгоритм установки

    Из-за шрифтов в некоторых командах может казаться, что используются косые кавычки. Это не так, там используются одинарные кавычки.
    Заменить символ - "*" на актуальную версию файла в описанных командах

    Обязательно запросить нового пользователя у команды технической поддержки SmartPLayer. Для начала установки необходимо подключиться к серверу и загрузить все архивы на сервер в домашнюю директорию пользователя SmartPlayer. Для загрузки можно использовать утилиту "sftp" или другую, главное загрузить архивы на сервер. Далее6

    • Распаковать архив с Docker, и перейти в распакованную директорию:

    tar -zxvf docker-and-docker-compose*.tar.gz && cd docker-and-docker-compose*

    • Установить Docker и необходимых компонент:

    sudo ./install-docker-and-docker-compose-offline.sh

    • Опционально: чтобы вызывать 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", контейнеры используют разделитель в виде “_“):
    • echo 'docker compose --compatibility "$@"' > /bin/docker-compose
    • chmod +x /bin/docker-compose
  • Включить автозапуск Docker:
  • sudo systemctl enable docker

    • Распаковать архив в указанную директорию, в которую будет устанавливаться платформа. Символ "*" заменить на актуальную версию файла.

    unzip sp_docker_v_*.zip -d smartplayer

    • Распаковать архив в указанную директорию. Путь:"~/“директория приложения”/backend/app/".

    unzip node_module_bv_*.zip –d ~/smartplayer/backend/app/

    • Включить конфигурацию сервера с помощью команды:

    mv ~/smartplayer/backend/app/pm2.app.config.example.js ~/smartplayer/backend/app/pm2.app.config.js

    • Импортировать образы Docker:

    docker image load -i /home/smartplayer/smartplayer/tools/installer/docker_images_*.tar.gz

    • Проверить, что все образы загрузились:

    docker image ls Результат, описанный выше действий должен быть как на скриншоте ниже:

    Пример отображения
    • Опционально: если всё загрузилось успешно, то можно удалить архив с образами:

    rm docker_images_v3.3.1.tar.gz

    • Заполнить конфигурацию env:

    mv .env.example .env nano .env

    • Пользователю необходимо заполнить следующий поля:
    1. MYSQL_ROOT_PASSWORD, MYSQL_PASSWORD - пароли для подключения к MySQL (сгенерировать)
    2. CMS_URL - URL личного кабинета. Например, если сервер будет доступен по адресу: "http://192.168.56.101/cms", то указать этот адрес (без слеша на конце).
    3. APP_URL - URL серверного приложения. Например, если сервер будет доступен по адресу: "http://192.168.56.101", то указать этот адрес (без слеша на конце).
    4. MYSQL_BACKUP_DOCKER_CONTAINER - указать контейнер mysql, например: smartplayer_mysql_1
    5. MYSQL_BACKUP_STORAGE - указать тип бекапа mysql, например: local
    6. 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 адресе:

    cp nginx/conf_examples/one_domain/http/smartplayer.conf nginx/conf/ nano nginx/conf/smartplayer.conf

    Пример отображения настройки в которой личный кабинет и сервер на одном 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' Корректный вывод будет показан на примере ниже:

    Пример отображения корректного вывода