Установка

Установка Метрика Про Энерго из бинарного файла или Docker-контейнера.

Модели развёртывания

Метрика Про Энерго — единый исполняемый файл (Go, go:embed), включающий серверную часть и встроенное веб-приложение (SPA). Статическая компиляция (CGO_ENABLED=0) обеспечивает отсутствие внешних зависимостей.

Система поддерживает две модели развёртывания:

МодельОписание
Локальная (on-premise)Бинарный файл на сервере заказчика. PostgreSQL устанавливается локально
Контейнерная (Docker)Docker-образ (≤ 60 МБ, distroless). PostgreSQL в отдельном контейнере

Системные требования

Аппаратные требования

ПараметрМинимумРекомендуется
CPU2 vCPU4 vCPU
RAM4 ГБ8 ГБ
Диск20 ГБ SSD50 ГБ SSD

Программные требования

КомпонентВерсия
ОС (Linux)Ubuntu 22.04 LTS / Debian 12 и выше
ОС (российские Linux)Astra Linux SE 1.7+, РЕД ОС 7.3+, ОС Альт 10+
ОС (Windows)Windows Server 2019 и выше
PostgreSQL16 и выше (рекомендуется 18)
БраузерChrome 120+, Firefox 120+, Safari 17+, Яндекс.Браузер 24+
Docker (контейнерная установка)24.0+
Docker Compose (контейнерная установка)2.20+
ПО совместимо с российскими ОС, включёнными в Единый реестр российских программ: Astra Linux Special Edition (реестр №369), РЕД ОС (реестр №3751), ОС Альт (реестр №1541).

Сетевые требования

НазначениеАдресПортПротокол
Веб-интерфейс ПОlocalhost (или IP сервера)8080 (настраиваемый)HTTP/HTTPS
Сервер лицензированияmylicense.app.metrica.pro443HTTPS (TLS 1.2/1.3)
PostgreSQLlocalhost (или внешний хост)5432TCP

Для активации и проверки лицензии необходимо исходящее подключение к серверу лицензирования (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Строка подключения к PostgreSQLpostgres://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

Первый запуск и настройка

При первом переходе в веб-интерфейс:

  1. Откройте браузер и перейдите по адресу http://localhost:8080 (или IP-адрес сервера).
  2. На экране появится страница авторизации.
  3. Войдите с учётными данными администратора, предоставленными при поставке.
  4. После входа система предложит сменить пароль.
  5. Перейдите в раздел «Настройки» для первоначальной конфигурации:
    • Настройки организации (наименование, реквизиты)
    • Создание учётных записей пользователей
    • Добавление объектов учёта (регионы, подстанции, фидеры)
    • Настройка подключений к УСПД и приборам учёта

Активация лицензии

При первом запуске система работает в режиме «Только чтение».

В большинстве случаев (~90%) UUID лицензии уже записан в персонализированную сборку — активация выполняется автоматически при наличии подключения к серверу лицензирования.

Если автоматическая активация не произошла, выполните ручную активацию через раздел «Настройки» → «Лицензирование». Введите UUID лицензии (код активации), полученный при покупке, и нажмите «Активировать».

Проверка работоспособности

После установки и активации убедитесь в корректной работе системы:

ПроверкаДействиеОжидаемый результат
Веб-интерфейсОткрыть http://localhost:8080Страница авторизации
АвторизацияВвести логин/пароль администратораГлавный дашборд
ЛицензияНастройки → ЛицензированиеСтатус «Активна»
Health-checkGET http://localhost:8080/healthzОтвет 200 OK
ReadinessGET 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
При необходимости сохранения данных создайте резервную копию базы данных перед удалением.