Init repo infra + poprawki runbooka bootstrap i HANDOFF
- Krok 9 (tmux): tee -> tee -a (nie nadpisuj configu), dodano focus-events on, poprawiono nazwę sesji na "bootstrap" - Krok 10: struktura katalogów odzwierciedla stan faktyczny (/srv i /srv/infra już istnieją, brakuje apps i data) - Krok 12: Claude Code oznaczony jako wykonany 20-08-2026, instalator natywny bez Node.js - Nowy Krok 14: audyt po bootstrapie (SSH, ufw, fail2ban, unattended-upgrades, swap, Docker, porty, klucze) - HANDOFF.md: poprawiona numeracja sekcji 6
This commit is contained in:
+131
@@ -0,0 +1,131 @@
|
||||
# SERVER.md — rejestr serwera
|
||||
|
||||
**Źródło prawdy o tym, co stoi na maszynie.** Każda zmiana stanu serwera = wpis tutaj,
|
||||
w tej samej sesji. Jeśli czegoś nie ma w tym pliku — z punktu widzenia dokumentacji to nie istnieje.
|
||||
|
||||
Ostatnia aktualizacja: _(uzupełnić przy pierwszym bootstrapie)_
|
||||
|
||||
---
|
||||
|
||||
## 1. Maszyna
|
||||
|
||||
| Pozycja | Wartość |
|
||||
|---|---|
|
||||
| Dostawca | OVH |
|
||||
| Model | VPS-2 2026 |
|
||||
| Host OVH | `vps-c936b594.vps.ovh.net` |
|
||||
| vCore / RAM / dysk | 6 / 12 GB / 100 GB SSD NVMe |
|
||||
| System | Ubuntu 24.04 LTS |
|
||||
| Lokalizacja | _(uzupełnić)_ |
|
||||
| IPv4 | `54.38.159.156` |
|
||||
| IPv6 | _(uzupełnić)_ |
|
||||
| Snapshot OVH | włączony, 1 slot, ręczny |
|
||||
| Data ostatniego snapshota | _(uzupełniać przy każdym)_ |
|
||||
|
||||
---
|
||||
|
||||
## 2. Domeny
|
||||
|
||||
| Domena | Rola | Rejestrator | DNS |
|
||||
|---|---|---|---|
|
||||
| `dfkk.cloud` | infrastruktura + subdomeny projektów | OVH | OVH |
|
||||
| _(domena 2)_ | wolna, pod projekt | OVH | OVH |
|
||||
| _(domena 3)_ | wolna, pod projekt | OVH | OVH |
|
||||
|
||||
Certyfikaty: Let's Encrypt, wildcard `*.dfkk.cloud`, wyzwanie **DNS-01** przez API OVH.
|
||||
Klucze API OVH: przechowywane w `/srv/infra/stacks/traefik/.env` (poza repo).
|
||||
|
||||
### Zajęte subdomeny
|
||||
|
||||
| Subdomena | Usługa | Publiczna? | Uwagi |
|
||||
|---|---|---|---|
|
||||
| `git.dfkk.cloud` | Gitea | tak | rejestracja wyłączona |
|
||||
| `status.dfkk.cloud` | Uptime Kuma | tak | za basic auth |
|
||||
| `traefik.dfkk.cloud` | Traefik dashboard | nie | tylko przez tunel SSH |
|
||||
|
||||
---
|
||||
|
||||
## 3. Użytkownicy systemowi
|
||||
|
||||
| Użytkownik | Rola | sudo | Uwagi |
|
||||
|---|---|---|---|
|
||||
| `root` | — | — | logowanie po SSH wyłączone przez OVH i przez nas |
|
||||
| `ubuntu` | praca codzienna, Docker, Claude Code | tak | konto domyślne obrazu OVH |
|
||||
|
||||
---
|
||||
|
||||
## 4. Klucze SSH
|
||||
|
||||
Każde urządzenie ma **własny** klucz. Zgubiony laptop = usunięcie jednej linii
|
||||
z `authorized_keys`, bez ruszania pozostałych.
|
||||
|
||||
| Urządzenie | Typ | Komentarz w kluczu | Dodany | Status |
|
||||
|---|---|---|---|---|
|
||||
| MacBook | ed25519 | `kamil@macbook` | _(data)_ | _(aktywny)_ |
|
||||
| Windows | ed25519 | `kamil@windows` | _(data)_ | _(aktywny)_ |
|
||||
| iPhone (Termius/Blink) | ed25519 | `kamil@iphone` | _(data)_ | _(aktywny)_ |
|
||||
| _(klucz istniejący, do weryfikacji)_ | ? | ? | ? | **do sprawdzenia przy bootstrapie** |
|
||||
|
||||
---
|
||||
|
||||
## 5. Porty otwarte na świat
|
||||
|
||||
| Port | Usługa | Uzasadnienie |
|
||||
|---|---|---|
|
||||
| 22 | SSH | dostęp administracyjny, tylko klucze |
|
||||
| 80 | Traefik | przekierowanie na 443 |
|
||||
| 443 | Traefik | cały ruch HTTPS |
|
||||
|
||||
**Nic więcej.** Każdy dodatkowy port wymaga wpisu tutaj z uzasadnieniem.
|
||||
Pamiętaj: opublikowany port kontenera omija ufw — patrz `CLAUDE.md`, sekcja 3.3.
|
||||
|
||||
---
|
||||
|
||||
## 6. Stacki infrastruktury
|
||||
|
||||
| Stack | Ścieżka | Status | Opis |
|
||||
|---|---|---|---|
|
||||
| Traefik | `/srv/infra/stacks/traefik` | _(planowany)_ | reverse proxy, TLS, wejście do wszystkiego |
|
||||
| Gitea | `/srv/infra/stacks/gitea` | _(planowany)_ | repozytoria kodu, mirror na GitHub |
|
||||
| Monitoring | `/srv/infra/stacks/monitoring` | _(planowany)_ | Uptime Kuma, alerty na maila |
|
||||
|
||||
---
|
||||
|
||||
## 7. Projekty
|
||||
|
||||
Tabela uzupełniana przy każdym nowym projekcie (runbook `10-nowa-usluga.md`)
|
||||
i czyszczona przy usuwaniu (runbook `30-usuwanie.md`).
|
||||
|
||||
| Projekt | Katalog | Repo | Domena | Wolumeny | Baza | Backup | Uruchomiony |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| _(brak)_ | | | | | | | |
|
||||
|
||||
---
|
||||
|
||||
## 8. Zadania cykliczne (cron / systemd timers)
|
||||
|
||||
| Zadanie | Harmonogram | Gdzie zdefiniowane | Co robi |
|
||||
|---|---|---|---|
|
||||
| `unattended-upgrades` | codziennie | systemd | aktualizacje bezpieczeństwa |
|
||||
| _(uzupełniać)_ | | | |
|
||||
|
||||
---
|
||||
|
||||
## 9. Konta zewnętrzne powiązane z serwerem
|
||||
|
||||
| Usługa | Do czego | Gdzie klucz/token |
|
||||
|---|---|---|
|
||||
| OVH API | DNS-01 dla Traefika | `/srv/infra/stacks/traefik/.env` |
|
||||
| GitHub | mirror repo `infra` | token w Gitei, ustawienia push mirror |
|
||||
| SMTP (Resend/Brevo) | wysyłka maili z aplikacji | `.env` danego projektu |
|
||||
|
||||
---
|
||||
|
||||
## 10. Dziennik większych zmian
|
||||
|
||||
Krótko, jedna linia, najnowsze na górze. Chodzi o to, żeby po miesiącu dało się
|
||||
odtworzyć, co się działo — nie o pełny changelog.
|
||||
|
||||
| Data | Co się zmieniło | Kto |
|
||||
|---|---|---|
|
||||
| 2026-08-20 | Poprawki `00-bootstrap.md` (Krok 9 tmux append + `focus-events`, Krok 10 katalogi, Krok 12 Claude Code jako wykonany, nowy Krok 14 audyt) i numeracja `HANDOFF.md` sekcja 6 | Claude |
|
||||
Reference in New Issue
Block a user