8.5 KiB
title, date, draft, description, categories, tags, image, author
| title | date | draft | description | categories | tags | image | author | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Hugo na OSCloud: Statický web bez kompromisů | 2026-07-04 | false | Jak rozjet statický web s Hugo na platformě OSCloud... |
|
|
featured.jpg | archos |
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 — 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.
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 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.htmldo 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-knownsložky (webfinger, Let's Encrypt verifikace) - Propojit web s Fediverse — například redirect
@arch@arch-linux.czna 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:
sudo pacman -S hugo
hugo version
Na Ubuntu/Debianu:
sudo apt install hugo
Nebo stáhněte nejnovější verzi z GitHubu.
2. Vytvoření projektu
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. My používáme Blowfish, ale pro začátek je dobré třeba Ananke:
git submodule add https://github.com/gohugo-ananke/ananke themes/ananke
echo 'theme = "ananke"' >> hugo.toml
4. Základní konfigurace
Upravte hugo.toml:
baseURL = "https://vasedomena.cz/"
languageCode = "cs"
title = "Můj web"
theme = "ananke"
5. První článek
hugo new posts/prvni-clanek/index.md
Otevřete content/posts/prvni-clanek/index.md a napište obsah v Markdownu:
---
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:

6. Lokální náhled
hugo server -D
Otevřete http://localhost:1313 v prohlížeči. Hugo sleduje změny a automaticky stránku obnovuje.
7. Build
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:
# 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:
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:
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:
#!/bin/bash
# deploy.sh
hugo --minify
surfer put public/* /
echo "Nasazeno!"
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 — č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 — pull requesty vítány.
Máte otázky? Napište nám na Fediverse, Matrix nebo na fórum.
