Сервер SmartESP VEGA

Cервер SmartESP VEGA имеет два варианта: облачный — Подготовленный (Enterprise) и локальный — Собственный (Local). 

Подготовленный вариант не требует от Вас сложных действий, он уже устанавлен на нашем сервере и готов к использованию. 

Если же Вы выбираете вариант Собственного (локального) сервера, то в этом случае, Вам потребуется отдельный компьютер на который установливается сервер SmartESP VEGA с помощью технологии docker-контейнера: docker:/smartesp/smartesp-vega

Сервер SmartESP VEGA доступен бесплатно! Однако, для получения уведомлений от проектов и удаленного обновления микропрограммы контроллеров потребуется его регистрация.

Предположим, что у Вас уже есть локальный сервер на котором установлена ОС семейства Linux, например можно использовать Ubuntu 20.04 LTS

  1. Подготовка директорий:
    • Создайте новую директорию по пути /var/smartesp, которая станет основной для проекта: 
      $ mkdir /var/smartesp
    • Создайте директорию db внутри /var/smartesp для базы данных:
      $ mkdir /var/smartesp/db
  2. Настройка конфигурационных файлов:
    • Перейдите в рабочую директорию проекта:
      $ cd /var/smartesp
    • Создайте и отредактируйте файл config.ini со следующим содержимым (Вы можете использовать команду: nano config.ini):
      ; Code page
      CHARSET = "UTF-8"
      ; Database
      DB_HOST_NAME = "db"
      DB_NAME = "smartesp_db"
      DB_USER_NAME = "smartesp_user"
      DB_USER_PASS = "smartesp_pass"
      ; Secret key to restrict calling of the special cron-scripts
      MASTER_KEY = "master_key"
      ; User registration secret key (allow all if empty)
      REGISTER_KEY = ""
      ; Log retention period with full report, days
      SAVE_LOG_PERIOD = 2
      ; Retention period for the summarized report archive, days
      SAVE_ARCHIVE_PERIOD = 1000
    • Создайте и отредактируйте файл docker-compose.yml со следующим содержимым (Вы можете использовать команду: nano docker-compose.yml):
      version: '3'
      services:
        db:
          image: mysql:5.7
          environment:
            MYSQL_ROOT_PASSWORD: mysql_passkey
            MYSQL_DATABASE: smartesp_db
            MYSQL_USER: smartesp_user
            MYSQL_PASSWORD: smartesp_pass
          volumes:
            - /var/smartesp/db:/var/lib/mysql
          restart: always
        web:
          depends_on:
            - db
          image: smartesp/smartesp-vega:stable
          volumes:
            - /var/smartesp/config.ini:/var/www/html/config.ini
          ports:       - 80:80
          restart: always
  3. Установка и запуск контейнера:
    • Убедитесь, что у Вас установлены Docker Engine и Docker Compose
    • Скачайте докер-образ сервера SmartESP VEGA:
      $ docker pull smartesp/smartesp-vega:stable
    • Запустите ваш докер-контейнер и связанные с ним сервисы в фоновом режиме:
      $ docker-compose up -d
  4. Настройка планировщика задач. Откройте крон-таблицу текущего пользователя командой:
    $ crontab -e
    и добавьте следующие задания:
    3 0 * * * /usr/bin/wget -O /dev/null -T 10 -t 1 http://192.168.XXX.XXX/cron/service/master_key/
    * * * * *  /usr/bin/wget -O /dev/null -T 59 -t 1 http://192.168.XXX.XXX/cron/auto/master_key/
    192.168.XXX.XXX — это IP-адрес Вашего сервера в локальной сети.

В случае, если необходимо остановить и обновить или перезапустить контейнер, то это можно сделать следующим образом:
$ docker-compose down
$ docker pull smartesp/smartesp-vega:stable
$ docker-compose up -d

Внимание! После запуска контейнера, требуется некоторое время для создания базы данных, поэтому при открытии сайта, может появляться ошибка Connection refused