Документація
Повний посібник з розгортання та управління вашим портфоліо фотографій Galleria.
Початок роботи
Galleria - це сучасний веб-сайт портфоліо фотографій, створений з використанням React 19, TypeScript, Express 5 та SQLite. Він має оптимізовану доставку зображень, панель адміністратора, аналітику та адаптивний дизайн.
Швидкі посилання
- Посібник з установки - Почніть роботу з Docker або налаштуванням для розробки
- Живий демонстраційний показ - Дивіться Galleria в дії
- Репозиторій GitHub - Вихідний код та приклади
Налаштування Google OAuth SSO
Увімкніть Google OAuth Single Sign-On для безпечної, безпарольної аутентифікації у вашій панелі адміністратора Galleria.
Крок 1: Створіть проект Google Cloud
- Перейдіть до консолі Google Cloud
- Створіть новий проект або виберіть існуючий
- Перейдіть до API та послуг → Облікові дані
- Натисніть Створити облікові дані → OAuth client ID
- Якщо з'явиться запит, спочатку налаштуйте екран згоди OAuth
Крок 2: Налаштуйте клієнта OAuth
- Виберіть Веб-додаток як тип програми
- Додайте свій домен до Дозволених JavaScript джерел:
https://yourdomain.com - Додайте URL-адресу зворотного виклику до Дозволених URI для перенаправлення:
https://yourdomain.com/api/auth/google/callback - Натисніть Створити та збережіть свої облікові дані
Крок 3: Налаштуйте в налаштуваннях Galleria
- Увійдіть до панелі адміністратора Galleria
- Перейдіть до Налаштування → Google OAuth
- Введіть ваш Google Client ID
- Введіть ваш Google Client Secret
- Натисніть Зберегти, щоб увімкнути Google OAuth SSO
Автоматичне перетворення користувачів: Існуючі користувачі з відповідними адресами електронної пошти будуть автоматично перетворені на автентифікацію Google OAuth. Вони можуть увійти за допомогою Google відразу після налаштування OAuth.
Порада з безпеки: Додавайте лише надійні адреси електронної пошти як адміністраторів. Ви можете керувати доступом користувачів з адміністративної панелі після початкового налаштування.
Налаштування OpenObserve Analytics
OpenObserve надає потужну аналітику журналів та моніторинг в реальному часі для вашого веб-сайту Galleria з можливостями гео-збагачення.
Крок 1: Встановіть OpenObserve за допомогою Docker
Запустіть OpenObserve за допомогою Docker Compose:
Крок 2: Створіть обліковий запис служби
- Доступ до OpenObserve за адресою http://localhost:5080
- Увійдіть за допомогою ваших адміністративних облікових даних
- Перейдіть до Налаштування → Облікові записи служби
- Натисніть Створити обліковий запис служби
- Дайте йому ім'я (наприклад, "galleria-analytics") та призначте відповідні дозволи
- Скопіюйте згенерований API токен для подальшого використання
Крок 7: Налаштування Galleria
- Увійдіть до панелі адміністратора Galleria
- Перейдіть до Налаштування → Аналітика
- Введіть вашу URL-адресу OpenObserve (наприклад, http://localhost:5080)
- Введіть ваш ідентифікатор організації
- Введіть назву вашого потоку (вебсайт)
- Введіть ваше ім'я користувача (з Кроку 2)
- Введіть ваш пароль (токен сервісного облікового запису з Кроку 2)
- Натисніть Зберегти, щоб увімкнути аналітику OpenObserve
Успіх! Ваша аналітика тепер включатиме гео-збагачені дані з містом, регіоном, країною, провайдером інтернету та координатами для всіх відвідувачів.
Апаратне кодування відео
Galleria підтримує апаратне прискорене кодування відео для 5-10 разів швидшої обробки відео за допомогою вашого GPU.
Підтримуване обладнання
Графічні процесори NVIDIA (NVENC)
Підтримка Docker та нативна підтримка
Intel Quick Sync (QSV)
Тільки нативна підтримка
Графічні процесори AMD (AMF)
Тільки нативна підтримка
Apple VideoToolbox
Тільки нативний macOS
Увімкнути апаратне кодування
- Перейдіть до Панелі адміністрування → Налаштування → Якість відео
- Перемкніть "Апаратне транскодування" на увімкнено
- Обробка відео тепер використовуватиме апаратне прискорення, коли це можливо
Виробниче розгортання
Використовуючи PM2
Для виробничого розгортання без Docker:
npm run build
npm install -g pm2
pm2 start ecosystem.config.cjs
pm2 save
pm2 startupАвтоматизоване розгортання: Відправте в основну гілку, і GitHub Actions автоматично розгорне ваші зміни.
Допоможіть покращити цю документацію
Знайшли помилку або хочете внести свій вклад у документацію? Ми вітаємо внески!
Внести внесок на GitHub