Установка платформы и служб

Установка IIoT Платформы — загрузка образов, настройка Docker, установка и проверка системы.

Загрузка установочных файлов

Установочные образы IIoT Платформы можно загрузить двумя способами.

Если у сервера нет доступа в интернет — например, из-за корпоративной политики безопасности — платформу можно установить автономно. Установочные образы переносятся на сервер с внешнего носителя.

Этапы установки

  • Скопируйте необходимый пакет данных

    Скопируйте установочный пакет на сервер (требуются права администратора):

    • Скопируйте загруженный архив unicloud.tgz и папку images (автономный установочный пакет с архивированными образами) в домашнюю папку пользователя. Архив также содержит конфигурационные файлы docker-compose.yml и .env (файл .env скрыт, поэтому включите отображение скрытых файлов).
    • images
      • vadtel-nginx-latest.tar.gz
      • vadtel-app-latest.tar.gz
      • anytelemetry-latest.tar.gz
      • pgbouncer-latest.tar.gz
      • vadteljsondaemon-latest.tar.gz
      • logrotate-latest.tar.gz
      • postgres-15.1-alpine.tar.gz
      • redis-6.0.16-alpine.tar.gz
      • vector-latest.tar.gz
    • Скопируйте конфигурационные файлы в /opt/vadtelnewweb/.

    • Задайте системные логины и пароли в файле .env:

  • Установите Docker и Docker Compose

    В дистрибутиве на базе CentOS

    Установите Docker и Docker Compose:

    bash
    sudo dnf install docker-ce docker-compose

    Запустите Docker и добавьте его в автозагрузку:

    bash
    sudo systemctl enable --now docker && systemctl start docker

    В дистрибутиве на базе Debian

    Установите Docker и Docker Compose:

    bash
    sudo apt update
    sudo apt install docker docker-compose
  • Установите систему

    Остальные шаги одинаковы во всех операционных системах. Добавьте пользователя, от имени которого будет запускаться приложение, в группу docker:

    bash
    sudo usermod -aG docker ${USER}

    Распакуйте архив unicloud.tgz в домашней папке пользователя:

    bash
    tar -xf unicloud.tgz
    • unicloud
      • run
        • db-unicloud
      • remote_install.sh
      • init-db
        • create_tables.sql
      • script_conf.sh
      • docker-compose.yml
      • logs
        • crontab
        • vadteljsondaemon
        • anytelemetry
      • backups
      • data
        • db-unicloud
      • local-images
        • pgbouncer.tar.gz
        • postgres.tar.gz
        • vadteljsondaemon.tar.gz
        • anytelemetry.tar.gz
        • logrotate.tar.gz
      • unicloud.service

    Откройте распакованную папку unicloud в домашней папке пользователя и запустите установочный скрипт:

    bash
    sudo ./remote_install.sh

    После установки пакета откройте /var/lib/unicloud с правами администратора и смените владельца и группу файла .env на текущего пользователя.

    Скрипт генерирует логин и пароль базы данных в /var/lib/unicloud/.env. Скопируйте эти значения в /opt/vadtelnewweb/.env:

    bash
    VADTEL_UNICLOUD_TEST_USERNAME=NEED_USERNAME
    
    VADTEL_UNICLOUD_TEST_PASSWORD=NEED_PASSWORD
  • Извлеките и загрузите образы

    Распакуйте файлы образов в ранее скопированной папке images:

    bash
    gunzip vadtel-nginx-latest.tar.gz
    gunzip vadtel-app-latest.tar.gz
    gunzip anytelemetry-latest.tar.gz
    gunzip pgbouncer-latest.tar.gz
    gunzip vadteljsondaemon-latest.tar.gz
    gunzip logrotate-latest.tar.gz
    gunzip postgres-15.1-alpine.tar.gz
    gunzip redis-6.0.16-alpine.tar.gz
    gunzip vector-latest.tar.gz

    Загрузите образы в Docker:

    bash
    docker load -i vadtel-nginx-latest.tar
    docker load -i vadtel-app-latest.tar
    docker load -i anytelemetry-latest.tar
    docker load -i pgbouncer-latest.tar
    docker load -i vadteljsondaemon-latest.tar
    docker load -i logrotate-latest.tar
    docker load -i postgres-15.1-alpine.tar
    docker load -i redis-6.0.16-alpine.tar
    docker load -i vector-latest.tar.gz

    Проверьте, что образы доступны:

    bash
    docker images

    В списке должны появиться все девять загруженных образов.

    Если образы загрузились без ошибок, выполните следующую команду из папки /var/lib/unicloud:

    bash
    docker-compose up -d

    Создайте каталог для приложения vadtelnewweb в /opt:

    bash
    sudo mkdir /opt/vadtelnewweb
    cd /opt/vadtelnewweb

    Затем скопируйте файлы docker-compose.yml и .env (если вы не скопировали их ранее при новой установке) в /opt/vadtelnewweb.

    При первом запуске создайте базу данных:

    bash
    docker-compose run app bundle exec rails db:create

    Теперь запустите приложение:

    bash
    docker-compose up -d
    Устранение неполадок

    Если после запуска приложение выдаёт следующую ошибку:

    bash
    network unicloud_unicloud-net declared as external, but could not be found

    значит, внешняя сеть не была создана при установке. Выполните первоначальную установку из архива unicloud.tar.tgz, как описано в разделе Установите систему, затем снова запустите приложение:

    bash
    docker-compose up -d

    Проверьте запущенные контейнеры:

    bash
    docker ps

    Все контейнеры должны быть в списке со статусом Up.

  • Проверьте систему

    После запуска приложения откройте в браузере IP-адрес сервера, на котором оно работает, чтобы убедиться, что система запущена:

    bash
    http://127.0.0.1/auth/users/sign_in
    Страница входа в IIoT Платформу с полями для электронной почты и пароля
    Страница входа в IIoT Платформу

    Адрес электронной почты и пароль для входа задаются в /opt/vadtelnewweb/.env:

    .env
    VADTEL_SUPER_ADMIN_EMAIL= (login)
    VADTEL_SUPER_ADMIN_PASSWORD= (password)

Дальнейшие шаги

Когда платформа установлена и работает, настройте её на чистое обновление и автоматический перезапуск вместе с сервером.

Связанные темы

Последнее обновление

Эта страница была полезной?