Установка через Docker Compose
Способ по умолчанию. Установка полностью локальная: доступ в интернет и исходный код на сервере не требуются — все компоненты лежат в архиве поставки.
Все команды выполняются из распакованного каталога поставки.
1. Состав поставки
tetra-<версия>/
├── compose.yml конфигурация стека
├── .env.example шаблон настроек
├── README.md краткая версия этой инструкции
└── images/
├── tetra-backend-<версия>.tar сервер TETRA (панель SOC + приём событий)
└── postgres.tar СУБД PostgreSQL
Браузерное расширение в архив не входит: сервер скачивает его сам после активации лицензии — см. Раздача расширения.
2. Загрузить образы
docker load -i images/tetra-backend-<версия>.tar
docker load -i images/postgres.tar
3. Подготовить файл настроек
cp .env.example .env
chmod 600 .env
4. Сгенерировать секреты
openssl rand -hex 24 # -> POSTGRES_PASSWORD
openssl rand -hex 32 # -> TETRA_EVENTS_TOKEN
openssl rand -hex 32 # -> TETRA_SESSION_KEY
openssl rand -hex 32 # -> TETRA_CRX_SECRET_KEY
Впишите значения в .env. Ещё нужно указать TETRA_IMAGE_TAG — версию загруженного
образа (она же в имени файла в images/). Остальные параметры менять не нужно, назначение
каждого описано комментариями в самом файле; полный перечень —
Параметры конфигурации.
Учётную запись для входа задавать не требуется: оператор tetra создаётся при первом
запуске.
POSTGRES_PASSWORD— том с данными инициализируется этим паролем. Изменение после первого запуска приведёт к отказу подключения к базе.TETRA_CRX_SECRET_KEY— им зашифрован ключ подписи расширения. Его потеря означает новый ID расширения и повторную раздачу расширения на все рабочие станции. Храните значение вместе с резервными копиями базы, но не внутри них.
5. Запустить
docker compose up -d
Схема базы данных создаётся автоматически при первом старте — отдельного шага миграции не требуется.
6. Проверить
docker compose ps # оба контейнера в состоянии running/healthy
docker compose logs backend # в конце — "starting"
curl -i http://127.0.0.1:8443/ # ожидается HTTP 200
Дальше — публикация по HTTPS и первый вход.
Вариант: собственный сервер PostgreSQL
Если в организации есть свой кластер PostgreSQL со своими регламентами резервного копирования и отказоустойчивости, встроенную СУБД можно не поднимать.
-
Создайте базу и пользователя с правом создания таблиц в ней.
-
В
.envзакомментируйте строкуCOMPOSE_PROFILES=embedded-dbи укажите строку подключения:TETRA_DATABASE_URL=postgres://tetra:ПАРОЛЬ@postgres.example.local:5432/tetra?sslmode=require -
docker compose up -d— контейнер с базой не запустится, сервис подключится к вашему кластеру и создаст схему сам.
Поддерживается PostgreSQL 14 и выше.
Управление стеком
docker compose stop # остановить
docker compose start # запустить
docker compose ps # состояние контейнеров
docker compose logs -f --tail 100 backend
Логи пишутся в формате JSON, объём ограничен (5 файлов по 10 МБ на контейнер).
Дальше: обновление, резервное копирование.