# Скопируй в .env и заполни: cp .env.example .env && chmod 600 .env # Значения со спецсимволами (| $ пробелы) — обязательно в двойных кавычках. # Файл читается и docker compose, и deploy.sh (bash), поэтому в паролях # избегай символов $ ` \ " — надёжнее всего [A-Za-z0-9_.-]. # === Обязательные =========================================================== # IP, на котором слушает весь стек: tailnet-IP (100.x.y.z) или публичный IP. # Наружу на 0.0.0.0 ничего не публикуется. BIND_IP=100.64.0.1 # Имя сервера — попадает лейблом server во все метрики и алерты SERVER_NAME=srv-1 # Пароль admin в Grafana GRAFANA_ADMIN_PASSWORD=changeme # === Basic auth для Prometheus / Alertmanager / node_exporter =============== # Пусто = без аутентификации (нормально для серверов, доступных только по tailnet). # Для серверов с публичным BIND_IP — задать обязательно. # Трей-клиент ходит в http://BIND_IP:9093/api/v2/alerts с этими же кредами. METRICS_USER=admin METRICS_PASSWORD= # === Telegram-уведомления =================================================== # Пусто = уведомления отключены (алерты видны в API/веб-интерфейсе Alertmanager) TG_BOT_TOKEN= TG_CHAT_ID= # === Что алертить =========================================================== # Контейнеры, которые обязаны работать (regex-подстроки имени, разделитель «|») CRITICAL_CONTAINERS="authentik|forgejo" # systemd-юниты, которые обязаны быть active (разделитель «|») CRITICAL_UNITS="headscale.service" # === Порты (на BIND_IP) ===================================================== NODE_EXPORTER_PORT=9100 PROMETHEUS_PORT=9090 ALERTMANAGER_PORT=9093 # 3001, чтобы не конфликтовать с forgejo на 3000 GRAFANA_PORT=3001