Nový článek Hugo na OSCloud

This commit is contained in:
2026-07-05 21:01:49 +02:00
parent b738ac9a2c
commit 1188aceee1
3 changed files with 251 additions and 1 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

+250
View File
@@ -0,0 +1,250 @@
---
title: "Hugo na OSCloud: Statický web bez kompromisů"
date: 2026-07-04
draft: false
description: "Jak rozjet statický web s Hugo na platformě OSCloud..."
categories: ["Návody"]
tags: ["Hugo", "OSCloud", "Cloudron", "Surfer", "LAMP", "statický web", "self-hosting"]
image: "featured.jpg"
author: "archos"
---
![Hugo na OSCloud](featured.png)
WordPress nám sloužil roky a pro spoustu projektů je skvělá volba. Pro náš technický blog o Arch Linuxu jsme ale hledali něco bližšího naší filozofii — psát články v Markdownu, verzovat v Gitu a mít web pod plnou kontrolou bez zbytečné komplexity.
Přešli jsme na [Hugo](https://gohugo.io/) — statický generátor napsaný v Go, který z Markdownu vytvoří kompletní web za zlomek sekundy. Žádné PHP, žádná databáze, žádné bezpečnostní díry. A celé to běží na [OSCloud](https://oscloud.cz).
## Co je Hugo?
Hugo je open-source generátor statických webů. Místo toho, aby server při každém požadavku tahal data z databáze a skládal stránku za běhu (jako WordPress), Hugo vygeneruje všechny HTML soubory předem. Výsledek je jednoduchá složka souborů, kterou hodíte na jakýkoliv webserver.
Co to znamená v praxi:
- **Rychlost** — stránky se načítají okamžitě, protože server jen servíruje hotové soubory
- **Bezpečnost** — žádný PHP interpret, žádná databáze = žádný útočný vektor
- **Jednoduchost** — články píšete v Markdownu, verzujete v Gitu
- **Nulová údržba** — žádné aktualizace pluginů, žádné padající databáze
Hugo má přes 88 000 hvězd na GitHubu a aktivní komunitu. Podporuje témata, vícejazyčnost, taxonomie, RSS, vyhledávání a spoustu dalšího.
## Co je OSCloud?
[OSCloud](https://oscloud.cz) je česká cloudová platforma zaměřená na soukromí a open source.
OSCloud nabízí hosting open-source aplikací jako alternativu ke komerčním cloudům.
Najdete tu Nextcloud, Matrix, PeerTube, Gitea, GoToSocial,Mastodon, Pixelfed, VHSky a desítky dalších služeb. A taky hosting webů — WordPress, LAMP, Grav nebo **Surfer** pro statické weby.
Pro hosting Hugo webu máte na OSCloud dvě varianty: **Surfer** a **LAMP**. Každá se hodí na něco jiného.
## Varianta 1: Surfer — jednoduchý statický hosting
Surfer je minimalistická Cloudron aplikace pro servírování statických souborů. Nic víc, nic míň. Nahrajete soubory a web běží — žádný Apache, žádný nginx config.
Surfer nabízí:
- **Webové rozhraní** pro správu souborů na `https://vasedomena.cz/_admin/`
- **CLI nástroj** pro nahrávání z terminálu
- **SFTP přístup** pro nahrávání přes FileZilla nebo příkazovou řádku
- **WebDAV** endpoint
- **Vlastní 404 stránka** — stačí nahrát `404.html` do kořene
- **Řízení přístupu** — veřejný, heslem chráněný, nebo jen pro přihlášené uživatele
**Surfer je ideální když:** chcete prostě hodit Hugo web na server a nic víc neřešit.
**Surfer nestačí když:** potřebujete server-side redirecty (`.htaccess`), servírovat soubory z tečkových složek (`.well-known`) nebo třeba Fediverse webfinger identitu.
## Varianta 2: LAMP — když potřebujete víc
LAMP aplikace na Cloudronu dává plný Apache s podporou `.htaccess`. Hugo web na něm běží úplně stejně — Apache servíruje statické soubory bez problémů — ale navíc můžete:
- Nastavit **redirecty a rewrite pravidla** přes `.htaccess`
- Servírovat obsah z **`.well-known`** složky (webfinger, Let's Encrypt verifikace)
- Propojit web s **Fediverse** — například redirect `@arch@arch-linux.cz` na GoToSocial instanci
Právě proto tento web (arch-linux.cz) běží na LAMP — potřebujeme webfinger redirect pro naši Fediverse identitu `@arch@arch-linux.cz`.
**LAMP zvolte když:** potřebujete cokoliv nad rámec prostého servírování souborů.
## Krok za krokem: Hugo web na OSCloud
### 1. Instalace Hugo
Na Arch Linuxu:
```bash
sudo pacman -S hugo
hugo version
```
Na Ubuntu/Debianu:
```bash
sudo apt install hugo
```
Nebo stáhněte nejnovější verzi z [GitHubu](https://github.com/gohugoio/hugo/releases).
### 2. Vytvoření projektu
```bash
hugo new site muj-web
cd muj-web
git init
```
### 3. Přidání tématu
Můžete použít libovolné téma z [themes.gohugo.io](https://themes.gohugo.io/). My používáme [Blowfish](https://blowfish.page/), ale pro začátek je dobré třeba Ananke:
```bash
git submodule add https://github.com/gohugo-ananke/ananke themes/ananke
echo 'theme = "ananke"' >> hugo.toml
```
### 4. Základní konfigurace
Upravte `hugo.toml`:
```toml
baseURL = "https://vasedomena.cz/"
languageCode = "cs"
title = "Můj web"
theme = "ananke"
```
### 5. První článek
```bash
hugo new posts/prvni-clanek/index.md
```
Otevřete `content/posts/prvni-clanek/index.md` a napište obsah v Markdownu:
```markdown
---
title: "Můj první článek"
date: 2026-07-04
draft: false
description: "Zkušební článek na Hugo webu"
tags: ["hugo", "test"]
---
Tady je obsah článku v **Markdownu**.
## Podnadpis
- položka jedna
- položka dvě
```
Obrázky k článku umístěte do stejné složky (`content/posts/prvni-clanek/`) a v textu je vložte:
```markdown
![Popis obrázku](obrazek.jpg)
```
### 6. Lokální náhled
```bash
hugo server -D
```
Otevřete `http://localhost:1313` v prohlížeči. Hugo sleduje změny a automaticky stránku obnovuje.
### 7. Build
```bash
hugo --minify
```
Výsledné soubory najdete ve složce `public/`. To je váš kompletní web — čisté HTML, CSS a JavaScript.
### 8. Nasazení na OSCloud
Deploy záleží na tom, kterou aplikaci jste si zvolili.
**Pro Surfer — CLI:**
```bash
# instalace CLI
npm -g install cloudron-surfer
# konfigurace
surfer config --server https://vasedomena.cz --token VAS_API_TOKEN
# nahrání souborů
surfer put public/* /
```
API token vytvoříte v Surfer admin rozhraní (`https://vasedomena.cz/_admin/`) v sekci Settings.
**Pro Surfer — SFTP:**
```bash
lftp -p 222 -u "vas_uzivatel" sftp://vas-server.oscloud.cz
> mirror -R public/ /
> quit
```
**Pro Surfer — webové rozhraní:**
Přetáhněte soubory do správce na `https://vasedomena.cz/_admin/`.
**Pro LAMP — SFTP:**
```bash
lftp -p 222 -u "vas_uzivatel" sftp://vas-server.oscloud.cz
> mirror -R public/ /public/
> quit
```
U LAMP aplikace je SFTP root `/app/data/`, takže cílová složka je `/public/`.
Pokud potřebujete `.htaccess`, nahrajte ho do složky `static/` v Hugo projektu — Hugo ho zkopíruje do `public/` při buildu a SFTP ho nahraje na server.
### 9. Automatizace (volitelné)
Celý deploy se dá zabalit do jednoho skriptu:
```bash
#!/bin/bash
# deploy.sh
hugo --minify
surfer put public/* /
echo "Nasazeno!"
```
```bash
sudo bash ./deploy.sh
```
Pro LAMP variantu nahraďte `surfer put` za odpovídající `lftp` příkaz.
## WordPress vs Hugo
WordPress i Hugo mají své místo. Tady je srovnání, proč jsme se pro náš konkrétní případ rozhodli jinak:
| | WordPress | Hugo |
|---|---|---|
| Načítání | závisí na cachingu | okamžité |
| Bezpečnost | pravidelné záplaty | žádný vektor |
| Údržba | pluginy, jádro | žádná |
| Zálohy | DB + soubory | Git repo |
| Obsah | WYSIWYG editor | Markdown |
| Verzování | nepraktické | Git nativně |
| Server | PHP + MySQL | statický |
WordPress je výborný pro weby s e-shopem, členskou sekcí nebo tam, kde obsah spravují netechničtí uživatelé přes přehledné admin rozhraní. Pro blog, kde články píšeme v terminálu a verzujeme v Gitu, nám Hugo prostě sedl líp.
## Závěr
Hugo na OSCloud je kombinace, která dává smysl. Rychlý, bezpečný a jednoduchý web bez zbytečné komplexity. Články píšete v Markdownu, verzujete v Gitu a nasadíte jedním příkazem.
Pro jednoduchý statický web sáhněte po **Surferu**. Pokud potřebujete redirecty, `.well-known` nebo Fediverse integraci, zvolte **LAMP** — obojí na OSCloud funguje skvěle.
Pokud vás zajímá self-hosting a chcete mít svá data pod kontrolou, mrkněte na [OSCloud](https://oscloud.cz) — českou platformu postavenou na open-source technologiích. Kromě hostingu webů nabízí Nextcloud, Matrix chat, PeerTube, Gitea a další služby.
Zdrojový kód tohoto webu je veřejně dostupný na naší [Gitea](https://git.arch-linux.cz/ArchlinuxCz/web-archlinux_cz) — pull requesty vítány.
---
*Máte otázky? Napište nám na [Fediverse](https://gts.arch-linux.cz/@arch), [Matrix](https://matrix.to/#/#archlinuxcz:matrix.org) nebo na [fórum](https://forum.arch-linux.cz/).*
+1 -1
View File
@@ -52,7 +52,6 @@ theme = "blowfish"
showComments = false showComments = false
[params.list] [params.list]
showHero = false
showBreadcrumbs = true showBreadcrumbs = true
showSummary = true showSummary = true
showTableOfContents = false showTableOfContents = false
@@ -133,3 +132,4 @@ theme = "blowfish"
[permalinks] [permalinks]
posts = "/:slug/" posts = "/:slug/"