4.4 KiB
4.4 KiB
Telemt Panel — установка (RU)
Один Docker-образ: git.shts.su/denozord/telemtPanel. Режим задаётся PANEL_MODE.
| Режим | Когда | Агент |
|---|---|---|
standalone |
Telemt на том же хосте | не нужен — панель ходит в Control API /v1 напрямую |
fleet |
Несколько нод | Go-агент на каждой ноде |
UI: ReUI PRO Frame. Previews: app-shell-12, auth-4, stats-12. Docs: frame, blocks.
Требования
- Docker 24+
- Telemt с включённым Control API (
[server.api]) для standalone - Открытый порт панели (8080) или Traefik
Быстрый старт: standalone (рекомендуется на Linux)
docker pull git.shts.su/denozord/telemtPanel:latest
docker run -d --name telemt-panel --network host \
-e PANEL_MODE=standalone \
-e TELEMT_API_URL=http://127.0.0.1:9091 \
-e JWT_SECRET="$(openssl rand -hex 32)" \
-e BOOTSTRAP_USERNAME=admin \
-e BOOTSTRAP_PASSWORD='change-me' \
-v /var/lib/telemt-panel:/data \
git.shts.su/denozord/telemtPanel:latest
Откройте http://127.0.0.1:8080, войдите admin / пароль из BOOTSTRAP_PASSWORD.
Compose:
cp .env.example .env # заполните JWT_SECRET и BOOTSTRAP_PASSWORD
docker compose up -d
Три сетевых рецепта (standalone)
network_mode: host(Linux, prod) — контейнер видит127.0.0.1хоста, где слушает Telemt.- Sidecar — Telemt и панель в одном compose-network;
TELEMT_API_URL=http://telemt:9091. - Docker Desktop —
extra_hosts: host.docker.internal:host-gateway,TELEMT_API_URL=http://host.docker.internal:9091. В whitelist Telemt разрешите IP контейнера или lab-only0.0.0.0/0.
Fleet
docker compose -f docker-compose.fleet.yml up -d
Обязательно:
PANEL_MODE=fleetPANEL_PUBLIC_URL— публичный URL панели (для enroll / install script)PANEL_ENCRYPTION_KEY,JWT_SECRET
В UI: Серверы → создать enrollment-токен → на ноде:
curl -fsSL https://panel.example.com/install-agent.sh | sudo bash -s -- \
--panel-url https://panel.example.com \
--token <TOKEN> \
--telemt-url http://127.0.0.1:9091
Бинарник агента: соберите apps/agent (go build -o telemt-panel-agent .) и положите в /usr/local/bin/telemt-panel-agent, либо опубликуйте в releases.
Traefik (prod)
См. deploy/docker-compose.traefik.yml и deploy/env.traefik.example. Каталог на сервере: /opt/telemt-panel.
Переменные окружения
| Переменная | Описание |
|---|---|
PANEL_MODE |
standalone | fleet |
TELEMT_API_URL |
Base URL Control API (standalone) |
TELEMT_AUTH_HEADER |
Опциональный Authorization к Telemt |
JWT_SECRET |
Секрет JWT операторов |
BOOTSTRAP_USERNAME / BOOTSTRAP_PASSWORD |
Первый admin при пустой БД |
PANEL_PUBLIC_URL |
Публичный URL (fleet) |
PANEL_ENCRYPTION_KEY |
Ключ для чувствительных данных (fleet) |
DATABASE_URL |
По умолчанию sqlite:/data/app.db |
SERVER_PORT |
По умолчанию 8080 |
Bootstrap без env (после старта):
docker exec -it telemt-panel node -e "console.log('use BOOTSTRAP_PASSWORD on first boot')"
# или локально: pnpm bootstrap-admin -- --username admin --password '...'
Telemt [server.api]
Включите Control API и whitelist IP панели. Документация API: Telemt Control API. Локальные заметки: docs/telemt-control-api.md.
Health
GET /health— панель + SQLiteGET /ready— в standalone также ping Telemt/v1/health
Скрипт установщика
chmod +x deploy/install.sh
./deploy/install.sh --mode standalone