--- 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/).*