Strona główna

Instalacja

Uruchom Noodle Gallery za pomocą Docker Compose w niecałe pięć minut. Kompatybilne z każdą istniejącą instalacją Immich.

Szukasz szczegółowych instrukcji? Przeczytaj pełną dokumentację

Migracja z Immich

Masz już uruchomiony Immich? Przejście jest proste — zamień dwie nazwy obrazów w pliku docker-compose.yml i podnieś IMMICH_VERSION w pliku .env. Aktualna wersja to v4.

Najpierw wykonaj kopię zapasową bazy danych: docker exec -t immich_postgres pg_dumpall -U postgres > backup.sql
docker-compose.yml
- image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
+ image: ghcr.io/open-noodle/gallery-server:${IMMICH_VERSION:-release}
- image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
+ image: ghcr.io/open-noodle/gallery-ml:${IMMICH_VERSION:-release}
.env
- IMMICH_VERSION=v2
+ IMMICH_VERSION=v4

Następnie pobierz nowe obrazy i zrestartuj:

docker compose pull && docker compose up -d

Twoje dane, baza danych i konfiguracja są w pełni kompatybilne — żadne kroki migracji nie są potrzebne.

Wolisz jednak wrócić? Jednym skryptem przełączysz się z powrotem.

Gallery dostarcza skrypt czyszczący w formie SQL, który usuwa wszystkie tabele, kolumny i wpisy migracji specyficzne dla Gallery — Wspólne Przestrzenie, rozpoznawanie zwierząt, klasyfikacje, dane o duplikatach — i pozostawia czystą bazę danych Immich. Twoje zdjęcia i filmy nigdy nie są naruszane. Po prostu zamień z powrotem dwie nazwy obrazów i znów jesteś na wersji upstream.

Przeczytaj instrukcję powrotu

Ciekawi Cię, co Gallery dodaje do Immich? Przeczytaj pełne porównanie Gallery vs. Immich →

Zaczynasz od zera?
0

Wymagania

Sprzęt 2+ rdzenie CPU, co najmniej 4 GB RAM (zalecane 6 GB+ dla uczenia maszynowego)
Docker Docker Engine v25+ z docker compose (wtyczka v2)
Pamięć masowa Lokalny dysk lub pamięć masowa kompatybilna z S3 na Twoją bibliotekę oraz ~10 GB na kontenery i bazę danych
System operacyjny Linux (zalecany), macOS lub Windows z WSL2
1

Pobierz pliki konfiguracyjne

Utwórz katalog dla Noodle Gallery i pobierz plik Docker Compose oraz szablon środowiska.

Terminal
mkdir ./noodle-gallery
cd ./noodle-gallery

wget -O docker-compose.yml https://github.com/open-noodle/gallery/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/open-noodle/gallery/releases/latest/download/example.env
Możesz też pobrać te pliki ręcznie ze strony najnowszego wydania. Zmień nazwę example.env na .env.
2

Skonfiguruj środowisko

Otwórz plik .env i dostosuj swoje ustawienia. Najważniejsze opcje znajdują się na górze — pamięć masowa S3 jest opcjonalna.

.env
# ── Ustawienia podstawowe ─────────────────────────────────────────

# Lokalizacja zapisu zdjęć i filmów
UPLOAD_LOCATION=./library

# Lokalizacja danych PostgreSQL (musi być lokalny dysk, nie zasób sieciowy)
DB_DATA_LOCATION=./postgres

# Strefa czasowa: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TZ=Etc/UTC

# Tag obrazu kontenera — "release" dla aktualnej, "v4" dla ostatniej v4.x lub np. "v4.0.1" aby przypiąć
IMMICH_VERSION=release

# WAŻNE: Zastąp losowym hasłem (tylko A-Za-z0-9)
DB_PASSWORD=change-me-to-something-random

# Te wartości domyślne rzadko trzeba zmieniać
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

# ── Pamięć masowa kompatybilna z S3 (opcjonalna) ────────────────────────
# Odkomentuj, aby zapisywać przesłane pliki w S3 zamiast na lokalnym dysku.
# Działa z AWS S3, MinIO, Cloudflare R2, Backblaze B2, Wasabi itd.

# IMMICH_STORAGE_BACKEND=s3
# IMMICH_S3_BUCKET=moj-gallery-bucket
# IMMICH_S3_REGION=eu-central-1
# IMMICH_S3_ENDPOINT=https://s3.eu-central-1.amazonaws.com
# IMMICH_S3_ACCESS_KEY_ID=
# IMMICH_S3_SECRET_ACCESS_KEY=
# IMMICH_S3_SERVE_MODE=redirect
# IMMICH_S3_PRESIGNED_URL_EXPIRY=3600

Referencja zmiennych

UPLOAD_LOCATION Ścieżka do przesłanych mediów. W środowisku produkcyjnym użyj ścieżki bezwzględnej.
DB_DATA_LOCATION Ścieżka do danych PostgreSQL. Musi być lokalny dysk — zasoby sieciowe nie są obsługiwane.
DB_PASSWORD Hasło bazy danych. Tylko znaki A-Za-z0-9. Zmień przed pierwszym startem.
IMMICH_VERSION Tag kontenera. release = aktualna, v4 = ostatnia v4.x, lub przypnij do konkretnej wersji.
IMMICH_STORAGE_BACKEND Ustaw na s3, aby zapisywać nowe przesłane pliki w S3. Domyślnie: disk. Istniejące pliki na dysku nadal działają.
IMMICH_S3_BUCKET Nazwa bucketa S3. Wymagana przy pamięci masowej S3.
IMMICH_S3_ENDPOINT Niestandardowy punkt końcowy dla usług spoza AWS (MinIO, R2, B2). Pomiń dla AWS S3.
IMMICH_S3_SERVE_MODE redirect zwraca presigned URL-e (szybciej). proxy streamuje przez serwer. Domyślnie: redirect.
3

Uruchom kontenery

Z katalogu noodle-gallery wykonaj następujące polecenie:

Terminal
docker compose up -d

To polecenie pobiera obrazy kontenerów, tworzy bazę danych i uruchamia wszystkie usługi. Przy pierwszym starcie pobieranych jest ~2 GB obrazów, co może potrwać kilka minut.

Używaj docker compose (ze spacją), a nie docker-compose (z myślnikiem). Samodzielny plik binarny docker-compose jest przestarzały.
4

Otwórz interfejs webowy

Otwórz http://twoj-adres-ip-serwera:2283 w przeglądarce. Zostaniesz poproszony o utworzenie pierwszego konta administratora.

Domyślny adres URL http://localhost:2283

Aplikacja mobilna (Android & iOS) łączy się z tym samym adresem URL. Pobierz ją w Play Store lub App Store i wprowadź adres URL swojego serwera.

Akceleracja GPU opcjonalna

Dla szybszej inferencji ML (rozpoznawanie twarzy, CLIP, rozpoznawanie zwierząt) użyj obrazu ML z akceleracją GPU:

# W pliku docker-compose.yml zmień tag obrazu ML:
image: ghcr.io/open-noodle/gallery-ml:${IMMICH_VERSION:-release}-cuda

Dostępne tagi: -cuda (NVIDIA), -rocm (AMD), -openvino (Intel).

Aktualizacja

Zaktualizuj do najnowszej wersji:

Terminal
docker compose pull
docker compose up -d

Migracje bazy danych są wykonywane automatycznie przy starcie. Przed większymi aktualizacjami wersji zawsze najpierw wykonaj kopię zapasową bazy danych.

Dokumentacja API

Gallery udostępnia pełne REST API udokumentowane przez OpenAPI. Każda działająca instancja oferuje interaktywny interfejs Swagger pod adresem /doc — wraz ze wszystkimi specyficznymi dla forka punktami końcowymi dla Wspólnych Przestrzeni, grup użytkowników i rozpoznawania zwierząt.

Twoja instancja http://twoj-serwer:2283/doc

API można też przeglądać na demo na żywo:

Poznaj API na demo.opennoodle.de

Najczęściej zadawane pytania

Jak zmigrować z Immich do Noodle Gallery?

Zamień dwie nazwy obrazów w swoim pliku docker-compose.yml: zastąp ghcr.io/immich-app/immich-server obrazem ghcr.io/open-noodle/gallery-server, a ghcr.io/immich-app/immich-machine-learning obrazem ghcr.io/open-noodle/gallery-ml. Następnie wykonaj 'docker compose pull && docker compose up -d'. Twoje dane, baza danych i konfiguracja są w pełni kompatybilne — żadne kroki migracji nie są wymagane. Zawsze najpierw wykonaj kopię zapasową bazy danych za pomocą pg_dumpall.

Czy mogę zaimportować swoje zdjęcia z Google Zdjęcia?

Tak. Noodle Gallery ma wbudowanego asystenta importu, który wczytuje archiwum Google Takeout bezpośrednio w przeglądarce. Data, współrzędne GPS, opisy, ulubione i struktura albumów zostają w pełni zachowane. Żadnego skryptu, żadnej wiersza poleceń — wystarczy przesłać plik ZIP.

Jakie są wymagania systemowe?

2+ rdzenie CPU, co najmniej 4 GB RAM (zalecane 6 GB+ dla uczenia maszynowego), Docker Engine v25+ z wtyczką docker compose v2 oraz lokalna przestrzeń dyskowa lub pamięć masowa kompatybilna z S3 na Twoją bibliotekę i ~10 GB na kontenery i bazę danych. Zalecany jest Linux; macOS i Windows (z WSL2) również działają.

Czy Noodle Gallery obsługuje akcelerację GPU?

Tak. Użyj obrazu ML z akceleracją GPU: -cuda dla NVIDIA, -rocm dla AMD lub -openvino dla Intela. Zmień tag obrazu gallery-ml w pliku docker-compose.yml z 'release' na 'release-cuda' (lub tag swojego producenta) i zrestartuj stos.

Czy mogę przechowywać zdjęcia w pamięci masowej kompatybilnej z S3?

Tak. Noodle Gallery obsługuje dowolny backend kompatybilny z S3, w tym AWS S3, MinIO, Cloudflare R2, Backblaze B2 i Wasabi. Ustaw IMMICH_STORAGE_BACKEND=s3 wraz z bucketem, regionem, punktem końcowym i danymi dostępu w pliku .env.

Czy Noodle Gallery jest darmowe?

Tak. Noodle Gallery jest darmowe i open source na licencji AGPL-3.0. Możesz uruchomić je na dowolnym własnym sprzęcie — bez abonamentu, bez limitu pamięci masowej i bez opłat za użytkowanie.

Jak zaktualizować Noodle Gallery do najnowszej wersji?

Wykonaj 'docker compose pull && docker compose up -d' w katalogu noodle-gallery. Migracje bazy danych są przeprowadzane automatycznie przy starcie. Przed większymi aktualizacjami wersji zawsze najpierw wykonaj kopię zapasową bazy danych.

Potrzebujesz pomocy?

Zajrzyj do oficjalnej dokumentacji, przeglądaj referencję API, zapytaj na Discordzie lub otwórz zgłoszenie na GitHubie.