Commit Graph

5 Commits

Author SHA1 Message Date
nineap 6e47498dc5 nginx
Deploy Observability / Deploy Observability Stack (push) Successful in 36s
Deploy / Deploy to Data VPS (push) Successful in 42s
2026-07-10 17:06:05 +07:00
nineap 414667062c Единый observability-стек: Prometheus + Loki + Grafana + Caddy auth-гейт
Deploy Observability / Deploy Observability Stack (push) Failing after 20s
Deploy / Deploy to Data VPS (push) Failing after 19s
Отдельный от 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
nineap f373601025 CI: генерирует TLS-сертификат Postgres при первом деплое, добавляет BACKEND_DB_*
Синкает postgres/pg_hba.conf, postgres/init-backend-db.sh и scripts/backup.sh
на VPS (раньше копировался только docker-compose.yml). Самоподписанный
сертификат создаётся один раз, если ещё не существует — повторные деплои
его не трогают, чтобы не рвать открытые TLS-сессии рестартом контейнера.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-09 17:17:20 +07:00
nineap 3b8c0aeebd CI: переименовывает DB_*→VW_DB_* и переносит несекретные значения в vars
DATA_VPS_IP, имя/юзер БД, домен/лог-левел/SIGNUPS_ALLOWED/SMTP-хост-порт-
security-username Vaultwarden — в vars (не секреты сами по себе). Пароли
(VW_DB_PASSWORD, SMTP_PASSWORD), ADMIN_TOKEN и SSH-ключ остаются в secrets.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-09 16:37:48 +07:00
nineap 95cb2527a7 Первая версия: docker-compose + деплой-пайплайн для Vaultwarden+Postgres
Раньше Vaultwarden жил на проде голым файлом (~/vaultwarden-data/docker-compose.yml)
без git/CI, на SQLite, с секретами прямо в файле. Здесь: Postgres вместо
SQLite, все секреты — только через .env, который на каждом деплое
пересобирается заново из GitHub Actions secrets (см. .env.example для
полного списка нужных переменных и .github/workflows/deploy.yml).

Важно: переключение DATABASE_URL на Postgres поверх уже существующего
./data/db.sqlite3 с реальными данными пользователей само по себе данные не
мигрирует — см. комментарий в docker-compose.yml.
2026-07-09 13:09:09 +07:00