Два образи замість пʼяти: серверні команди їдуть з одного модуля й мусять ходити в схему БД однією версією, а зонд лишається окремо — у чужій мережі йому не місце з DSN і ключами шифрування. Стек піднімає БД, кеш, міграції, API, колектор і Caddy з автоматичним TLS. Міграції окремою службою, бо API піднімається в кількох примірниках і гонка за схему нікому не потрібна. deploy/README.md описує бекап як три речі: дамп, DEK і JWT-ключ. Без DEK дамп не відновлюється — у БД лише шифротекст. Дорогою виправлено .gitignore: голі "netpulse-agent" і "netpulse-server" ігнорували ще й каталоги cmd/ з кодом команд. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
49 lines
2.2 KiB
Text
49 lines
2.2 KiB
Text
# Приклад оточення для docker compose. Скопіювати в .env у корені
|
||
# репозиторію й заповнити. Файл .env у git не потрапляє.
|
||
|
||
# Домен, на який дивиться A-запис. Caddy візьме під нього сертифікат.
|
||
NETPULSE_DOMAIN=netpulse.example.com
|
||
|
||
# Пошта для Let's Encrypt: на неї приходять листи про проблеми з
|
||
# продовженням сертифіката. Порожньо — ACME без контакту.
|
||
ACME_EMAIL=admin@example.com
|
||
|
||
# Пароль ролі netpulse у PostgreSQL.
|
||
# openssl rand -base64 24
|
||
POSTGRES_PASSWORD=
|
||
|
||
# Ключ шифрування секретів (паролі SSH, SNMP-community).
|
||
# Формат: <id>=<32 байти hex>. Id потрібен для зміни ключа: старий
|
||
# лишається в списку, щоб розшифрувати вже записане.
|
||
# echo "np1=$(openssl rand -hex 32)"
|
||
#
|
||
# ВТРАТА ЦЬОГО КЛЮЧА — ВТРАТА ВСІХ ЗБЕРЕЖЕНИХ ПАРОЛІВ. Бекап бази без
|
||
# нього не відновлюється: у БД лежить лише шифротекст.
|
||
NETPULSE_DEK=
|
||
|
||
# Ключ підпису сесійних токенів, не менше 32 байтів.
|
||
# openssl rand -base64 48
|
||
NETPULSE_JWT_SECRET=
|
||
|
||
# --- необовʼязкове ---------------------------------------------------
|
||
|
||
# Часовий пояс: у ньому рахуються розклади бекапів і вікна тиші.
|
||
TZ=Europe/Kyiv
|
||
|
||
# Як часто перевіряються правила сповіщень.
|
||
NETPULSE_ALERT_INTERVAL=30s
|
||
|
||
# debug|info|warn|error
|
||
NETPULSE_LOG_LEVEL=info
|
||
|
||
# Розмір shared_buffers PostgreSQL. Орієнтир — чверть памʼяті хоста.
|
||
PG_SHARED_BUFFERS=512MB
|
||
|
||
# Версія для тегів образів і рядка -version у бінарниках.
|
||
NETPULSE_VERSION=dev
|
||
NETPULSE_COMMIT=none
|
||
|
||
# Запрошення для локального зонда (профіль agent). Береться в
|
||
# інтерфейсі: Зонди → Додати зонд.
|
||
NETPULSE_ENROLL=
|
||
NETPULSE_AGENT_NAME=локальний зонд
|