Skip to main content

Náplň predmetu

Vstúpte do sveta vlastných serverov a objavte fenomén self-hostingu, vďaka ktorému premeníte obyčajný minipočítač alebo starý notebook na bezpečné digitálne centrum nezávislé od komerčných cloudov. Tento praktický kurz vás prevedie cestou od jednoduchých klikacích systémov až po poctivú systémovú administráciu Ubuntu Servera. Naučíme sa ovládať systém cez SSH terminál, nakonfigurujeme zdieľané úložisko Samba, spoznáme výhody súborového systému Btrfs a naučíme sa budovať robustnú infraštruktúru v prostredí Docker.

Následne vdýchneme život reálnemu hardvéru – od jednodoskových počítačov Raspberry Pi a Odroid až po vyradené notebooky. Vo finále kurzu si na svojom serveri nasadíme užitočné open-source aplikácie pre každodenný život: napríklad vlastný cloud na fotky (Immich), domáce kino (Jellyfin), sieťový filter reklám (Pi-Hole).

Podrobnejšia náplň jednotlivých kapitol

1. Virtualizovaný komplexný server – V tomto úvodnom celku sa prakticky zoznámime s problematikou vlastného servera. Využitím virtualizácie si nainštalujeme „hotový systém“ (umbrelOS / TrueNAS / YunoHost) a naučíme sa s ním pracovať. Zistíme, čo všetko takýto vlastný server dokáže. Naučíme sa tiež vytvárať kompletné zálohy disku cez nástroj Clonezilla.

2. Vlastný Linux server – Naučíme sa inštalovať a nakonfigurovať vlastný minimalistický Ubuntu Server na mieru našim potrebám. Aby sme hneď v úvode videli výsledky, pomôžeme si grafickou nadstavbou CasaOS. Následne sa však už pozrieme „pod kapotu“ – naplno sa začneme venovať príkazom cez SSH a služby už budeme inštalovať „poctivo od nuly“. Naučíme sa základné nastavenia, správu systémových aplikácií, aktualizáciu systému i aplikácií. Server sprístupníme cez mDNS, vytvoríme zdieľané úložisko súborov (Samba) a naučíme sa spravovať služby cez Snap. Ďalej sa budeme venovať diagnostike systému a spoznáme výhody moderného súborového systému Btrfs. Nakoniec sa naučíme využívať kontajnery cez Docker a nakonfigurujeme niektoré zaujímavé servery, s ktorými sa stretávame v iných predmetoch: komunikačný server Mosquitto, aplikačný server Node-RED, databázové servery (MariaDB, TimescaleDB a InfluxDB) a vizualizačný server Grafana. Svoje webové služby nakoniec bezpečne sprístupníme pre internet cez reverzný proxy server Caddy.

3. Hardvérové riešenie servera – Toto je azda najzábavnejší blok – vezmeme do rúk rôznorodý hardvér (ako napríklad Raspberry Pi, Odroid M1S, Odroid C5, ale i starý notebook) a vdýchneme mu život. Naučíme sa pracovať s inštalačnými médiami (ISO obrazy, flashovanie inštalačných obrazov). Zvolíme vhodný OS, porovnáme rôzne varianty OS i úložiska (SD karta, eMMC, NVMe). Vykonáme diagnostiku disku a skontrolujeme S.M.A.R.T. parametre. Skontrolujeme stabilitu a chladenie.

4. Aplikačné projekty – V poslednom bloku sa zameriame už na konkrétne aplikačné projekty a služby, ktoré využijeme v praxi (i doma). Na svoj server si nainštalujeme vlastný DNS server (Pi-Hole a Technitium) a už sa vrhneme na zaujímavé projekty – konkrétne vyberieme podľa záujmu účastníkov, napríklad: Jellyfin (domáci server médií), Immich (vlastný cloud pre fotky), KitchenOwl a Grocy (správa domácnosti, nákupné zoznamy a evidencia rôznych vecí), NetBox (evidencia sieťových zariadení), Colanode (poznámky), Kanboard (plánovanie úloh pre tímovú spoluprácu). Naučíme sa našu prácu aj automaticky zálohovať po sieti na iný súborový server.