Установка Termidesk Connect Manager
Автоматизированная установка
Установка Termidesk Connect Manager выполняется через скрипт termidesk-cm.sh.
Скрипт находится в корне архива и продублирован в каталоге deploy/. Он предназначен для установки, обновления, удаления, создания резервной копии и восстановления системы управления в текущей Docker-архитектуре.
| Использовать скрипт рекомендуется для пилотного стенда. Скрипт фиксирует последовательность запуска Docker-контейнеров, создает Docker-тома, устанавливает зависимости веб-интерфейса, собирает серверную часть, а также выполняет создание и восстановление резервных копий данных с помощью одной команды. |
Требования для установки Termidesk Connect Manager:
-
Linux-сервер семейства Debian/Ubuntu или совместимый сервер с Docker;
-
права доступа
rootилиsudo; -
установленные пакеты:
docker.io,unzip,curl(для ручной диагностики рекомендуется установкаnetcatиpsql-клиента). -
стабильный сетевой доступ к внешним репозиториям
registry.npmjs.orgиDocker Hub, если Docker-образы и npm-зависимости отсутствуют в локальном кэше.
Для проверки Docker выполнить команды:
apt update
apt install -y docker.io unzip curl
systemctl enable --now docker
docker ps
Распаковка архива
Пример команд для распаковки архива:
cd /home/ast
rm -rf TCM02
mkdir TCM02
cd TCM02
unzip /home/ast/termidesk-connect-manager-0.2.zip
|
Если после распаковки появилась вложенная папка, выполнить команду:
|
Выполнить команду:
chmod +x ./termidesk-cm.sh
Настройка переменных окружения
При первом запуске скрипт создает файл /etc/termidesk-cm/termidesk-cm.env. Значения возможно подготовить заранее, чтобы явно указать IP-адрес Termidesk Connect Manager, порты и учетные данные PostgreSQL.
Пример команд для создания конфигурации:
mkdir -p /etc/termidesk-cm
cat > /etc/termidesk-cm/termidesk-cm.env <<'EOF'
TCM_MANAGER_IP=192.0.2.11
TCM_FRONTEND_PORT=5173
TCM_BACKEND_PORT=8000
TCM_SYSLOG_PORT=514
TCM_POSTGRES_DB=tcm
TCM_POSTGRES_USER=tcm
TCM_POSTGRES_PASSWORD=tcm
TCM_OPENBAO_TOKEN=tcm-root
TCM_DATABASE_URL=postgresql://tcm:tcm@tcm-postgres:5432/tcm
VITE_API_URL=http://192.0.2.11:8000
EOF
chmod 600 /etc/termidesk-cm/termidesk-cm.env
где:
-
TCM_MANAGER_IP– IP-адрес сервера Termidesk Connect Manager, доступный администраторам и устройствам Termidesk Connect; -
TCM_FRONTEND_PORT– внешний порт веб-интерфейса (по умолчанию –5173); -
TCM_BACKEND_PORT– внешний порт API серверной части (по умолчанию –8000); -
TCM_SYSLOG_PORT– порт приема syslog (по умолчанию –514по протоколу TCP или UDP); -
TCM_POSTGRES_DB,USER,PASSWORD– параметры PostgreSQL. Для промышленной эксплуатации (production) пароль необходимо заменить; -
TCM_OPENBAO_TOKEN– Root-токен демо-версии (dev) OpenBao. Для промышленной эксплуатации (production) необходим отдельный безопасный режим OpenBao; -
TCM_DATABASE_URL– Строка подключения серверной части к PostgreSQL; -
VITE_API_URL– URL-адрес API серверной части, который использует веб-интерфейс.
Адреса (TCM_MANAGER_IP и VITE_API_URL) необходимо заменить на актуальные для использования в промышленном контуре.
|
Первоначальная установка
Для установки системы выполнить команду:
sudo ./termidesk-cm.sh install
После успешного выполнения команды должны быть запущены контейнеры tcm-postgres, tcm-openbao, tcm-backend и tcm-frontend. Скрипт отобразит сетевой адрес веб-интерфейса и Swagger.
Для проверки работоспособности выполнить команды:
sudo ./termidesk-cm.sh status
curl http://127.0.0.1:8000/health
Установка с восстановлением из резервной копии
Для установки системы с восстановлением из резервной копии выполнить команды:
sudo ./termidesk-cm.sh install --restore <путь_к_архиву>
Пример указания пути к архиву: /var/backups/termidesk-cm/termidesk-cm-backup-YYYYMMDD-HHMMSS.tar.gz.
Скрипт установит Termidesk Connect Manager, далее восстановит дампы PostgreSQL и содержимое Docker-тома tcm-data, после чего повторно запустит серверную часть и веб-интерфейс.
Примеры команд скрипта
Примеры команд скрипта представлены в таблице (см. таблицу Примеры команд скрипта).
| Команда | Описание |
|---|---|
|
Первоначальная установка или повторный запуск после подготовки окружения |
|
Установка с восстановлением данных из резервной копии |
|
Обновление кода из текущего каталога, пересборка серверной части и перезапуск веб-интерфейса |
|
Создание резервной копии PostgreSQL и |
|
Создание резервной копии в указанное место |
|
Восстановление PostgreSQL и После этого выполнить команды |
|
Удаление Docker-контейнеров без удаления Docker-томов и директории установки |
|
Полное удаление Docker-контейнеров, Docker-томов, Docker-сети и каталога установки |
|
Состояние Docker-контейнеров |
|
Просмотр логов серверной части. Также для просмотра доступны компоненты |
Ручная установка
Ручной способ установки используется в тех случаях, когда требуется контролировать каждый контейнер отдельно, адаптировать запуск под существующую инфраструктуру или отладить проблему установки.
Для установки необходимо выполнить шаги, представленные ниже.
Распаковка и подготовка
Пример команд для распаковки архива:
cd /home/ast
rm -rf TCM02
mkdir TCM02
cd TCM02
unzip /home/ast/termidesk-connect-manager-0.2.zip
Перейти в каталог, где находятся директории backend/ и frontend/. Для просмотра списка всех папок выполнить команду:
ls -la
Создание Docker-сети и Docker-томов
Для создания Docker-сети и Docker-томов выполнить команды:
docker network create tcm-net 2>/dev/null || true
docker volume create tcm-postgres
docker volume create tcm-data
Запуск PostgreSQL
Для запуска PostgreSQL выполнить команды:
docker rm -f tcm-postgres 2>/dev/null || true
docker run -d --name tcm-postgres --network tcm-net --restart unless-stopped -e POSTGRES_DB=tcm -e POSTGRES_USER=tcm -e POSTGRES_PASSWORD=tcm -v tcm-postgres:/var/lib/postgresql/data -p 5432:5432 postgres:16-alpine
docker exec -it tcm-postgres pg_isready -U tcm -d tcm
Запуск OpenBao
Для запуска OpenBao выполнить команды:
docker rm -f tcm-openbao 2>/dev/null || true
docker run -d --name tcm-openbao --network tcm-net --restart unless-stopped -e BAO_DEV_ROOT_TOKEN_ID=tcm-root -e BAO_DEV_LISTEN_ADDRESS=0.0.0.0:8200 -p 8200:8200 openbao/openbao:latest server -dev
curl http://127.0.0.1:8200/v1/sys/health
Сборка и запуск серверной части
Пример команд для сборки и запуска серверной части:
docker rm -f tcm-backend 2>/dev/null || true
docker build -t tcm-backend ./backend
docker run -d --name tcm-backend --network tcm-net --restart unless-stopped -e TCM_DATABASE_URL=postgresql://tcm:tcm@tcm-postgres:5432/tcm -e TCM_DATA_PATH=/app/data -e TCM_MANAGER_IP=192.0.2.11 -e TCM_SYSLOG_HOST=0.0.0.0 -e TCM_SYSLOG_PORT=514 -e TCM_MOCK_MODE=false -v tcm-data:/app/data -p 8000:8000 -p 514:514/tcp -p 514:514/udp tcm-backend
curl http://127.0.0.1:8000/health
docker logs --tail=100 tcm-backend
IP-адрес для TCM_MANAGER_IP необходимо заменить на актуальный для использования в промышленном контуре.
|
Подготовка и запуск веб-интерфейса
Пример команд для подготовки и запуска веб-интерфейса:
docker rm -f tcm-frontend 2>/dev/null || true
docker run --rm -it -w /app -v "$PWD/frontend:/app" node:22-slim sh -lc 'rm -rf node_modules package-lock.json && npm install --include=dev --no-audit --no-fund --registry=https://registry.npmjs.org'
docker run -d --name tcm-frontend --network tcm-net --restart unless-stopped -w /app -e VITE_API_URL=http://192.0.2.11:8000 -v "$PWD/frontend:/app" -p 5173:5173 node:22-slim sh -c 'npm run dev -- --host 0.0.0.0 --port 5173'
curl -v http://127.0.0.1:5173
URL-адрес для VITE_API_URL необходимо заменить на актуальный для использования в промышленном контуре.
|
Первый вход в систему
Веб-интерфейс доступен по адресу http://<IP-адрес_системы>:5173. Swagger доступен по адресу http://<IP-адрес_системы>:8000/docs. Для новой базы данных используется учетная запись tdroot и tdadmin.
|
После первого входа в систему необходимо:
|