Установка
Модели развёртывания
Метрика Про Энерго — единый исполняемый файл (Go, go:embed), включающий серверную часть и встроенное веб-приложение (SPA). Статическая компиляция (CGO_ENABLED=0) обеспечивает отсутствие внешних зависимостей.
Система поддерживает две модели развёртывания:
| Модель | Описание |
|---|---|
| Локальная (on-premise) | Бинарный файл на сервере заказчика. PostgreSQL устанавливается локально |
| Контейнерная (Docker) | Docker-образ (≤ 60 МБ, distroless). PostgreSQL в отдельном контейнере |
Системные требования
Аппаратные требования
| Параметр | Минимум | Рекомендуется |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 ГБ | 8 ГБ |
| Диск | 20 ГБ SSD | 50 ГБ SSD |
Программные требования
| Компонент | Версия |
|---|---|
| ОС (Linux) | Ubuntu 22.04 LTS / Debian 12 и выше |
| ОС (российские Linux) | Astra Linux SE 1.7+, РЕД ОС 7.3+, ОС Альт 10+ |
| ОС (Windows) | Windows Server 2019 и выше |
| PostgreSQL | 16 и выше (рекомендуется 18) |
| Браузер | Chrome 120+, Firefox 120+, Safari 17+, Яндекс.Браузер 24+ |
| Docker (контейнерная установка) | 24.0+ |
| Docker Compose (контейнерная установка) | 2.20+ |
Сетевые требования
| Назначение | Адрес | Порт | Протокол |
|---|---|---|---|
| Веб-интерфейс ПО | localhost (или IP сервера) | 8080 (настраиваемый) | HTTP/HTTPS |
| Сервер лицензирования | mylicense.app.metrica.pro | 443 | HTTPS (TLS 1.2/1.3) |
| PostgreSQL | localhost (или внешний хост) | 5432 | TCP |
Для активации и проверки лицензии необходимо исходящее подключение к серверу лицензирования (mylicense.app.metrica.pro, порт 443).
Установка из бинарного файла
Рекомендуемый способ установки для большинства сценариев.
Шаг 1. Загрузка и распаковка
Получите ссылку на скачивание от правообладателя (при покупке или по запросу на support@metrica.pro), скачайте архив и распакуйте:
# Create target directory and extract the archive
mkdir -p /opt/metrica-energo
tar -xzf metrica-energo-linux-amd64.tar.gz -C /opt/metrica-energo
Содержимое архива:
| Файл | Описание |
|---|---|
metrica-energo | Исполняемый файл (единый бинарный файл со встроенным SPA) |
.env.example | Пример файла переменных окружения |
README.txt | Краткая инструкция |
Шаг 2. Подготовка базы данных
Убедитесь, что PostgreSQL установлен и запущен:
sudo systemctl status postgresql
Создайте базу данных и пользователя:
sudo -u postgres psql
CREATE USER metrica WITH PASSWORD 'your_password';
CREATE DATABASE metrica_energo OWNER metrica;
\q
Шаг 3. Настройка переменных окружения
Скопируйте файл с примером и отредактируйте:
cd /opt/metrica-energo
cp .env.example .env
nano .env
Обязательные переменные:
| Переменная | Описание | Пример |
|---|---|---|
DATABASE_URL | Строка подключения к PostgreSQL | postgres://metrica:password@localhost:5432/metrica_energo?sslmode=disable |
HTTP_PORT | Порт веб-интерфейса | 8080 |
LICENSE_MASTER_KEY | Мастер-ключ шифрования лицензии | (генерируется при установке) |
Шаг 4. Запуск
Сделайте файл исполняемым и запустите:
chmod +x metrica-energo
./metrica-energo
При первом запуске система автоматически выполнит миграцию базы данных. В консоли появится:
INFO server started on :8080
INFO database migrated successfully
Откройте браузер и перейдите по адресу: http://localhost:8080
Шаг 5. Настройка systemd-службы
Для автоматического запуска при загрузке сервера создайте systemd-службу:
sudo nano /etc/systemd/system/metrica-energo.service
Содержимое файла:
[Unit]
Description=Metrica Pro Energo
After=network.target postgresql.service
[Service]
Type=simple
User=metrica
WorkingDirectory=/opt/metrica-energo
EnvironmentFile=/opt/metrica-energo/.env
ExecStart=/opt/metrica-energo/metrica-energo
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Активируйте службу:
# Reload systemd, enable and start the service
sudo systemctl daemon-reload
sudo systemctl enable metrica-energo
sudo systemctl start metrica-energo
Установка с использованием Docker
Шаг 1. Проверка Docker
Убедитесь, что Docker и Docker Compose установлены:
docker --version
docker compose version
Шаг 2. Создание docker-compose.yaml
Создайте файл docker-compose.yaml:
services:
app:
image: registry.metrica.pro/metrica-energo:1.0
ports:
- "8080:8080"
environment:
- DATABASE_URL=postgres://metrica:password@db:5432/metrica_energo?sslmode=disable
- HTTP_PORT=8080
- LICENSE_MASTER_KEY=your_master_key
depends_on:
db:
condition: service_healthy
restart: always
db:
image: postgres:18
environment:
- POSTGRES_USER=metrica
- POSTGRES_PASSWORD=password
- POSTGRES_DB=metrica_energo
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U metrica"]
interval: 5s
timeout: 5s
retries: 5
restart: always
volumes:
pgdata:
password и your_master_key на надёжные значения перед запуском в production.Шаг 3. Запуск
docker compose up -d
Дождитесь запуска контейнеров и откройте браузер: http://localhost:8080
Первый запуск и настройка
При первом переходе в веб-интерфейс:
- Откройте браузер и перейдите по адресу
http://localhost:8080(или IP-адрес сервера). - На экране появится страница авторизации.
- Войдите с учётными данными администратора, предоставленными при поставке.
- После входа система предложит сменить пароль.
- Перейдите в раздел «Настройки» для первоначальной конфигурации:
- Настройки организации (наименование, реквизиты)
- Создание учётных записей пользователей
- Добавление объектов учёта (регионы, подстанции, фидеры)
- Настройка подключений к УСПД и приборам учёта
Активация лицензии
При первом запуске система работает в режиме «Только чтение».
В большинстве случаев (~90%) UUID лицензии уже записан в персонализированную сборку — активация выполняется автоматически при наличии подключения к серверу лицензирования.
Если автоматическая активация не произошла, выполните ручную активацию через раздел «Настройки» → «Лицензирование». Введите UUID лицензии (код активации), полученный при покупке, и нажмите «Активировать».
Проверка работоспособности
После установки и активации убедитесь в корректной работе системы:
| Проверка | Действие | Ожидаемый результат |
|---|---|---|
| Веб-интерфейс | Открыть http://localhost:8080 | Страница авторизации |
| Авторизация | Ввести логин/пароль администратора | Главный дашборд |
| Лицензия | Настройки → Лицензирование | Статус «Активна» |
| Health-check | GET http://localhost:8080/healthz | Ответ 200 OK |
| Readiness | GET http://localhost:8080/readyz | Ответ 200 OK |
Удаление
Бинарная установка
# Stop and remove the systemd service
sudo systemctl stop metrica-energo
sudo systemctl disable metrica-energo
sudo rm /etc/systemd/system/metrica-energo.service
sudo systemctl daemon-reload
# Remove application files
sudo rm -rf /opt/metrica-energo
Docker-установка
# Stop containers and remove volumes
docker compose down -v