# rid_api — установка (Linux)

Сервис управления LED-дисплеями по Modbus TCP. Поставляется как
**Linux-бинарь amd64**. Скачать: `https://pkg.whsoft.ru/rid_api/<версия>/`.

## Быстрый старт

```bash
curl -fsSL https://pkg.whsoft.ru/rid_api/install.sh | sudo sh
sudo nano /etc/rid_api/config.json      # Redis и дисплеи
sudo systemctl restart rid-api
curl http://127.0.0.1:8000/_ping        # → pong
```

Установщик проверяет SHA256 (и minisign, если установлен), создаёт пользователя
`rid`, каталоги `/opt/rid_api`, `/etc/rid_api`, `/var/lib/rid_api`, ставит
systemd-unit и проверяет Redis.

Версию можно закрепить: `sudo RID_VERSION=3.0 sh install.sh`.
Не запускать сервис: `sudo RID_NO_START=1 sh install.sh`.

## Требования
- Linux x86_64.
- **Redis 7+** — состояние, подписки и история.
- Дисплеи, доступные по TCP (Modbus, порт 502).

## Конфигурация
`/etc/rid_api/config.json` (по умолчанию). Путь переопределяется `APP_CONFIG`
или флагом `-config`.

```json
{
  "redis_url": "redis://127.0.0.1:6379",
  "api_host": "0.0.0.0",
  "api_port": 8000,
  "clean_displays_on_startup": true,
  "telemetry_enabled": true,
  "telemetry_url": "https://telemetry.whsoft.ru",
  "displays": [
    { "display_ip": "192.168.1.50", "display_port": 502 }
  ]
}
```

## Проверка
```bash
curl http://127.0.0.1:8000/_ping       # pong
curl http://127.0.0.1:8000/health      # Redis и дисплеи
curl http://127.0.0.1:8000/displays    # список дисплеев
curl http://127.0.0.1:8000/dashboard   # сводка
curl http://127.0.0.1:8000/metrics     # Prometheus
journalctl -u rid-api -f
```

## Обновление
Повторно запустите установщик — конфиг и состояние сохраняются:
```bash
curl -fsSL https://pkg.whsoft.ru/rid_api/install.sh | sudo sh
```

## Телеметрия
Сервис отправляет обезличенную телеметрию (версия, ОС, число дисплеев,
счётчики использования и базовая надёжность) на `telemetry.whsoft.ru`.
IP-адреса, данные оборудования и содержимое экранов не передаются.

Отключить: снять галочку **«Отправлять обезличенную телеметрию»** в разделе
«О приложении» или задать `TELEMETRY=0`.
Состояние: `/var/lib/rid_api/telemetry.json`.

## Поддержка
Вопросы и сопровождение — `support@whsoft.ru`.
