W erze dominacji usług chmurowych (Google Photos, iCloud) coraz więcej użytkowników oraz firm szuka rozwiązań self-hosted, które zapewniają:
- pełną kontrolę nad danymi,
- prywatność,
- brak vendor lock-in,
- możliwość integracji z własną infrastrukturą.
OpenPhotos to projekt open source, który wpisuje się w ten trend – oferując platformę do zarządzania zdjęciami i wideo hostowaną na własnym serwerze.
Dodatkowo istnieje klient mobilny (np. iOS), który komunikuje się z serwerem OpenPhotos i nie zbiera danych użytkownika .
Czym jest OpenPhotos?
OpenPhotos to:
- serwerowa aplikacja do przechowywania zdjęć i filmów,
- webowy interfejs użytkownika,
- API do integracji,
- opcjonalne aplikacje klienckie (mobile).
Projekt jest rozwijany jako open source (licencja AGPLv3 – co oznacza obowiązek udostępniania zmian w przypadku publikacji usługi).
Główne założenia:
- przechowywanie danych lokalnie (NAS, serwer, VPS)
- prywatność – brak wysyłania zdjęć do zewnętrznych usług
- integracja przez API
- dostęp przez aplikacje mobilne i web
Architektura rozwiązania
OpenPhotos działa w modelu klient–serwer.
Komponenty:
- Backend (API + logika aplikacji)
- zarządzanie zdjęciami
- indeksowanie metadanych
- autoryzacja użytkowników
- Frontend (UI webowy)
- galeria zdjęć
- przeglądanie albumów
- wyszukiwanie
- Storage
- lokalny filesystem (najczęściej)
- potencjalnie integracje z zewnętrznymi storage’ami
- Klienci (mobile / web)
- synchronizacja zdjęć
- przeglądanie zasobów
Funkcjonalności
Choć projekt jest mniej dojrzały niż konkurencja (np. PhotoPrism czy LibrePhotos), oferuje podstawowe funkcje:
Zarządzanie zdjęciami
- upload zdjęć i wideo
- organizacja w kolekcje
- dostęp przez przeglądarkę
Metadane i organizacja
- obsługa EXIF
- filtrowanie i sortowanie
Prywatność i dostęp
- kontrola dostępu do zasobów
- separacja użytkowników (w zależności od implementacji)
Synchronizacja
- aplikacje mobilne (np. iOS)
- możliwość budowy własnych klientów przez API
OpenPhotos vs inne rozwiązania
| Cecha | OpenPhotos | LibrePhotos | PhotoPrism |
|---|---|---|---|
| AI (rozpoznawanie twarzy) | Tak | Tak | Tak |
| Dojrzałość projektu | Niska | Średnia | Wysoka |
| Self-hosted | Tak | Tak | Tak |
| API | Tak | Tak | Tak |
| Mobile client | Tak | Ograniczony | Ograniczony |
Wniosek:
OpenPhotos to raczej lekki projekt / baza pod rozwój, a nie pełnoprawny zamiennik Google Photos.
Instalacja OpenPhotos
Ponieważ projekt jest rozwijany jako aplikacja serwerowa, zainstalujmy ją na serwerze Ubuntu lub Debian.
Wymagania
- min. 2 GB RAM
- Linux / VPS / NAS
Pobierz modele AI — bez nich nie zadziała:mkdir /opt/openphotos
cd /opt/openphotos
wget https://raw.githubusercontent.com/openphotos-ca/openphotos/main/download_models.sh
chmod +x download_models.sh
./download_models.sh


# Pobierz paczkę
wget https://github.com/openphotos-ca/openphotos/releases/download/v0.3.0/openphotos_0.3.0_amd64.deb

# Zainstaluj
sudo dpkg -i openphotos_0.3.0_amd64.deb

Uruchamianie:
openphotos --model-path /opt/openphotos/models --database /opt/openphotos/data --log-level debug
Open Photos jest serwowany na porcie :3003

Przejdź do przeglądarki wpisz adres IP serwera oraz port :3003, kliknij Don’t have an account? Sign up by zarejestrować konto administratora:

Wypełnij dane i kliknij Create account, przykład:

Przywita Cię panel administracyjny:

Przesyłanie plików logalnie
Kliknij na „hamburger” / Bulk Uplad / browse files


Po wybraniu zdjęć lub filmów Kliknij upload i poczekaj aż pliki zostaną przesłane:


Połączenie Open Photos z telefonem (Claudflare tunnel)
Zaloguj się do Swojego konta Claudflare, wybierz Zero Trust, następnie Networks / Connectors / Create a tunnel



Wybierz Cloudflared

Nadaj naswę tunelowi i kliknij Save tunnel

Wybierz Debian

Skopiuj komendę i wprowadź ją na serwer z zainstalowanym Open photos

Następnie skopiuj i wprowadź tą komendę:

Po chwili Claudflare zestawi połączenie i kliknij Next

W Subdomain nadaj nazwę subdomeny, w Domain, wybierz swoją domenę. Service / Type, wybierz HTTP a w URL wpisz adres IP Swojego serwera Open Photos wraz z portem :3003 i kliknij Complete setup

Masz już zdalny dostęp do Open photos, wystarczy że w przeglądarce wpisujesz Swoją subdomene.domene. Jeśli chcesz możesz się zalogować. Przejdźmy teraz to telefonu.

Instalacja i połączenie Open photos z telefonem
W telefonie przejdź do przeglądarki internetowej i wyszukaj openphotos github, kliknij na link z nazwą Releases · openphotos-ca/openphotos

Kliknij na openphotos-android-release.apk by pobrać plik i zainstalować

Otwórz i zainstaluj:

Po zainstalowaniu uruchom aplikację i Zezwalaj na wszystko

Wybierz https:// wpisz Swoją subdomene.domene ustaw port 443 (Cloudflare nasłuchuje na tym porcie), wypełnij pola do logowania i kliknij Log In

Przesyłanie zdjęć i filmów
Wystarczy że połączysz się do wifi (wysyłanie nie działa przez sieć komórkową) klikniesz na ikonę Sync, zjedź niżej aż znajdziesz sekcję Actions, kliknij na Sync Now. Radzę wysyłać całą swoją bibliotekę filmów i zdjęć z podpiętą ładowarką do telefonu. Zależnie od prędkości wysyłania i ilości plików, proces może bardzo długo trwać.
Możesz już w pełni korzystać z Open photos na telefonie oraz na komputerze w sieci lokalnej jak i zdalnie !
Podsumowanie
Artykuł opisuje system OpenPhotos jako rozwiązanie typu self-hosted do zarządzania zdjęciami i wideo, stanowiące alternatywę dla usług chmurowych takich jak Google Photos czy iCloud. Podkreślono rosnące znaczenie prywatności, kontroli nad danymi oraz unikania uzależnienia od dostawców zewnętrznych.
OpenPhotos przedstawiono jako projekt open source (licencja AGPLv3), który umożliwia przechowywanie danych na własnym serwerze, oferuje interfejs webowy, API oraz opcjonalne aplikacje mobilne. System działa w architekturze klient–serwer i składa się z backendu (zarządzanie danymi, autoryzacja), frontendu (interfejs użytkownika), warstwy storage oraz klientów (web/mobile).

