Přejít k navigační liště

Zdroják » Databáze » Jak si doma postavit vlastní server a k čemu je vlastně dobrý

Jak si doma postavit vlastní server a k čemu je vlastně dobrý

Články Databáze, Různé

Vlastní cloud, zálohy, mediální centrum nebo VPN přístup odkudkoliv. To všechno může běžet u vás doma na jednom nenápadném stroji. V tomto článku si ukážeme, jak si postavit domácí server od nuly, proč použít Docker místo virtualizace a jak během pár hodin rozjet služby, které běžně nahrazuje placený cloud.

Domácí server zní jako něco, co patří do serverovny velké firmy nebo k lidem, kteří mají doma rack, blikající diody a hlučné větráky. Ve skutečnosti ale může jít o úplně obyčejný počítač schovaný pod stolem, malý minipočítač nebo třeba starý notebook, který by jinak skončil v šuplíku. Přesto dokáže nabídnout věci, které běžný domácí počítač nebo cloudová služba nenahradí.

Vlastní server doma není jen hračka pro nerdy. Pro spoustu lidí je to způsob, jak mít data pod kontrolou, zbavit se závislosti na externích službách, naučit se nové technologie a zároveň si postavit něco, co skutečně denně používají.

Co je vlastně domácí server

Domácí server je zařízení, které běží nepřetržitě (nebo alespoň dlouhodobě) a poskytuje nějakou službu, ať už sobě, rodině nebo klidně i internetu. Na rozdíl od běžného PC se počítá s tím, že:

  • je zapnutý pořád
  • běží bez monitoru, klávesnice a myši
  • spravuje se vzdáleně
  • jeho hlavní úkol není „pracovat“, ale sloužit

Může to být server na soubory, zálohy, média, web, e-maily, domácí automatizaci nebo testovací prostředí pro vývoj – možností je fakt velká spousta.

K čemu je domácí server dobrý

Než se pustíme do stavby, dává smysl si říct proč. Domácí server má největší hodnotu tehdy, když řeší konkrétní problém.

1. Vlastní cloud a data pod kontrolou

Fotky, videa, dokumenty, zálohy. Všechno dnes končí u Googlu, Applu nebo Microsoftu. Domácí server umožní:

  • mít vlastní úložiště dostupné odkudkoli
  • nespoléhat se na cizí firmy
  • neřešit měsíční poplatky
  • vědět, kde přesně data fyzicky jsou

Služby typu Nextcloud nebo Immich dokážou nahradit velkou část funkcí Google Drive nebo iCloudu.

2. Zálohování bez kompromisů

Zálohy jsou typická věc, kterou každý ví, že má dělat – a skoro nikdo ji nedělá nebo nedělá pořádně. Server může automaticky:

  • zálohovat počítače v síti
  • uchovávat starší verze souborů
  • ukládat off-site kopie (např. na externí disk nebo jiný server)

Bez nutnosti na cokoliv myslet.

3. Domácí mediální centrum

Filmy, seriály, hudba, fotky. Server s Plexem nebo Jellyfinem dokáže:

  • streamovat obsah do TV, mobilu i tabletu
  • nahradit několik různých aplikací
  • fungovat i bez internetu

A hlavně – bez reklam, sledování nebo drahého předplacení.

4. Vývoj, testování a učení

Pro každého, kdo se pohybuje kolem IT, je domácí server ideální sandbox:

  • testování Docker kontejnerů
  • běh databází a backendů
  • experimenty s Linuxem
  • CI/CD, monitoring, automatizace

Chyby vás nic nestojí.

5. Vlastní služby

E-mail, VPN, DNS, Git, chat, wiki, monitoring. Všechno může běžet doma. Ne proto, že by to bylo nutné, ale proto, že to jde.

Jaký hardware zvolit

Jedna z nejčastějších chyb je představa, že server musí být výkonný. Ve skutečnosti záleží hlavně na účelu.

Varianta 1: Starý počítač

Nejlevnější cesta. Starý desktop nebo notebook zvládne:

  • souborový server
  • zálohy
  • menší mediální knihovnu

Nevýhody jsou vyšší spotřeba a hluk, ale na začátek postačí.

Varianta 2: Mini PC

Intel NUC, Lenovo ThinkCentre, HP MicroServer.

  • nízká spotřeba
  • tichý provoz
  • dost výkonu pro Docker i virtualizaci

Často nejlepší poměr cena/výkon.

Varianta 3: Raspberry Pi a ARM

Populární, ale ne univerzální řešení.

  • skvělé na lehké služby
  • nízká spotřeba
  • omezený výkon a I/O

Na NAS nebo mediální server už může narážet na limity.

Kolik RAM, disků a výkonu je potřeba

RAM: minimum 4 GB, ideál 8-16 GB (hlavně pro Docker a cache)

CPU: klidně starší i5 / Ryzen 3

Disky:

  • SSD na systém
  • HDD nebo SSD na data
  • ideálně alespoň dva disky pro zrcadlení dat

Velikost úložiště záleží čistě na vás, vzhledem k tomu, že server poroste s vámi.

Jak budeme služby provozovat (Docker)

Všechny aplikace v tomto článku poběží v Docker kontejnerech.

Co je Docker

Docker umožňuje spouštět aplikace v izolovaných kontejnerech. Aplikace neběží přímo v systému, ale v „balíčku“, který obsahuje samotnou aplikaci, její závislosti a základní konfigurace.

Proč Docker

  • nic neinstalujete ručně
  • aplikace se mezi sebou nerozbíjejí
  • jednoduché aktualizace
  • snadné mazání a přidávání služeb

Docker není virtualizace – všechny kontejnery sdílí jeden systém, takže jsou rychlé a úsporné.

Jaký systém nainstalovat

Níže je konkrétní a osvědčený postup postavený na Ubuntu Server + Docker, který je univerzální a zvládne ho i člověk, který se serverem začíná.

Linux jako základ

Nejčastější volba:

Stabilní, zdarma a obrovská komunita.

NAS systémy

Ty jsou vhodné hlavně pro úložiště a média.

Pokud chcete hotové řešení:

Krok za krokem: kompletní konfigurace domácího serveru

Tento návod počítá s tím, že máte:

  • jeden počítač / mini PC
  • přístup k routeru
  • jiný počítač, ze kterého se budete připojovat vzdáleně

1. Instalace Ubuntu Server

  1. Stáhněte Ubuntu Server LTS (bez grafiky)
  2. Vytvořte instalační USB (Rufus / Balena Etcher)
  3. Nabootujte server z USB
  4. Při instalaci:
    • jazyk: libovolně
    • síť: DHCP (default)
    • disk: „Use entire disk“ (pokud nemáte jiné speciální požadavky)
    • vytvořte uživatele a hlavně si někam zapište heslo
    • zaškrtněte instalaci OpenSSH serveru

Pro vizualizaci postupu sem přiložím tutoriál: https://www.youtube.com/watch?v=n7aEcfDNULc

2. Připojení k serveru přes SSH

Na svém počítači:

ssh uzivatel@IP_ADRESA_SERVERUCode language: CSS (css)

IP zjistíte buď v routeru, nebo příkazem ip a přímo na serveru.

Od této chvíle se celý server spravuje vzdáleně.

3. Základní aktualizace systému

sudo apt update && sudo apt upgrade -y

Doporučeno také:

sudo apt install htop curl git ufw -y

Tohle instaluje nové programy, které třeba ještě v systému nejsou.

4. Nastavení firewallu (UFW)

sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status

Později přidáte jen porty, které skutečně potřebujete.

5. Instalace Dockeru

curl -fsSL https://get.docker.com | sudo shCode language: JavaScript (javascript)

Přidání uživatele do Docker skupiny:

sudo usermod -aG docker $USER
logoutCode language: PHP (php)

Po znovupřihlášení:

docker run hello-world

6. Docker Compose

sudo apt install docker-compose-plugin -y

7. Struktura adresářů

Doporučený základ pro představu:

/home/server/
 ├─ docker/
 │   ├─ nextcloud/
 │   ├─ jellyfin/
 │   ├─ wireguard/
 └─ data/
     ├─ nextcloud/
     ├─ media/
     └─ backups/

8. Vlastní cloud – Nextcloud

V adresáři docker/nextcloud/docker-compose.yml:

version: "3"
services:
  db:
    image: mariadb
    restart: always
    volumes:
      - ./db:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: silneheslo
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: ncuser
      MYSQL_PASSWORD: ncpass

  app:
    image: nextcloud
    restart: always
    ports:
      - 8080:80
    volumes:
      - /home/server/data/nextcloud:/var/www/html
    environment:
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: ncuser
      MYSQL_PASSWORD: ncpass
      MYSQL_HOST: dbCode language: JavaScript (javascript)

Spuštění:

docker compose up -d

Nextcloud pak otevřete na http://IP_SERVERU:8080.

9. Mediální server – Jellyfin

docker/jellyfin/docker-compose.yml:

version: "3"
services:
  jellyfin:
    image: jellyfin/jellyfin
    restart: unless-stopped
    ports:
      - 8096:8096
    volumes:
      - /home/server/data/media:/media
      - ./config:/configCode language: PHP (php)

10. VPN přístup – WireGuard

docker run -d \
  --name=wireguard \
  -e PUID=1000 \
  -e PGID=1000 \
  -e SERVERURL=tvujdomain.cz \
  -e SERVERPORT=51820 \
  -p 51820:51820/udp \
  -v /home/server/docker/wireguard:/config \
  --cap-add=NET_ADMIN \
  --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
  linuxserver/wireguardCode language: JavaScript (javascript)

Díky VPN máte server dostupný odkudkoli bezpečně.

Základní software, který dává smysl

  • SSH – vzdálená správa
  • Docker – izolované služby
  • Portainer – správa kontejnerů
  • Nextcloud – vlastní cloud
  • Plex / Jellyfin – média
  • WireGuard – VPN

Aplikací je opravdu hodně, nejvíce jich najdete zde: https://github.com/luong-komorebi/Awesome-Linux-Software

Bezpečnost: na co si dát pozor

Domácí server připojený k internetu není hračka.

Potřeba jsou silná hesla a klíče, žádné otevřené služby bez zabezpečení, pravidelné aktualizace, firewall a oddělení služeb do kontejnerů.

Základní disciplína udělá víc než složitá řešení.

Kolik to stojí

  • hardware: 0-10 000 Kč (podle preference)
  • elektřina: desítky korun měsíčně
  • software: většinou open-source a zdarma

Ve srovnání s dlouhodobým placením cloudů často vyjde levněji.

Proč si ho přes tolik záteže postavit

Domácí server je jeden z mála projektů, který vás něco naučí, reálně vám usnadní život a dává smysl i po několika letech

A hlavně je váš. Bez licencí, bez limitů, bez cizí kontroly.

Pokud vás technologie baví alespoň trochu, vlastní server doma je jedna z nejlepších věcí, do kterých se můžete pustit.

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře