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

Материал из SmartPlayer

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

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