Оффлайн установка платформы SmartPlayer на операционный системы Ubuntu / Astra

Материал из SmartPlayer
Другие языки:

Описание ситуации

На странице будет описана информация о возможности самостоятельной off-line установки платформы SmartPlayer на операционные системы Ubuntu и Astra.

Поддерживаемые версии

Таблица поддерживаемых версий
Операционная система Дистрибутив операционной системы Рекомендуется для установки
Ubuntu Server 24.04 LTS Ссылка Да
Ubuntu Server 22.04 LTS Ссылка Да
Ubuntu Server 18.04 LTS Ссылка
С этой версии поддержка 32-битной версии заканчивается
Нет, не поддерживается
Ubuntu Server 16.04 LTS Ссылка 64-бит версия
32-бит версия
Нет, не поддерживается
AstraLinux Orel Ссылка Да, для государственных Органов.
  • Distributor ID: AstraLinuxCE
  • Description: Astra Linux CE 2.12.43 (Orel)
  • Release: 2.12.43
  • Codename: orel

Подробнее

Представитель SmartPlayer передает следующий состав платформы. Версии архивов могут отличаться, зависит от конкретной версии, которая разворачивается на примере. Обычно представитель SmartPlayer присылает актуальную версию для текущего момента:

  • Если используется серверное приложение использующее 8 NodeJS, то необходимо загрузить docker_images_v3.0.0.tar.gz
  • Если используется серверное приложение использующее 16 NodeJS, то необходимо загрузить docker_images_v3.1.0.tar.gz
  • Если используется серверное приложение использующее 18 NodeJS, то необходимо загрузить docker_images_v3.2.0.tar.gz
  • Если используется серверное приложение использующее 20 NodeJS, то необходимо загрузить docker_images_v3.3.1.tar.gz
  • 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 / docker-compose Описание
    Ссылка Архив для оффлайн установки Docker для Ubuntu Server 24.04 LTS
    Ссылка Архив для оффлайн установки Docker для Ubuntu Server 22.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

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

    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 адресе, используется протокол http:

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

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

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