Language: cs
Immich: jak na VPS vytvořit vlastní cloud pro fotografie a videa
Immich je služba pro vlastní hostování fotografií a videí s jejich automatickým nahráváním. Nabízí mobilní aplikace, webové rozhraní, alba, chytré vyhledávání a rozpoznávání obličejů, přičemž knihovna zůstává na serveru, který si zvolíte.
Níže projdeme požadavky Immich, instalaci na Ubuntu s Docker Compose, nastavení HTTPS, připojení telefonu a zálohování do externího úložiště.
Immich v šesti krocích
- Vytvořte Linux VPS s dostatkem paměti RAM a místa na disku.
- Nasměrujte subdoménu, například
photos.example.com, na IP adresu serveru. - Nainstalujte Docker a stáhněte oficiální konfiguraci Immich.
- Zadejte cesty ke knihovně médií a databázi a spusťte kontejnery.
- Uzavřete interní port a povolte HTTPS.
- Nainstalujte mobilní aplikaci a nastavte externí zálohu.
Co je Immich
Immich je open-source aplikace pro správu vlastní knihovny fotografií a videí. Fotografie se zobrazují na časové ose, lze je seskupovat do alb, vyhledávat a automaticky nahrávat z telefonu na server.
Hlavním rozdílem oproti běžné cloudové fotogalerii je kontrola nad serverovou částí. Soubory jsou uloženy na vašem VPS nebo domácím serveru, ale za volné místo, aktualizace, zabezpečení a zálohy odpovídá vlastník.
| Parametr | Cloudová fotogalerie | Immich |
|---|---|---|
| Kde jsou soubory uloženy | V infrastruktuře poskytovatele | Na vašem serveru |
| Údržba | Zajišťuje poskytovatel | Zajišťuje vlastník |
| Náklady | Tarif podle úložiště | VPS, místo na disku a zálohy |
Immich sám o sobě není záloha. Pokud fotografie existují jen na jednom VPS, selhání disku nebo náhodné smazání může archiv stále zničit.
Hlavní funkce Immich
- Automatické nahrávání. Aplikace pro Android a iOS nahrávají fotografie a videa z vybraných alb. Ve výchozím nastavení se používá Wi-Fi a soubory, které už existují, se přeskočí podle kontrolního součtu.
- Chytré vyhledávání. Služba umí vyhledávat podle osob, místa, data, fotoaparátu, textu v obrázku a popisu obsahu. Obličeje seskupí a následně k nim lze přiřadit jména.
- Alba a sdílení. Immich podporuje více uživatelů, sdílená alba, sdílení s partnerem a veřejné odkazy s heslem a datem vypršení.
- Mapa a metadata. Immich načítá údaje EXIF, zobrazuje místo pořízení fotografie, vytváří vzpomínky a podporuje oblíbené položky, archiv a externí knihovny.
Strojové učení nejvíce zatěžuje CPU a RAM během prvního importu. Po vytvoření náhledů a indexů bývá každodenní spotřeba prostředků obvykle nižší.
Požadavky na server Immich
Oficiální požadavky pro aktuální verze jsou:
- 64bitový systém Linux nebo Unix;
- nejméně 2 jádra CPU, doporučena jsou 4;
- nejméně 6 GB RAM, doporučeno 8 GB;
- Docker Engine s pluginem
docker compose; - lokální SSD pro databázi PostgreSQL;
- místo pro originální soubory, náhledy a překódovaná videa.
Immich může běžet na serveru se 4 GB RAM, pokud vypnete funkce strojového učení. Pro rozpoznávání obličejů a chytré vyhledávání je lepší zvolit 8 GB hned od začátku.
Náhledy a překódované soubory zvětší velikost knihovny médií v průměru o 10–20 %. Pro archiv o velikosti 200 GB vyhraďte nejméně 240–260 GB. Databázový adresář DB_DATA_LOCATION by měl být uložen na lokálním SSD, nikoli na síťovém disku.
Praktická výchozí konfigurace je 4 vCPU, 8 GB RAM, Ubuntu 24.04 LTS a SSD s kapacitou o 20–30 % větší, než má zdrojová knihovna. Dedikovaná grafická karta není nutná, i když může urychlit zpracování velkého archivu.
Jak nainstalovat Immich na VPS
V příkladu se používá Ubuntu 24.04 a subdoména photos.example.com.
1. Nastavte DNS a připravte Ubuntu
Vytvořte DNS záznam A, který ukazuje na IPv4 adresu VPS. Poté se připojte přes SSH:
ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enableAktuální SSH relaci nezavírejte, dokud neověříte, že nové připojení funguje.
2. Nainstalujte Docker a Docker Compose
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
docker compose versionPoužívejte konkrétně příkaz docker compose: zastaralý příkaz docker-compose už projekt nepodporuje.
3. Stáhněte a nastavte Immich
mkdir -p /opt/immich /srv/immich-data
cd /opt/immich
curl -L -o docker-compose.yml \
https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
curl -L -o .env \
https://github.com/immich-app/immich/releases/latest/download/example.envOtevřete soubor:
nano /opt/immich/.envZměňte hlavní parametry:
UPLOAD_LOCATION=/srv/immich-data
DB_DATA_LOCATION=/opt/immich/postgres
TZ=Europe/Berlin
DB_PASSWORD=REPLACE_WITH_A_LONG_PASSWORDZadejte vlastní časové pásmo. Heslo PostgreSQL by mělo obsahovat latinská písmena a číslice; náhodnou hodnotu vygeneruje příkaz openssl rand -hex 24. Ostatní řádky ponechte tak, jak jsou v aktuálním souboru example.env.
4. Uzavřete interní port a spusťte kontejnery
V souboru docker-compose.yml najděte port služby immich-server:
ports:
- '2283:2283'Nahraďte ho:
ports:
- '127.0.0.1:2283:2283'Port je nyní dostupný pouze ze samotného VPS. Spusťte službu:
cd /opt/immich
docker compose up -d
docker compose psPro diagnostiku použijte docker compose logs --tail=200.
5. Povolte HTTPS s Caddy
apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
photos.example.com {
reverse_proxy 127.0.0.1:2283
}
EOF
caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddyCaddy si vyžádá certifikát automaticky, pokud DNS ukazuje na VPS a porty 80 a 443 jsou dostupné. Immich musí běžet v kořenu domény nebo subdomény; adresa jako example.com/immich není podporována.
6. Vytvořte správce a připojte telefon
Otevřete https://photos.example.com. První zaregistrovaný uživatel se stane správcem a může vytvářet další účty.
Nainstalujte Immich z App Store nebo Google Play. Na přihlašovací obrazovce zadejte adresu bez /api:
https://photos.example.comVyberte alba a povolte zálohování. První import může chvíli trvat: server generuje náhledy, rozpoznává obličeje, indexuje data pro vyhledávání a zpracovává videa.
Aktualizace Immich
Před aktualizací si přečtěte poznámky k vydání, zejména při přechodu na novou hlavní verzi:
cd /opt/immich
docker compose pull
docker compose up -d
docker image pruneNejprve aktualizujte mobilní aplikace a potom server. Vrácení databáze na starší verzi nemusí být podporováno, pokud k tomu nejsou uvedeny samostatné pokyny.
Zálohování Immich
Immich automaticky vytváří výpisy PostgreSQL, které však obsahují pouze databázi a metadata, nikoli fotografie a videa. Pro úplné obnovení ukládejte:
- celý adresář
/srv/immich-data; /opt/immich/.envadocker-compose.yml;- konfiguraci Caddy.
Kopie na stejném VPS nechrání před selháním disku ani smazáním serveru. Odesílejte data na samostatný server, NAS nebo do objektového úložiště a dodržujte strategii zálohování 3-2-1. Pravidelně zkoušejte obnovení, nikoli jen existenci záložních souborů.
Jaký VPS zvolit pro Immich
Pro plnou funkčnost s rozpoznáváním obličejů a chytrým vyhledáváním je rozumné zvolit VPS nejméně se 4 vCPU a 8 GB RAM. Velikost disku vypočítejte podle knihovny médií a přidejte kapacitu pro náhledy, videa a růst archivu.
Pro tento úkol se hodí Linux VPS od tropic.host se statickou IP adresou a SSD úložištěm. Můžete začít s konfigurací 8 GB RAM a zvyšovat zdroje podle růstu knihovny. Databázi PostgreSQL ponechte na rychlém lokálním disku a zálohu uložte mimo tento VPS.
VPS je pohodlný pro nepřetržitý přístup z libovolné sítě. Pro archiv o velikosti několika terabajtů může být levnější domácí server, ale napájení, externí přístup a redundanci si budete muset zajistit sami.
Omezení Immich
Vlastní hostování nezaručuje spolehlivost. Slabé heslo, vystavený port 2283, zastaralé kontejnery nebo chybějící externí záloha představují riziko ztráty dat.
Immich také není přesnou kopií Google Photos ani iCloudu: možnosti úprav a synchronizace na pozadí se liší a rychlost analýzy závisí na hardwaru. Před přesunem jediného archivu službu otestujte s malou knihovnou.
Závěr
Immich umožňuje vytvořit vlastní fotogalerii s nahráváním z mobilu, alby, rozpoznáváním obličejů, vyhledáváním a sdílením. Pro aktuální verzi je nejlepší připravit Linux VPS se 4 jádry, 8 GB RAM a SSD s volnou kapacitou alespoň 20–30 %.
Po instalaci nastavte HTTPS, aktualizace a externí zálohu adresáře s médii společně s databází. Před ztrátou fotografií chrání právě záloha, nikoli vlastní hostování samo o sobě.
FAQ
Je Immich zdarma?
Server Immich je open source a může běžet bez povinného předplatného. Stále však platíte za VPS, doménu, místo na disku a zálohy.
Kolik RAM Immich potřebuje?
Oficiální minimum je 6 GB RAM, doporučeno je 8 GB. Se 4 GB bude nutné vypnout strojové učení.
Lze Immich nainstalovat bez domény?
Technicky ano, ale pro trvalý přístup z telefonu je lepší použít doménu a HTTPS. Chrání to ověřování i přenos souborů.
Nahrazuje Immich zálohu fotografií?
Ne. Knihovnu médií a databázi kopírujte samostatně na jiné zařízení nebo do jiného umístění.
Lze přenést existující archiv fotografií?
Ano. Soubory lze nahrát přes webové rozhraní nebo CLI, případně připojit adresář jako externí knihovnu. Před rozsáhlým importem si vytvořte kopii zdrojových dat.
