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

Сервис управления сигнальными светоколоннами (маяками) через HTTP-реле.
Поставляется как **Linux-бинарь amd64**.
Скачать: `https://pkg.whsoft.ru/lighthouse_api/<версия>/`.

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

```bash
curl -fsSL https://pkg.whsoft.ru/lighthouse_api/install.sh | sudo sh
sudo nano /etc/lighthouse_api/config.json      # Redis, реле и маяки
sudo systemctl restart lighthouse-api
curl http://127.0.0.1:8010/_ping               # → pong
```

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

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

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

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

```json
{
  "redis_url": "redis://127.0.0.1:6379",
  "api_host": "0.0.0.0",
  "api_port": 8010,
  "relay_auth_user": "admin",
  "relay_auth_pass": "change-me",
  "relay_http_timeout": 2,
  "clean_on_startup": true,
  "telemetry_enabled": true,
  "telemetry_url": "https://telemetry.whsoft.ru",
  "relays": [
    {
      "relay_ip": "192.168.1.60",
      "lighthouses": [
        { "id": "aisle-1", "colors": { "red": 0, "green": 1 }, "label": "Проход 1" }
      ]
    }
  ]
}
```

## Проверка
```bash
curl http://127.0.0.1:8010/_ping       # pong
curl http://127.0.0.1:8010/health      # Redis и реле
curl http://127.0.0.1:8010/lighthouses # состояние маяков
curl http://127.0.0.1:8010/relays      # состояние реле
curl http://127.0.0.1:8010/metrics     # Prometheus
curl http://127.0.0.1:8010/openapi.yaml
journalctl -u lighthouse-api -f
```

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

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

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

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