content: demo article — custom SVG diagrams (machine architecture, publish flow, attack surface) + cover, dated to sit second on the list
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
---
|
||||
title: "Jak działa to demo: portal statyczny + CMS oparty o git"
|
||||
description: "Architektura rozwiązania, przydatne linki i porównanie klas rozwiązań: strona w 100% statyczna z graficznym edytorem treści vs CMS z własną bazą danych."
|
||||
date: 2026-07-28
|
||||
date: 2026-07-23
|
||||
category: demo
|
||||
author: Cyfronet
|
||||
cover: /diagrams/cover-git-cms.svg
|
||||
draft: false
|
||||
---
|
||||
|
||||
@@ -12,28 +13,18 @@ w repozytorium git. Redaktor dostaje **graficzny edytor w przeglądarce** —
|
||||
a mimo to w produkcji nie działa żadna aplikacja, żadna baza danych.
|
||||
Ten artykuł został napisany i opublikowany dokładnie tą ścieżką.
|
||||
|
||||
## Jak to działa
|
||||
## Od zapisu do publikacji
|
||||
|
||||
```
|
||||
redaktor (przeglądarka)
|
||||
│ edycja WYSIWYG + upload obrazów
|
||||
▼
|
||||
Sveltia CMS (/admin/ — statyczne pliki JS, zero własnego backendu)
|
||||
│ zapis = commit przez API (logowanie OAuth)
|
||||
▼
|
||||
Gitea (repozytorium: treść w Markdown + obrazy)
|
||||
│ poller sprawdza nowe commity (systemd timer, co ~10 s)
|
||||
▼
|
||||
build w kontenerze (Astro: Markdown → HTML, ~225 stron)
|
||||
│ atomowa podmiana symlinka na nową wersję
|
||||
▼
|
||||
nginx — serwuje wyłącznie statyczne pliki
|
||||
```
|
||||

|
||||
|
||||
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
|
||||
**pełna historia treści i możliwość cofnięcia są w gicie za darmo**.
|
||||
|
||||
## Jak to wygląda na maszynie
|
||||
|
||||

|
||||
|
||||
## Gdzie co jest
|
||||
|
||||
| Co | Gdzie |
|
||||
@@ -49,15 +40,7 @@ i jednorazowy kontener builda odpalany przez systemd timer.
|
||||
|
||||
## Dlaczego strona statyczna
|
||||
|
||||
```
|
||||
CMS z bazą danych: to rozwiązanie:
|
||||
|
||||
internet ──► aplikacja CMS (PHP/Node) internet ──► pliki HTML
|
||||
+ baza danych (nie ma czego zhakować,
|
||||
+ pluginy nie ma czego patchować)
|
||||
▲ wszystko publiczne,
|
||||
wszystko trzeba patchować edycja ──► git (tylko zalogowani)
|
||||
```
|
||||

|
||||
|
||||
- **Bezpieczeństwo**: publicznie wystawione są tylko pliki. Nie istnieje
|
||||
panel admina dostępny z internetu, baza do wykradzenia ani runtime z CVE.
|
||||
|
||||
Reference in New Issue
Block a user