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

Полное руководство по развертыванию и управлению вашим портфолио фотографий Galleria.

Начало работы

Galleria - это современный сайт портфолио фотографий, созданный с использованием 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 → Credentials
  4. Нажмите Создать учетные данные → OAuth client 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. Введите ваш URL OpenObserve (например, http://localhost:5080)
  4. Введите ваш ID организации
  5. Введите название вашего потока (вебсайт)
  6. Введите ваше имя пользователя (из Шага 2)
  7. Введите ваш пароль (токен сервисной учетной записи из Шага 2)
  8. Нажмите Сохранить, чтобы включить аналитику OpenObserve

Успех! Ваша аналитика теперь будет включать геообогащенные данные с городом, регионом, страной, провайдером интернет-услуг и координатами для всех посетителей.

Аппаратное видеокодирование

Galleria поддерживает аппаратное видеокодирование с аппаратным ускорением для 5-10 раз более быстрого видеопроцессинга с использованием вашего GPU.

Поддерживаемое оборудование

GPU NVIDIA (NVENC)

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

Intel Quick Sync (QSV)

Только нативная поддержка

Графические процессоры AMD (AMF)

Только нативная поддержка

Apple VideoToolbox

Только нативный macOS

Включить аппаратное кодирование

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

Развертывание в производственной среде

Используя PM2

Для развертывания в производственной среде без Docker:

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

Автоматизированное развертывание: отправьте в основную ветку, и GitHub Actions автоматически развернет ваши изменения.

Помогите улучшить эту документацию

Нашли ошибку или хотите внести свой вклад в документацию? Мы приветствуем ваши предложения!

Внести вклад на GitHub