Tysiące zdjęć i filmów – jak to ogarnąć na własnym serwerze?

Spis treści

Jest takie mądre powiedzenie, że są 2 rodzaje ludzi – ci którzy robią backupy i ci, którzy dopiero będą je robić. Ja od jakiegoś czasu należę do tej pierwszej grupy – mój serwer NAS z TrueNAS Scale, którego perypetie opisałem we wpisie TrueNAS – czyli jak postawić sieciowy magazyn dyskowy i nie zbankrutować – przydługa opowieść ze zwrotem akcji, od początku miał być bezpiecznym miejscem na to, czego nie da się odkupić – dokumenty, a przede wszystkim zdjęcia i filmy z naszych telefonów.
I to działa. Pliki są zgrane, dyski pracują w mirrorze (już na CMR – o tym, jak się na tym przejechałem, było w TrueNAS vs dyski SMR/CMR – czyli jak wpadłem w pułapkę zastawioną przez producentów dysków HDD), dane są bezpieczne. Problem pojawia się później – gdy chcemy coś w tym archiwum znaleźć.
Bo co z tego, że na dyskach leżą tysiące zdjęć i filmów, skoro znalezienie konkretnego filmiku sprzed kilku lat sprowadza się do przeklikiwania folderów o nazwach typu DCIM_2019_kopia_2? Z kilku telefonów, z kilku lat, kopiowanych na raty i czasem po 2 razy…
O tym, jak to ogarniam, będzie właśnie ten wpis. Ogarniam – bo od razu się przyznam, że jestem dopiero na początku drogi. Do Immicha zaimportowałem póki co zaledwie część zdjęć – ok. 4000, czyli 17 GB. W Stashu jest niecałe 2000 filmów zajmujących 232 GB – i to też dopiero początek, będzie ich dużo więcej. Ale już na tym etapie widać, że to był dobry kierunek.
Czego właściwie szukam?
Zanim zacząłem cokolwiek instalować, spisałem sobie kilka wymagań:
- self-hosted – wszystko ma działać na moim serwerze, a nie w chmurze. Powody są 2: koszty (płacenie co miesiąc za kilka TB miejsca w Google Photos czy iCloud szybko przestaje być zabawne) i prywatność – zdjęcia dzieci to ostatnia rzecz, jaką chcę oddawać do trenowania czyichś modeli
- import, katalogowanie i wyszukiwanie – program ma sam przeskanować pliki, wyciągnąć z nich co się da i pozwolić je potem szybko znaleźć
- wygodny interfejs www – tak, żeby z biblioteki mogła skorzystać też żona, a nie tylko „ten od komputerów”
Ktoś powie – przecież to wszystko robi Google Photos. Tak, to prawda, robi to świetnie. Tylko że płacimy za to podwójnie – raz abonamentem, a drugi raz swoimi danymi. A skoro mam już serwer, który i tak chodzi 24/7, to szkoda go nie wykorzystać.
Co jest na rynku?
Okazuje się, że self-hostowanych galerii jest całkiem sporo – wyrosły jak grzyby po deszczu, zwłaszcza w ostatnich latach, gdy Google przestał oferować darmowe miejsce bez limitu. Przejrzałem najpopularniejsze (liczby gwiazdek na GitHubie z października 2026, tak dla orientacji w popularności):
Zdjęcia
- Immich (~115 tys. gwiazdek) – zdecydowany lider. Napisany jako alternatywa dla Google Photos – aplikacja mobilna z automatycznym backupem, rozpoznawanie twarzy, wyszukiwanie „po ludzku” (CLIP), mapa, albumy, wiele kont użytkowników. Licencja AGPL, projekt wspierany przez FUTO
- PhotoPrism (~40 tys. gwiazdek) – starszy i dojrzały, również z rozpoznawaniem twarzy i automatycznym tagowaniem. Część funkcji jest jednak dostępna tylko w płatnych planach, a dedykowanej aplikacji mobilnej do backupu brak
- Ente (~29 tys. gwiazdek) – nastawiony na szyfrowanie end-to-end. Głównie usługa chmurowa, ale serwer można postawić u siebie
- LibrePhotos (~8 tys. gwiazdek) – podobne założenia co Immich, ale dużo mniejsza społeczność
- Piwigo i Lychee – klasyczne galerie www. Fajne, jeśli chcemy pokazać albumy światu, ale do archiwum z telefonów – szału nie ma
- Nextcloud (z aplikacją Memories) – opcja dla tych, którzy i tak mają już Nextclouda. Dla samych zdjęć to jednak spora armata na wróbla
Filmy
Tu sprawa jest ciekawsza. Hasło „self-hosted video” wyrzuca przede wszystkim serwery multimedialne: Jellyfin (~58 tys. gwiazdek), Plex czy Emby. To świetne narzędzia, ale do czego innego – służą do oglądania filmów i seriali, a metadane pobierają z baz typu TMDB. Domowy filmik „IMG_4521.MOV” nie ma w nich ani okładki, ani opisu, a narzędzi do jego katalogowania jest niewiele.
Immich też obsługuje filmy – i to całkiem dobrze – ale traktuje je jak zdjęcia, które się ruszają. Do porządkowania dużej kolekcji wideo brakowało mi w nim filtrowania i opisywania.
I tak trafiłem na Stash (~13 tys. gwiazdek) – aplikację napisaną w Go, która jest właśnie organizerem kolekcji wideo (i zdjęć). Ale o nim za chwilę…
Co ważne dla posiadaczy TrueNAS
Zarówno Immich, jak i Stash są dostępne w katalogu aplikacji TrueNAS Scale (sekcja community). Jellyfin, Nextcloud i Piwigo zresztą też. Instalacja sprowadza się do wyklikania aplikacji w zakładce Apps i wskazania datasetów na dane – bez ręcznego pisania docker-compose.yml. Tu nie ma żadnej filozofii.
Immich – czyli Google Photos u siebie

Immich wygląda i działa jak Google Photos – i to jest jego największa zaleta. Kto korzystał z aplikacji Google, ten odnajdzie się tu bez instrukcji – a to ważne, jeśli z biblioteki ma korzystać cała rodzina 🙂
Co mi się w nim najbardziej podoba:
- instalacja z Apps w TrueNAS Scale – kilka kliknięć, wskazanie datasetu na zdjęcia i bazę danych i gotowe
- automatyczna indeksacja – po wrzuceniu zdjęć Immich sam generuje miniatury, czyta metadane i odpala uczenie maszynowe. Przy dużej bibliotece pierwsze skanowanie trochę potrwa, ale robi się je raz, a potem nowe zdjęcia są przetwarzane na bieżąco
- rozpoznawanie twarzy – Immich grupuje zdjęcia według osób, wystarczy nadać im imiona. Potem wyszukanie wszystkich zdjęć z babcią to jedno kliknięcie. A można też szukać kilku osób naraz – np. zdjęć, na których jest 2 konkretnych dzieci
- wyszukiwanie kontekstowe – wpisujemy „pies na plaży” albo „tort urodzinowy” i Immich znajduje pasujące zdjęcia, nawet jeśli nikt ich nigdy nie opisał. Domyślny model rozumie po angielsku, ale w ustawieniach można go zmienić na wielojęzyczny i szukać po polsku
- geolokalizacja z danych EXIF – telefony zapisują w zdjęciach współrzędne GPS, a Immich pokazuje je na mapie i zamienia na nazwy miejscowości. Wystarczy wpisać nazwę miejscowości, żeby zobaczyć wszystkie zdjęcia z danego wyjazdu
- albumy – również współdzielone z innymi użytkownikami albo udostępniane linkiem, np. rodzinie
- wyszukiwanie duplikatów – w zakładce narzędzi Immich pokazuje zdjęcia podobne do siebie i pozwala zostawić tylko najlepszą wersję. Przy archiwum kopiowanym latami z kilku telefonów to strzał w dziesiątkę
- aplikacja mobilna (iOS i Android) – automatycznie wysyła nowe zdjęcia z telefonu na serwer, także w tle. Czyli backup dzieje się sam, bez pamiętania o podpinaniu telefonu do komputera
Zrzutu ekranu z rozpoznanymi twarzami nie pokażę – to akurat są dane, które zostają w domu 🙂 Pokażę za to mapę:

Wystarczyło zaimportować zdjęcia, a Immich sam rozłożył je na mapie na podstawie danych EXIF – Islandia, Norwegia, Włochy… Klikamy w punkt na mapie i mamy wszystkie zdjęcia z tego miejsca.
Jeśli mamy już archiwum zdjęć na NASie, to nie musimy go nigdzie przenosić – Immich obsługuje tzw. external libraries, czyli katalogi tylko do odczytu, które indeksuje w miejscu. Można też wrzucić wszystko przez przeglądarkę albo narzędziem CLI.
Kto chce się pobawić przed instalacją – jest demo online (login: demo@immich.app, hasło: demo).
Stash – czyli porządek w filmach

Uczciwie trzeba powiedzieć jedno – Stash wyrósł ze społeczności, która porządkowała kolekcje filmów… powiedzmy, nie dla dzieci. Widać to po nazewnictwie w interfejsie („Performers”, „Studios”) i po wbudowanej integracji z bazami metadanych typu StashDB. Ktoś może się zdziwić, ale nie ma się co zrażać – pod spodem to po prostu bardzo dobry organizer wideo, a te elementy, których nie potrzebujemy, zwyczajnie pomijamy. Do domowych filmów z wakacji sprawdza się świetnie.
Co mnie w nim przekonało:
- instalacja z Apps w TrueNAS Scale – dokładnie tak samo jak Immich
- podmontowanie katalogów bez przenoszenia plików – wskazujemy Stashowi katalogi z filmami, a on je skanuje i indeksuje w miejscu. Struktura folderów na NASie zostaje taka, jaka była – i to dla mnie bardzo ważne, bo te same pliki są dostępne też np. przez udział SMB
- generowanie podglądów – miniatury, krótkie podglądy wideo po najechaniu myszką, a nawet „sprite” do przewijania. Dzięki temu nie trzeba odpalać filmu, żeby wiedzieć, co na nim jest
- tagi, grupy i własne opisy – każdy film możemy otagować, ocenić, opisać, dodać datę, połączyć w grupy. Tagi mogą być hierarchiczne (np.
lokalizacja→Islandia), a w filmie można dodać znaczniki (markers) na konkretnej minucie - edycja hurtowa – zaznaczamy kilkadziesiąt filmów i dodajemy im te same tagi za jednym razem
No i najważniejsze – filtrowanie. Tu Stash wygrywa wszystko, co widziałem. Filtry można łączyć ze sobą, a gotowy zestaw zapisać na później. Kilka przykładów:
- długość filmu krótsza niż 5 sekund
- tagi zawierające
Norwegiairower, ale niekoncert - ścieżka pliku zawierająca
2019(przydaje się, gdy foldery są nazwane latami) - rozdzielczość co najmniej 1080p
- rozmiar pliku większy niż 2 GB (szukanie „pożeraczy miejsca”)
- ocena co najmniej 4 gwiazdki – czyli „best of” do pokazania rodzinie
- flaga Organized niezaznaczona – czyli lista filmów, których jeszcze nie opisałem
Dlaczego 2 programy, a nie 1?
Oba programy obsługują i zdjęcia i filmy, więc teoretycznie wystarczyłby 1. Ja sobie jednak je podzieliłem: Immich do zdjęć, Stash do filmów.
O ile do zdjęć nie ma nic lepszego od Immicha – rozpoznawanie twarzy, mapa, aplikacja mobilna – o tyle przy filmach brakowało mi w nim narzędzi do porządkowania. Z kolei Stash ze zdjęciami sobie poradzi, ale bez backupu z telefonu i bez rozpoznawania twarzy to tylko połowa zabawy. Każdy z nich robi więc to, w czym jest najlepszy.
Sam import filmów do Stasha jest banalny – w ustawieniach aplikacji podmontowuję kolejny katalog z dysku NAS, a Stash go skanuje i indeksuje. Pliki zostają tam, gdzie były, a ja dokładam do biblioteki kolejne zbiory w swoim tempie.
Stash w praktyce – sprzątanie archiwum
Kto ma dzieci i telefon, ten wie, ile w galerii jest filmików trwających sekundę – kieszeń, podłoga, przypadkowe przytrzymanie przycisku… Takie „śmieci” zwykle nikomu do niczego się nie przydadzą, a przy przeglądaniu archiwum skutecznie przeszkadzają.
W Stashu poradziłem sobie z tym raz dwa:
- Ustawiamy filtr: Duration mniejsze niż 5 sekund.
- Przeglądamy wyniki (podglądy po najechaniu myszką bardzo pomagają) i odznaczamy te, które jednak warto zostawić.
- Zaznaczamy resztę, wybieramy Delete i zaznaczamy opcję usunięcia również plików z dysku.
Dokładnie nie liczyłem, ale w ten sposób zniknęło kilkaset takich filmików. Bez skryptów, bez szukania po folderach.
Tylko uwaga – usunięcie razem z plikami jest nieodwracalne (no chyba, że mamy snapshoty w TrueNAS, a warto mieć). Najpierw sprawdzamy, co jest w wynikach, potem klikamy.
Druga rzecz to tagowanie. Ja na razie stosuję 3 rodzaje tagów:
- lokalizacja – np.
Islandia,Norwegia,Włochy - aktywność – np.
paintball,rower,koncert - osoby – po prostu imiona, np.
Maciek,Weronika
Możliwość opisania filmów hurtem, wieloma tagami naraz – np. zaznaczam wszystkie filmy z jednego wyjazdu i dodaję im lokalizację i imiona osób – sprawia, że potem nawet wielkie archiwum przeszukuje się w kilka sekund. Szukam rowerowych filmów z Norwegii? 2 tagi w filtrze i gotowe.
Czy Stash zrobi wszystko za nas?
No nie. Trzeba to powiedzieć wprost – o ile Immich większość pracy robi sam (twarze, miejsca, duplikaty), o tyle w Stashu to my jesteśmy tym „uczeniem maszynowym”. Ktoś musi te filmy przejrzeć, otagować i opisać. Przy kilku latach nagrań to jest praca na wiele wieczorów.
Dobra wiadomość jest taka, że największy efekt widać od razu. Ja dopiero zacząłem, ale dosłownie w 1 wieczór udało się zrobić całkiem sporo: instalacja aplikacji, indeksacja plików, odsianie śmieci i wstępne otagowanie całych zbiorów – hurtem, katalog po katalogu. Dokładniejsze opisywanie pojedynczych filmów to już proces na dłużej.
Ale jeśli raz to zrobimy i potem utrzymamy ustalony porządek – nowe filmy opisujemy na bieżąco, a nie raz na rok – to wyszukanie konkretnego filmu jest dużo szybsze i prostsze. Zamiast przeklikiwać foldery, wpisuję 2 tagi i mam to, czego szukam. Tylko tyle i aż tyle.
Zatem czy warto?
Dla mnie zdecydowanie tak. Sam backup to tylko połowa sukcesu – zdjęcia i filmy, których nie da się znaleźć, są trochę jak pudło ze zdjęciami na strychu: niby są, ale nikt do nich nie zagląda. Immich i Stash zmieniły moje archiwum w coś, w czym da się wreszcie coś znaleźć – a wszystko to na własnym serwerze, bez abonamentu i bez wysyłania zdjęć dzieci do chmury.
Trzeba tylko pamiętać, że to wciąż jest self-hosting – czyli aktualizacje, kopie zapasowe bazy danych i od czasu do czasu jakaś zabawa przy konfiguracji spadają na nas. A NAS z jedną kopią danych to nadal nie jest backup w rozumieniu zasady 3-2-1 – ale to już temat na inny wpis…
Co dalej?
Plan jest prosty – dodawać kolejne katalogi ze zdjęciami i filmami, bo to, co mam teraz, to tylko wierzchołek góry lodowej. W Stashu chcę też zacząć tworzyć grupy filmów – np. wszystkie nagrania z jednego wyjazdu w jednym miejscu – żeby nawigacja po bibliotece była jeszcze łatwiejsza. Jak archiwum urośnie, może opiszę, jak oba programy radzą sobie przy większej skali.
A jak Wy ogarniacie swoje zdjęcia i filmy? Może korzystacie z czegoś, co pominąłem – dajcie znać w komentarzach, chętnie sprawdzę 🙂
Komentarze
Ładowanie komentarzy…


