414667062c
Отдельный от 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>
53 lines
3.0 KiB
Bash
53 lines
3.0 KiB
Bash
# Скопировать в .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 не защита от постороннего
|
||
# пуша логов.
|