demo article: diagrams moved here from the code repo (uploads/diagrams), deploy docs pointer updated

This commit is contained in:
2026-09-06 15:32:39 +02:00
parent 4b3dd80ae8
commit f43212df7f
9 changed files with 433 additions and 10 deletions
+6 -6
View File
@@ -4,7 +4,7 @@ description: "Architektura rozwiązania, przydatne linki i porównanie klas rozw
date: 2026-07-23
category: demo
author: Cyfronet
cover: /diagrams/cover-git-cms.svg
cover: /uploads/diagrams/cover-git-cms.svg
lang: pl
draft: false
---
@@ -19,7 +19,7 @@ tego uczciwie niżej. Ten artykuł został napisany i opublikowany dokładnie t
## Od zapisu do publikacji
![Pięć kroków publikacji: zapis w edytorze → commit w repo → detekcja zmiany → build strony → publikacja](/diagrams/od-zapisu-do-publikacji.svg)
![Pięć kroków publikacji: zapis w edytorze → commit w repo → detekcja zmiany → build strony → publikacja](/uploads/diagrams/od-zapisu-do-publikacji.svg)
Publikacja jest automatyczna — zapis w edytorze po chwili sam pojawia się
na stronie, bez żadnego ręcznego deployu. Każda zmiana to commit, więc
@@ -27,14 +27,14 @@ na stronie, bez żadnego ręcznego deployu. Każda zmiana to commit, więc
## Jak to wygląda na maszynie
![Architektura na maszynie demo: redaktor zapisuje przez Sveltię do Gitei, timer systemd uruchamia jednorazowy kontener builda Astro, wynik trafia do wolumenu releases, a nginx serwuje czytelnikom wyłącznie statyczne pliki](/diagrams/architektura-maszyna.svg)
![Architektura na maszynie demo: redaktor zapisuje przez Sveltię do Gitei, timer systemd uruchamia jednorazowy kontener builda Astro, wynik trafia do wolumenu releases, a nginx serwuje czytelnikom wyłącznie statyczne pliki](/uploads/diagrams/architektura-maszyna.svg)
Dla porównania — ta sama maszyna z klasycznym CMS-em. Układ diagramu jest
celowo identyczny, żeby różnice było widać na pierwszy rzut oka: tu każdy
element działa bez przerwy, a panel logowania i aplikacja są wystawione
do internetu.
![Architektura klasycznego CMS z bazą danych: aplikacja z publicznym panelem admina i renderowaniem na żądanie działa non stop, obok baza danych wymagająca backupów i wolumen mediów](/diagrams/architektura-cms-z-baza.svg)
![Architektura klasycznego CMS z bazą danych: aplikacja z publicznym panelem admina i renderowaniem na żądanie działa non stop, obok baza danych wymagająca backupów i wolumen mediów](/uploads/diagrams/architektura-cms-z-baza.svg)
## Gdzie co jest
@@ -44,14 +44,14 @@ do internetu.
| Edytor treści | `/admin/` (link „Content editor" w stopce) |
| Gitea (repo `ctao/portal`) | port 3000 na maszynie demo |
| Konto demo | użytkownik `ctao` (hasło u prowadzącego demo) |
| Dokumentacja wdrożenia | katalog `deploy/` w repo: `README.md` (runbook) i `DEPLOY-LOG.md` (pełna historia decyzji) |
| Dokumentacja wdrożenia | katalog `deploy/` w repo kodu: `README.md` (runbook) |
Całość działa w podmanie na jednej maszynie: kontener Gitei, kontener nginx
i jednorazowy kontener builda odpalany przez systemd timer.
## Dlaczego strona statyczna
![Porównanie powierzchni ataku: CMS z bazą wystawia publicznie aplikację, panel logowania, bazę i pluginy — tu publiczne są tylko pliki HTML, a edycja idzie przez git dla zalogowanych](/diagrams/powierzchnia-ataku.svg)
![Porównanie powierzchni ataku: CMS z bazą wystawia publicznie aplikację, panel logowania, bazę i pluginy — tu publiczne są tylko pliki HTML, a edycja idzie przez git dla zalogowanych](/uploads/diagrams/powierzchnia-ataku.svg)
- **Bezpieczeństwo**: publicznie wystawione są tylko pliki. Nie istnieje
panel admina dostępny z internetu, baza do wykradzenia ani runtime z CVE.