Files
netrunner-data/.env.example
T
nineap 414667062c
Deploy Observability / Deploy Observability Stack (push) Failing after 20s
Deploy / Deploy to Data VPS (push) Failing after 19s
Единый observability-стек: Prometheus + Loki + Grafana + Caddy auth-гейт
Отдельный от db+vaultwarden compose-файл (разный жизненный цикл, свой
deploy-workflow) — единственное место сбора для backend, лендинга и
каждой прокси-ноды, которые физически живут на других серверах.

Prometheus скрейпит наружу (сам ходит в /metrics на тех хостах — там
нужно только открыть порт метрик для IP этого VPS). Loki, наоборот,
принимает пуши логов ИЗВНЕ — порт 3100 публикуется наружу и обязательно
фильтруется firewall'ом по IP тех хостов.

Grafana не торчит в интернет напрямую (127.0.0.1-only) — единственный
вход через Caddy с forward_auth, гейтящим по cookie-сессии
netrunner-backend (GET /api/v1/admin/observability/check,
Owner/Moderator). 3 provisioned дашборда (backend/landing/прокси-ноды).

Список scrape-таргетов для прокси-нод (observability/targets/nodes.json)
генерится и заливается автоматически из netrunner-proxy при каждом
деплое нод — вручную ничего не поддерживается.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-09 23:22:11 +07:00

53 lines
3.0 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Скопировать в .env и заполнить реальными значениями. .env — в .gitignore,
# никогда не коммитить с настоящими секретами. На деплое (см.
# .github/workflows/deploy.yml) этот файл целиком собирается из GitHub Actions/
# Gitea Actions secrets прямо на VPS — локальный .env нужен только для
# ручного/dev-запуска.
# --- Postgres (свой контейнер `db` в этом compose — общий для Vaultwarden И
# netrunner-backend, см. шапку docker-compose.yml. Backend физически живёт на
# ДРУГОМ VPS и подключается сюда по сети через TLS, см. postgres/pg_hba.conf) ---
VW_DB_USER=vaultwarden
VW_DB_PASSWORD=CHANGE_ME_VW_DB_PASSWORD_openssl_rand_base64_24
VW_DB_NAME=vaultwarden
# Вторая база на этом же Postgres — под netrunner-backend (создаётся один раз
# при первой инициализации кластера через postgres/init-backend-db.sh).
BACKEND_DB_USER=netrunner_admin
BACKEND_DB_PASSWORD=CHANGE_ME_BACKEND_DB_PASSWORD_openssl_rand_base64_24
BACKEND_DB_NAME=netrunner
# --- Vaultwarden ---
VAULTWARDEN_DOMAIN=https://vault.netrunner-vpn.com
VAULTWARDEN_SIGNUPS_ALLOWED=false
VAULTWARDEN_ADMIN_TOKEN=CHANGE_ME_ADMIN_TOKEN_openssl_rand_hex_32
VAULTWARDEN_LOG_LEVEL=info
# --- SMTP (уведомления/2FA-письма) ---
SMTP_HOST=smtp.gmail.com
SMTP_FROM=CHANGE_ME@gmail.com
SMTP_PORT=465
SMTP_SECURITY=force_tls
SMTP_USERNAME=CHANGE_ME@gmail.com
# Пароль приложения Gmail (не обычный пароль аккаунта) — App Passwords в
# настройках безопасности Google-аккаунта, требует включённой 2FA.
SMTP_PASSWORD=CHANGE_ME_GMAIL_APP_PASSWORD
# --- Бэкапы Postgres (обе базы — Vaultwarden и netrunner-backend), см.
# scripts/backup.sh. Без RCLONE_REMOTE/RCLONE_CONFIG_CONTENT снимаются
# каждые BACKUP_INTERVAL_SEC и хранятся только локально в volume
# netrunner_db_backups на этом же VPS. ---
# BACKUP_INTERVAL_SEC=21600
# BACKUP_RETENTION_DAYS=14
# RCLONE_REMOTE=b2:netrunner-backups
# RCLONE_CONFIG_CONTENT содержимое rclone.conf одной переменной, см. rclone.conf.example
# --- Наблюдаемость (docker-compose.observability.yml — Prometheus/Loki/
# Grafana, отдельный стек от Postgres/Vaultwarden выше) ---
GRAFANA_PASSWORD=CHANGE_ME_GRAFANA_PASSWORD
# ВАЖНО: порт Loki (3100) публикуется наружу — сюда пушат логи тонкие
# promtail с backend/landing/каждой прокси-ноды. Firewall на этом VPS
# ОБЯЗАН ограничивать 3100 только IP этих хостов (см. шапку
# docker-compose.observability.yml) — сам Loki не защита от постороннего
# пуша логов.