Offline installation of the SmartPlayer platform on Ubuntu / Astra operating systems
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
| 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.
|
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:
- If the server application uses NodeJS 8, download docker_images_v3.0.0.tar.gz
- If the server application uses NodeJS 16, download docker_images_v3.1.0.tar.gz
- If the server application uses NodeJS 18, download docker_images_v3.2.0.tar.gz
- If the server application uses NodeJS 20, download docker_images_v3.3.1.tar.gz
- If the host machine is Windows – node_modules should be built on Windows (x32 or x64).
- 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
Ответ будет зависеть полностью от операционной системы:

echo 'docker compose --compatibility "$@"' > /bin/docker-composechmod +x /bin/docker-compose
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
- Пользователю необходимо заполнить следующий поля:
- 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_DOCKER_CONTAINER - указать контейнер mysql, например: smartplayer_mysql_1
- 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":

- Включить автоматическое создание бэкапов базы данных 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

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