Nový článek Hugo na OSCloud
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 193 KiB |
@@ -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"
|
||||
---
|
||||

|
||||
|
||||
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
|
||||

|
||||
```
|
||||
|
||||
### 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/).*
|
||||
Reference in New Issue
Block a user