Документация

Пълен наръчник за разгръщане и управление на вашето фотографско портфолио Галария.

Започване

Галария е модерен уебсайт за фотографско портфолио, изграден с React 19, TypeScript, Express 5 и SQLite. Той предлага оптимизирана доставка на изображения, администраторски панел, проследяване на аналитика и отзивчив дизайн.

Бързи връзки

Настройка на Google OAuth SSO

Активирайте Google OAuth Single Sign-On за сигурна, безпаролна автентикация на вашата администраторска панел на Galleria.

Стъпка 1: Създайте проект в Google Cloud

  1. Отидете на Google Cloud Console
  2. Създайте нов проект или изберете съществуващ
  3. Навигирайте до APIs & Services → Удостоверения
  4. Щракнете върху Създаване на удостоверения → OAuth клиентско ID
  5. Ако бъдете подканени, първо конфигурирайте екрана за съгласие на OAuth

Стъпка 2: Конфигурирайте OAuth клиент

  1. Изберете Уеб приложение като тип на приложението
  2. Добавете домейна си в Разрешени JavaScript произходи:
    https://yourdomain.com
  3. Добавете URL адреса за обратна връзка в Разрешени пренасочващи URI:
    https://yourdomain.com/api/auth/google/callback
  4. Щракнете върху Създаване и запазете удостоверенията си

Стъпка 3: Конфигурирайте в настройките на Galleria

  1. Влезте в администраторския панел на Galleria
  2. Навигирайте до Настройки → Google OAuth
  3. Въведете вашия Google Client ID
  4. Въведете вашия Google Client Secret
  5. Кликнете Запази, за да активирате Google OAuth SSO

Автоматично преобразуване на потребители: Съществуващите потребители с съвпадащи имейл адреси ще бъдат автоматично преобразувани в Google OAuth удостоверяване. Те могат да влязат с Google веднага след конфигурирането на OAuth.

Съвет за сигурност: Добавяйте само доверени имейл адреси като администратори. Можете да управлявате достъпа на потребителите от администраторския панел след първоначалната настройка.

Настройка на OpenObserve Analytics

OpenObserve предоставя мощна аналитика на логовете и мониторинг в реално време за вашия уебсайт Galleria с възможности за гео-обогатяване.

Стъпка 1: Инсталирайте OpenObserve с Docker

Стартирайте OpenObserve с помощта на Docker Compose:

Стъпка 2: Създайте служебен акаунт

  1. Достъп до OpenObserve на http://localhost:5080
  2. Влезте с вашите администраторски данни
  3. Навигирайте до Настройки → Служебни акаунти
  4. Кликнете Създайте служебен акаунт
  5. Дайте му име (напр. "galleria-analytics") и задайте подходящи разрешения
  6. Копирайте генерирания API токен за по-късна употреба

Стъпка 7: Конфигуриране на Galleria

  1. Влезте в администраторския панел на Galleria
  2. Отидете на Настройки → Анализи
  3. Въведете вашия OpenObserve URL (напр. http://localhost:5080)
  4. Въведете вашия Идентификатор на организацията
  5. Въведете името на вашия поток (уебсайт)
  6. Въведете вашето потребителско име (от Стъпка 2)
  7. Въведете вашата парола (токен на служебния акаунт от Стъпка 2)
  8. Натиснете Запази, за да активирате аналитиката на OpenObserve

Успех! Вашите анализи сега ще включват геообогатени данни с град, регион, страна, ISP и координати за всички посетители.

Хардуерно видео кодиране

Galleria поддържа хардуерно ускорено видео кодиране за 5-10 пъти по-бързо обработване на видео с помощта на вашия GPU.

Поддържан хардуер

NVIDIA GPUs (NVENC)

Поддръжка на Docker и нативна поддръжка

Intel Quick Sync (QSV)

Само нативна поддръжка

AMD графични процесори (AMF)

Само местна поддръжка

Apple VideoToolbox

Само за macOS

Активирайте хардуерното кодиране

  1. Отидете на Административен панел → Настройки → Качество на видеото
  2. Превключете "Хардуерно транскодиране" на включено
  3. Обработката на видео сега ще използва ускорение с GPU, когато е налично

Производствено разгръщане

Използване на PM2

За производствено разгръщане без Docker:

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

Автоматизирано разгръщане: Изпратете до главния клон и GitHub Actions автоматично разгръща вашите промени.

Помогнете за подобряване на тази документация

Намерихте грешка или искате да допринесете за документацията? Приветстваме приноси!

Допринесете в GitHub