...
A Shared Block | |||||
---|---|---|---|---|---|
| |||||
|
Оглавление | ||
---|---|---|
|
Требования к серверу
Для стабильной работы сервер должен отвечать следующим требованиям:
операционная система семейства Linux, поддерживающая docker (рекомендуется Ubuntu server 20 и новее);
объем оперативной памяти от 8 ГБ;
процессор, поддерживающий виртуализацию и имеющий от 4-х ядер;
от 40 ГБ свободного места на жестком диске;
наличие сетевого интерфейса 1 Гбит/с.
Получение привилегий sudo без дополнительного ввода пароля (опционально)
От имени непривилегированного пользователя необходимо выполнить команду:
...
Далее необходимо ввести пароль. После этого для выполнения команд с sudo или перехода в режим суперпользователя дополнительный ввод пароля не потребуется.
Установочный архив
Архив с необходимыми для запуска файлами можно скачать по FTP: ftp://ftp.eltex.org/eccm/eccm-1.4.tar.gz (логин: wifiguest
пароль: GuestWiFi
).
...
Блок кода |
---|
mkdir eccm sudo tar -xvf <название архива>.tar.gz eccm/ |
Установка docker и docker-compose
Наиболее простой и быстрый способ установки — перейти в директорию, в которую был распакован установочный архив, и воспользоваться скриптом compose-tools.sh, используя флаг --install
...
Блок кода |
---|
docker-compose version 1.29.2, build 5becea4 |
Scroll Pagebreak
Запуск ECCM
Файлы и конфигурация
Файлы, необходимые для запуска ECCM, находятся в директории, в которую вы распаковали установочный архив:
...
Примечание | ||||
---|---|---|---|---|
Для простейшего запуска системы ECCM необходимо прописать IP-адрес сервера в конфигурационные файлы:
|
Scroll Pagebreak
Переменные окружения
postgres/.env
В postgres/.env находятся переменные, определяющие поведение БД Postgres при запуске её в контейнере. Перечень переменных приведен в Таблице 1.
Таблица 1 — Переменные, определяющие поведение БД Postgres при запуске её в контейнере Якорь Table_1 Table_1
Переменная | Значение по умолчанию | Описание |
---|---|---|
COMPOSE_PROJECT_NAME | postgres | Название проекта в docker-compose (используется для идентификации, в случае если на сервере запущено несколько проектов). |
POSTGRES_USER | Параметр, позволяющий переопределить логин по умолчанию для доступа к базе данных. | |
POSTGRES_PASSWORD | Параметр, позволяющий переопределить пароль по умолчанию для доступа к базе данных. | |
POSTGRES_TIMEZONE | Asia/Novosibirsk | Временной пояс, в котором работает система (указывается в соответствии с tz database, например, Asia/Novosibirsk). |
postgresql.conf
Данный файл содержит параметры, влияющие на производительность базы данных. Настройки по умолчанию достаточны для тестового запуска и поддержки около 100 устройств. Инструкции по изменению конфигурации можно найти на странице ECCM на сайте https://eltex-co.ru/ или обратиться в службу технической поддержки ELTEX.
identity-provider/.env
В файле identity-provider/.env находятся переменные, определяющие поведение группы контейнеров, отвечающих за авторизацию пользователя в системе ECCM. Перечень переменных приведен в Таблице 2.
Таблица 2 — Переменные, определяющие поведение проекта Якорь Table_2 Table_2
Переменная | Значение по умолчанию | Описание |
---|---|---|
COMPOSE_PROJECT_NAME | eccm | Название проекта в docker-compose (используется для идентификации, в случае если на сервере запущено несколько проектов). |
ECCM_PROFILE | production | |
IDENTITY_PROVIDER_TAG | 1.4 | |
IDENTITY_PROVIDER_REGISTRY | hub.eltex-co.ru | Адрес docker-registry, с которого будет выполняться получение образов системы. Если используется локальное зеркало, то можно указать его адрес. |
IDENTITY_PROVIDER_WEB_ADDRESS | yourserver.ru | Адрес, на котором будет работать сервис identity-provider. |
IDENTITY_PROVIDER_WEB_PORT | 9090 | Порт для доступа к сервису identity-provider. |
POSTGRES_HOST | 192.168.0.1 | Адрес, на котором работает БД Postgres. |
POSTGRES_PORT | 5432 | Порт для доступа к БД Postgres. |
POSTGRES_USER | Параметр, позволяющий переопределить логин по умолчанию для доступа к базе данных. | |
POSTGRES_PASSWORD | Параметр, позволяющий переопределить пароль по умолчанию для доступа к базе данных. |
eccm/.env
В файле eccm/.env находятся переменные, определяющие поведение проекта. Перечень переменных приведен в Таблице 3.
Таблица 3 — Переменные, определяющие поведение проекта Якорь Table_3 Table_3
Переменная | Значение по умолчанию | Описание |
---|---|---|
COMPOSE_PROJECT_NAME | eccm | Название проекта в docker-compose (используется для идентификации, в случае если на сервере запущено несколько проектов). |
ECCM_PROFILE | production | |
ECCM_TAG | 1.4 | |
ECCM_REGISTRY | hub.eltex-co.ru | Адрес docker-registry, с которого будет выполняться получение образов системы. Если используется локальное зеркало, то можно указать его адрес. |
ECCM_BACKBONE_ADDRESS | 192.168.0.1 | Внутренний адрес, на котором будет работать система ECCM с устройствами в сети. |
ECCM_WEB_ADDRESS | yourserver.ru | Адрес, на котором будет работать web-интерфейс системы ECCM. |
IDENTITY_PROVIDER_HOST | 192.168.0.1 | Внешний адрес сервиса identity-provider. |
IDENTITY_PROVIDER_PORT | 9090 | Порт для доступа к сервису identity-provider. |
ECCM_WEB_PORT | 80 | Порт для доступа к web-интерфейсу. |
ECCM_TIMEZONE | Asia/Novosibirsk | Временной пояс, в котором работает система (указывается в соответствии с tz database, например Asia/Novosibirsk). |
ECCM_LOGLEVEL | 'INFO' | Уровень логирования в проекте. |
MAX_PARALLEL_TASKS | 4 | Количество одновременно выполняемых операций с устройствами. |
ECCM_MONITORING_SERVER_MEM_HARD_LIMIT | 512M | Ограничение физической памяти для docker-контейнера. |
ECCM_MONITORING_WEB_MEM_HARD_LIMIT | 256M | Ограничение физической памяти для docker-контейнера. |
POSTGRES_HOST | 192.168.0.1 | Адрес, на котором работает БД Postgres. |
POSTGRES_PORT | 5432 | Порт для доступа к БД Postgres. |
POSTGRES_USER | Параметр, позволяющий переопределить логин по умолчанию для доступа к базе данных. | |
POSTGRES_PASSWORD | Параметр, позволяющий переопределить пароль по умолчанию для доступа к базе данных. | |
POSTGRES_SHM_SIZE | 4gb | Ограничение выделенной оперативной памяти для работы с БД Postgres. |
Примеры команд для запуска ECCM
Для запуска проекта нужно перейти в директорию с файлами установочного архива и выполнить команду:
...
Блок кода |
---|
sudo ./compose-tools.sh --logging DEBUG |
Доступ к web-интерфейсу
Для подключения к web-интерфейсу ECCM нужно ввести в браузере следующий адрес:
...
Учетные данные, используемые по умолчанию: логин 'eccm', пароль 'eccm'.
Известные проблемы и методы решения
Ошибки, возникающие при запуске проекта
ERROR: Couldn't connect to Docker daemon at http+[docker://localhost](docker://localhost) - is it running?
...
Блок кода |
---|
sudo docker network inspect $(docker network ls --filter "DRIVER=bridge" --format '{{ .Name }}') -f '{{ .Name }} {{ (index .IPAM.Config 0).Subnet }}' |
Ошибки, возникающие при остановке проекта
ERROR: error while removing network: network eccm_eltex-internal id 324bd72dd9c107cf2ea48effb75d9e7ad2dfbc8f5f7317b89cd7f318d61d5c4b has active endpoints
...