...
A Shared Block | |||||
---|---|---|---|---|---|
| |||||
|
Оглавление | ||
---|---|---|
|
Требования к серверу
Для стабильной работы сервер должен отвечать следующим требованиям:
операционная система семейства Linux, поддерживающая docker (рекомендуется Ubuntu server 20 и новее);
объем оперативной памяти от 8 ГБ;
процессор, поддерживающий виртуализацию и имеющий от 4-х ядер;
от 40 ГБ свободного места на жестком диске;
наличие сетевого интерфейса 1 Гбит/с.
Получение привилегий sudo без дополнительного ввода пароля (опционально)
От имени непривилегированного пользователя необходимо выполнить команду:
...
Далее необходимо ввести пароль. После этого для выполнения команд с sudo или перехода в режим суперпользователя дополнительный ввод пароля не потребуется.
Установка docker и docker-compose
Установка docker
Наиболее простой и быстрый способ установки — воспользоваться скриптом с официального сайта :
Блок кода |
---|
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh |
Добавление непривилегированного пользователя в группу docker
Это позволит работать с docker без использования sudo:
...
После этого необходимо повторно авторизоваться в системе.
Установка docker-compose
Docker-compose — отдельный проект от docker, поэтому для получения свежей версии его нужно скачать с github:
Блок кода |
---|
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose |
Запуск ECCM
Файлы и конфигурация
Файлы, необходимые для запуска ECCM, нужно распаковать в директорию /opt/eccm :
Блок кода |
---|
docker-compose.yml .env data/postgres-eccm/postgresql.conf data/postgres-eccm/init-db/init-db.sql |
Переменные окружения
В файле .env находятся переменные, определяющие поведение проекта. В таблице 1 представлен перечень данных переменных.
...
Переменная | Значение по умолчанию | Описание |
---|---|---|
COMPOSE_PROJECT_NAME | eccm | Название проекта в docker-compose (используется для идентификации, в случае если на сервере запущено несколько проектов). |
ECCM_PROFILE | production | |
ECCM_TAG | 1.2 | |
ECCM_REGISTRY | hub.eltex-co.ru | Адрес docker-registry, с которого будет выполняться получение образов системы. Если используется локальное зеркало, то можно указать его адрес. |
ECCM_INTERNAL_SUBNETWORK | 172.18.0.0/24 | Внутренняя подсеть (используется для запуска контейнеров). |
ECCM_WEB_ADDRESS | yourserver.ru | Адрес, на котором будет работать web-интерфейс системы. |
ECCM_WEB_PORT | 80 | Порт для доступа к web-интерфейсу. |
ECCM_BACKBONE_ADDRESS | yourserver.ru | Адрес ECCM в сети управления устройствами. |
ECCM_TIMEZONE | Asia/Novosibirsk | Временной пояс, в котором работает система (указывается в соответствии с tz database, например Asia/Novosibirsk). |
ECCM_LOGLEVEL | 'INFO' | Уровень логирования в проекте. |
MAX_PARALLEL_TASKS | 4 | Количество одновременно выполняемых операций с устройствами. |
POSTGRES_USER | Параметр, позволяющий переопределить дефолтный логин для доступа к базе данных. | |
POSTGRES_PASSWORD | Параметр, позволяющий переопределить дефолтный пароль для доступа к базе данных. |
postgresql.conf
Файл содержит параметры, влияющие на производительность базы данных. Настройки по умолчанию достаточны для тестового запуска и поддержки около 100 устройств. Инструкции по изменению конфигурации можно найти на странице ECCM на сайте https://eltex-co.ru/ или в службе технической поддержки ELTEX.
init-db.sql
Скрипт для инициализации базы данных. Необходим при первом запуске системы, вносить изменения в него нельзя.
Примеры команд для запуска ECCM
Для запуска проекта нужно перейти в директорию с файлами и выполнить команду:
...
Блок кода |
---|
docker-compose down |
Scroll Pagebreak
Доступ к web-интерфейсу
Для подключения к web-интерфейсу ECCM нужно ввести в браузере следующий адрес:
...
Учетные данные, используемые по умолчанию: логин 'eccm', пароль 'eccm' .
Известные проблемы и методы решения
Ошибки, возникающие при запуске проекта
ERROR: Couldn't connect to Docker daemon at http+[docker://localhost](docker://localhost) - is it running?
...
Блок кода |
---|
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
...