Оффлайн установка платформы SmartPlayer на операционный системы Ubuntu / Astra
Описание ситуации
На странице будет описана информация о возможности самостоятельной off-line установки платформы SmartPlayer на операционные системы Ubuntu и Astra.
Поддерживаемые версии
| Операционная система | Дистрибутив операционной системы | Рекомендуется для установки |
|---|---|---|
| Ubuntu Server 24.04 LTS | Ссылка | Да |
| Ubuntu Server 22.04 LTS | Ссылка | Да |
| AstraLinux Orel | Ссылка | Да, для государственных Органов.
|
Подробнее
Представитель SmartPlayer передает следующий состав платформы. Версии архивов могут отличаться, зависит от конкретной версии, которая разворачивается на примере. Обычно представитель SmartPlayer присылает актуальную версию для текущего момента:
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 / docker-compose | Описание |
|---|---|
| Ссылка | Архив для оффлайн установки Docker для Ubuntu Server 24.04 LTS |
| Ссылка | Архив для оффлайн установки Docker для Ubuntu Server 22.04 LTS |
Алгоритм установки
Обязательно запросить нового пользователя у команды технической поддержки SmartPLayer.
Создать пользователя SmartPlayer, без root-прав, после установки серверного приложения, необходимо запретить авторизацию под данным пользователем.
Для продолжения установки необходимо подключиться к серверу и загрузить все архивы на сервер в домашнюю директорию пользователя SmartPlayer. Для загрузки можно использовать утилиту "sftp" или другую, главное загрузить архивы на сервер.
Рекомендуется использовать для установки наш offline-архив. Однако бывают случаи, когда требуется установка из репозитория заказчика. Далее описаны оба варианта:
- Распаковать архив с Docker, и перейти в распакованную директорию:
tar -zxvf docker-and-docker-compose*.tar.gz && cd docker-and-docker-compose*
- Установить Docker и необходимых компонент:
sudo ./install-docker-and-docker-compose-offline.sh
- Обновить списки пакетов:
apt update
- Установить пакеты docker и docker compose:
apt install docker.io docker-compose-v2
- Опционально: чтобы вызывать docker без sudo, добавить пользователя в группу docker:
sudo usermod -aG docker $USER
- Добавляем пользователя SmartPlayer в группу docker:
sudo usermod -aG docker smartplayer
Проделав вышеописанные действия пользователю необходимо отключиться от сервера и подключиться снова.
- Проверить работоспособность Docker и Docker Compose :
docker --version
- Ответ зависит от операционной системы куда устанавливается docker
docker-compose --version
Ответ будет зависеть полностью от операционной системы:

sudo echo 'docker compose --compatibility "$@"' > /bin/docker-composesudo chmod +x /bin/docker-compose
sudo systemctl enable docker
Установка серверного приложения
- Распаковать архив в указанную директорию, в которую будет устанавливаться платформа. Символ "*" заменить на актуальную версию файла.
unzip sp_docker_v_*.zip -d smartplayer
- Импортировать образы Docker(потребуется подождать пока не перезагрузятся образы):
docker image load -i /home/smartplayer/smartplayer/tools/installer/docker_images_*.tar.gz
- Проверить, что все образы загрузились:
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
После этих действий повторно загрузить образы.
- Опционально: если всё загрузилось успешно, то можно удалить архив с образами:
rm docker_images_*.tar.gz
- Переназначить права для директории серверного приложения:
sudo chown -R smartplayer:smartplayer /home/smartplayer/smartplayer
- Зайти под пользователем SmartPlayer и дальнейшие действия выполнять этой учетной записью:
sudo su smartplayer
- Перейти в каталог серверного приложения:
cd /home/smartplayer/smartplayer
- Заполнить конфигурацию env:
mv .env.example .env
nano .env
- Пользователю необходимо заполнить следующий поля:
- MYSQL_ROOT_PASSWORD, MYSQL_PASSWORD - пароли для подключения к MySQL (сгенерировать)
- CMS_URL - URL личного кабинета. Например, если сервер будет доступен по адресу: "http://192.168.56.101/cms", то указать этот адрес (без слеша на конце).
- APP_URL - URL серверного приложения. Например, если сервер будет доступен по адресу: "http://192.168.56.101", то указать этот адрес (без слеша на конце).
Сохранить конфигурацию и выйти. (ctrl+S, ctrl+X)

- При использовании https добавить цепочку сертификатов и приватный ключ с именами ssl.crt и ssl_private.key в директорию /home/smartplayer/smartplayer/nginx/ssl/
- Запустить приложения и подождать 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'
Если при создании пользователя выходит ошибка, необходимо повторить предыдущий шаг и создать таблицы БД.
- Проверка работы серверного приложения, командой:
docker exec -it smartplayer_backend_1 sh -c 'pm2 list'
Корректный вывод будет показан на примере ниже:

- Включить автоматическое создание бэкапов БД MySQL(данную команду необходимо выполнять из под пользователя smartplayer):
./mysql_backup/init_auto_backups.sh
- Для проверки бэкапов My SQL используем команду:
./mysql_backup/mysql_backup.sh
- В дальнейшем серверное приложение будет доступно в браузере по адресу, указанному в переменной CMS_URL