Dokumentacja

Kompletny przewodnik po wdrażaniu i zarządzaniu swoim portfolio fotograficznym Galleria.

Jak zacząć

Galleria to nowoczesna strona portfolio fotograficznego stworzona z użyciem React 19, TypeScript, Express 5 i SQLite. Oferuje zoptymalizowaną dostawę obrazów, panel administracyjny, śledzenie analityki i responsywny design.

Szybkie linki

Konfiguracja Google OAuth SSO

Włącz Google OAuth Single Sign-On dla bezpiecznej, bezhasłowej autoryzacji do panelu administracyjnego Galleria.

Krok 1: Utwórz projekt w Google Cloud

  1. Przejdź do konsoli Google Cloud
  2. Utwórz nowy projekt lub wybierz istniejący
  3. Przejdź do API i usługi → Poświadczenia
  4. Kliknij Utwórz poświadczenia → Identyfikator klienta OAuth
  5. Jeśli zostaniesz o to poproszony, najpierw skonfiguruj ekran zgody OAuth

Krok 2: Skonfiguruj klienta OAuth

  1. Wybierz aplikację internetową jako typ aplikacji
  2. Dodaj swoją domenę do Dozwolonych źródeł JavaScript:
    https://yourdomain.com
  3. Dodaj adres URL zwrotny do Dozwolonych URI przekierowań:
    https://yourdomain.com/api/auth/google/callback
  4. Kliknij Utwórz i zapisz swoje poświadczenia

Krok 3: Skonfiguruj w ustawieniach Galleria

  1. Zaloguj się do swojego panelu administracyjnego Galleria
  2. Przejdź do Ustawienia → Google OAuth
  3. Wprowadź swój identyfikator klienta Google
  4. Wprowadź swój tajny klucz klienta Google
  5. Kliknij Zapisz, aby włączyć Google OAuth SSO

Automatyczna konwersja użytkowników: Istniejący użytkownicy z pasującymi adresami e-mail będą automatycznie konwertowani na uwierzytelnianie Google OAuth. Mogą zalogować się za pomocą Google natychmiast po skonfigurowaniu OAuth.

Wskazówka dotycząca bezpieczeństwa: Dodawaj tylko zaufane adresy e-mail jako użytkowników administracyjnych. Możesz zarządzać dostępem użytkowników z panelu administracyjnego po początkowej konfiguracji.

Konfiguracja OpenObserve Analytics

OpenObserve zapewnia potężną analizę logów i monitorowanie w czasie rzeczywistym dla Twojej strony internetowej Galleria z możliwościami wzbogacania geograficznego.

Krok 1: Zainstaluj OpenObserve za pomocą Dockera

Uruchom OpenObserve za pomocą Docker Compose:

Krok 2: Utwórz konto usługi

  1. Uzyskaj dostęp do OpenObserve pod adresem http://localhost:5080
  2. Zaloguj się za pomocą swoich danych administracyjnych
  3. Przejdź do Ustawienia → Konta usługi
  4. Kliknij Utwórz konto usługi
  5. Nadaj mu nazwę (np. "galleria-analytics") i przypisz odpowiednie uprawnienia
  6. Skopiuj wygenerowany token API do późniejszego użycia

Krok 7: Skonfiguruj Galleria

  1. Zaloguj się do swojego panelu administracyjnego Galleria
  2. Przejdź do Ustawienia → Analityka
  3. Wprowadź swój adres URL OpenObserve (np. http://localhost:5080)
  4. Wprowadź swój identyfikator organizacji
  5. Wprowadź swoją nazwę strumienia (strona internetowa)
  6. Wprowadź swoją nazwę użytkownika (z kroku 2)
  7. Wprowadź swoje hasło (token konta usługi z kroku 2)
  8. Kliknij Zapisz, aby włączyć analitykę OpenObserve

Sukces! Twoja analityka będzie teraz zawierać dane wzbogacone o geolokalizację z miastem, regionem, krajem, ISP i współrzędnymi dla wszystkich odwiedzających.

Sprzętowe kodowanie wideo

Galleria wspiera sprzętowe przyspieszenie kodowania wideo, co pozwala na 5-10 razy szybsze przetwarzanie wideo przy użyciu twojego GPU.

Obsługiwany sprzęt

GPU NVIDIA (NVENC)

Wsparcie dla Dockera i natywne

Intel Quick Sync (QSV)

Tylko wsparcie natywne

GPU AMD (AMF)

Tylko wsparcie natywne

Apple VideoToolbox

Tylko natywne dla macOS

Włącz kodowanie sprzętowe

  1. Przejdź do Panelu administracyjnego → Ustawienia → Jakość wideo
  2. Przełącz "Transkodowanie sprzętowe" na włączone
  3. Przetwarzanie wideo będzie teraz korzystać z akceleracji GPU, gdy będzie dostępna

Wdrożenie produkcyjne

Używając PM2

Dla wdrożenia produkcyjnego bez Dockera:

npm run build
npm install -g pm2
pm2 start ecosystem.config.cjs
pm2 save
pm2 startup

Automatyczne wdrożenie: Wypchnij do gałęzi master, a GitHub Actions automatycznie wdroży twoje zmiany.

Pomóż poprawić tę dokumentację

Znalazłeś błąd lub chcesz wnieść wkład w dokumentację? Zapraszamy do współpracy!

Wnieś wkład na GitHubie