chore(.tasks): vds-kzntsv-bootstrap - tariff ordered, OS resolved (Ubuntu 24.04 LTS)
Rusonyx 160 NVMe заказан 2026-05-19 (6 vCPU / 8GB RAM / 160GB NVMe / Ubuntu 24.04, без ispmanager/CMS/VPS Backup, 1 IPv4). Ждём выделение IP. OS resolved: Ubuntu 24.04 LTS (поддержка до апреля 2029, docker official APT flow, mainstream community для docker workload). Debian 12 отвергнут — не даёт material выгоды при 8GB RAM. 160 SSD → 160 NVMe — Rusonyx апгрейд storage по той же цене, IOPS выше. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,10 +2,10 @@
|
||||
_Updated: 2026-05-19_
|
||||
|
||||
## ⚪ [vds-kzntsv-bootstrap] — поднять облачный VDS под gitea/verdaccio/seafile/registry/hermes
|
||||
**Status:** ready (планирование 2026-05-19; tier финализирован user'ом — **160 SSD Rusonyx, 2500 ₽/мес**, 6 vCPU / 8GB RAM / 160GB SSD)
|
||||
**Where I stopped:** размеры сняты с kreknin, hermes-профиль уточнён, tier выбран **160 SSD**. Detailed план в [vds-kzntsv-bootstrap.md](vds-kzntsv-bootstrap.md).
|
||||
**Open questions:** owncloud дубль (`docker/owncloud/` vs `docker/personal/owncloud/`) — какой live для миграции данных в seafile; DNS-cut стратегия; OS на VDS (Ubuntu 24.04 LTS recommended).
|
||||
**Next action:** (1) registry GC + verdaccio prune **на kreknin** до миграции (write-op на kreknin, требует согласия user'а); (2) закупить 160 SSD у Rusonyx + получить IP; (3) DNS A-запись `vds.kzntsv.site` в REGRU.
|
||||
**Status:** ready (тариф **160 NVMe Rusonyx** заказан 2026-05-19; ждём выделение IP; OS Ubuntu 24.04)
|
||||
**Where I stopped:** заказ на Rusonyx размещён (6 vCPU / 8GB RAM / 160GB NVMe / Ubuntu 24.04, без ispmanager/Backup/CMS). zero-day bootstrap чек-лист готов. Detailed план в [vds-kzntsv-bootstrap.md](vds-kzntsv-bootstrap.md).
|
||||
**Open questions:** owncloud дубль (`docker/owncloud/` vs `docker/personal/owncloud/`) — какой live для миграции в seafile; DNS-cut стратегия.
|
||||
**Next action:** (1) ждём выделение IP от Rusonyx → DNS A `vds.kzntsv.site` в REGRU; (2) zero-day bootstrap (sudo-user + ssh hardening + ufw + fail2ban + docker); (3) параллельно — registry GC + verdaccio prune **на kreknin** до миграции (write-op, требует согласия).
|
||||
**Branch:** master
|
||||
|
||||
---
|
||||
|
||||
@@ -23,7 +23,17 @@
|
||||
|
||||
## Тариф VDS (Rusonyx, https://www.rusonyx.ru/hosting/vps/#ssd)
|
||||
|
||||
**Выбран (финал, user 2026-05-19): `160 SSD` — 2500 ₽/мес (6 vCPU 2.6GHz, 8GB RAM, 160GB SSD, 200 Mbit, free IP).**
|
||||
**Заказан (финал, user 2026-05-19): `160 NVMe`** (Rusonyx переименовал прежний `160 SSD` тариф в NVMe — апгрейд storage по той же цене, IOPS выше).
|
||||
|
||||
Конфигурация заказа:
|
||||
- 6 vCPU 2.6GHz
|
||||
- 8192 MiB RAM (8 GiB)
|
||||
- 163840 MiB disk (160 GiB) NVMe
|
||||
- Ubuntu Server 24.04
|
||||
- 1 IPv4 (free)
|
||||
- Лицензия / CMS / ispmanager — нет (docker-only, control-panel мусор не нужен)
|
||||
- VPS Backup от Rusonyx — 0 шт (свой backup через rsync/borg → kreknin или off-site cloud)
|
||||
- SSH root access — Вкл на старте (после bootstrap — отключить, sudo-user)
|
||||
|
||||
Reasoning:
|
||||
- 160GB headroom ~45% на старте после миграции (~60-70G data + 5G OS) — годен на 2-3 года без add-on operations.
|
||||
@@ -46,7 +56,7 @@ Reasoning:
|
||||
- [ ] Owncloud дубль `docker/owncloud/` vs `docker/personal/owncloud/` — какой live, нужны ли данные при переезде на seafile?
|
||||
- [ ] DNS-cut стратегия: A-record `vds.kzntsv.site` сразу, или сначала test через IP?
|
||||
- [ ] Backup VDS → kreknin: какой механизм? rsnapshot / restic / borg / Hyper Backup pull через SFTP?
|
||||
- [ ] Какой OS на VDS: Ubuntu LTS 24.04 / Debian 12? Зависит от docker-engine vendoring привычки.
|
||||
- [x] ~~OS на VDS~~ → **Ubuntu 24.04 LTS** (decision 2026-05-19): LTS до апреля 2029, docker official APT repo flow, mainstream community для docker-стека, гарантированно есть в Rusonyx templates.
|
||||
|
||||
## Key files
|
||||
|
||||
@@ -59,7 +69,9 @@ Reasoning:
|
||||
|
||||
## Decisions log
|
||||
|
||||
- **2026-05-19 (final):** User выбрал **160 SSD (2500 ₽/мес)**. Reasoning user'а — operational simplicity, не звонить в support за add-on ценой, есть запас на 2-3 года. +1000 ₽/мес vs 80 SSD приемлемо.
|
||||
- **2026-05-19:** OS на VDS = **Ubuntu 24.04 LTS** (Noble). Reasoning: LTS support до апреля 2029, docker official APT flow, mainstream community для docker-workload. Debian 12 отвергнут — не даёт material выгоды при 8GB RAM (idle разница ~100M), а docker-docs primary-target — Ubuntu LTS.
|
||||
- **2026-05-19 (заказан):** Тариф `160 NVMe` (Rusonyx переименовал 160 SSD → 160 NVMe, та же цена, апгрейд по IOPS). VPS Backup от Rusonyx — 0 шт (свой backup pipeline). SSH root — Вкл на bootstrap, потом отключить.
|
||||
- **2026-05-19 (final tier):** User выбрал **160 SSD (2500 ₽/мес)**. Reasoning user'а — operational simplicity, не звонить в support за add-on ценой, есть запас на 2-3 года. +1000 ₽/мес vs 80 SSD приемлемо.
|
||||
- **2026-05-19 (промежуточный заход, откатан):** Рекомендовалось 80 SSD + disk add-on исходя из того что 8GB RAM избыточно после уточнения hermes-профиля. User решил что 500 ₽/мес экономии не стоят звонков в support и риска что add-on окажется дорогой.
|
||||
- **2026-05-19 (первый заход):** Изначально 160 SSD по budget-расчёту headroom; затем переоценено вниз после уточнения hermes; затем user вернул обратно к 160 SSD по user-preference.
|
||||
- **2026-05-19:** Owncloud → seafile. Reasoning: пользователь решил заменить (rationale пока не записан).
|
||||
@@ -72,9 +84,9 @@ Reasoning:
|
||||
2. **Решить owncloud дубль** — нужны ли данные для миграции в seafile или green install.
|
||||
3. **Registry GC на kreknin** — stop писателей, `docker run --rm -v ...:/var/lib/registry registry:2 garbage-collect /etc/docker/registry/config.yml`, measure delta. ⚠️ prod-changing, согласие от user.
|
||||
4. **Verdaccio prune** — `npm cache clean` + удалить old tarballs из storage. (low risk, restorable из upstream npm)
|
||||
5. **Закупить тариф 160 SSD у Rusonyx**, получить IP. (user-action)
|
||||
5. ~~**Закупить тариф у Rusonyx**~~ → **заказан 160 NVMe, Ubuntu 24.04, 8GB/6vCPU/160GB, 1 IPv4** (2026-05-19, ожидание выделения IP).
|
||||
6. **DNS** — A `vds.kzntsv.site → <IP>` в REGRU.
|
||||
7. **Bootstrap VDS** — OS (Ubuntu 24.04?), docker, fail2ban, ssh hardening, firewall.
|
||||
7. **Bootstrap VDS** (zero-day чек-лист): apt update/upgrade → создать sudo-user `vitya` + копировать SSH key → `PermitRootLogin no` + `PasswordAuthentication no` → ufw (22/80/443 only) → fail2ban → docker official APT repo (docker-ce + buildx + compose-plugin). Полная paste-ready команда в чате сессии.
|
||||
8. **Per-service migration** (gitea → tarball+restore, verdaccio → tar storage, seafile → green install, registry → rsync, hermes → repo+state).
|
||||
9. **Backup pipeline** VDS → kreknin (или cloud — Backblaze B2 для off-site, см. [[future-resilient-architecture-goals]]).
|
||||
10. **DNS cut** к production, удаление сервисов с kreknin (с paranoid keep-on-kreknin-7days).
|
||||
|
||||
Reference in New Issue
Block a user