Dokumentasyon
Kumpletong gabay sa pag-deploy at pamamahala ng iyong Galleria photography portfolio.
Pagsisimula
Ang Galleria ay isang modernong photography portfolio website na itinayo gamit ang React 19, TypeScript, Express 5, at SQLite. Ito ay nagtatampok ng optimized na paghahatid ng larawan, admin panel, analytics tracking, at responsive na disenyo.
Mabilis na Mga Link
- Gabay sa Pag-install - Magsimula gamit ang Docker o development setup
- Live Demo - Tingnan ang Galleria sa aksyon
- GitHub Repository - Source code at mga halimbawa
Google OAuth SSO Setup
I-enable ang Google OAuth Single Sign-On para sa ligtas, walang password na pagpapatotoo sa iyong Galleria admin panel.
Hakbang 1: Lumikha ng Google Cloud Project
- Pumunta sa Google Cloud Console
- Lumikha ng bagong proyekto o pumili ng umiiral na isa
- Pumunta sa APIs & Services → Credentials
- I-click ang Lumikha ng Credentials → OAuth client ID
- Kung hinihiling, i-configure muna ang OAuth consent screen
Hakbang 2: I-configure ang OAuth Client
- Pumili ng Web application bilang uri ng aplikasyon
- Idagdag ang iyong domain sa Authorized JavaScript origins:
https://yourdomain.com - Idagdag ang callback URL sa Authorized redirect URIs:
https://yourdomain.com/api/auth/google/callback - I-click ang Lumikha at i-save ang iyong credentials
Hakbang 3: I-configure sa Galleria Settings
- Mag-log in sa iyong Galleria admin panel
- Pumunta sa Settings → Google OAuth
- Ilagay ang iyong Google Client ID
- Ilagay ang iyong Google Client Secret
- I-click ang I-save upang paganahin ang Google OAuth SSO
Awtomatikong Pag-convert ng User: Ang mga umiiral na user na may katugmang email address ay awtomatikong iko-convert sa Google OAuth authentication. Maaari silang mag-sign in gamit ang Google kaagad pagkatapos ma-configure ang OAuth.
Tip sa Seguridad: Magdagdag lamang ng mga pinagkakatiwalaang email address bilang mga admin user. Maaari mong pamahalaan ang access ng user mula sa admin panel pagkatapos ng paunang setup.
Setup ng OpenObserve Analytics
Nagbibigay ang OpenObserve ng makapangyarihang log analytics at real-time monitoring para sa iyong Galleria website na may kakayahang geo-enrichment.
Hakbang 1: I-install ang OpenObserve gamit ang Docker
Patakbuhin ang OpenObserve gamit ang Docker Compose:
Hakbang 2: Lumikha ng Service Account
- Access OpenObserve sa http://localhost:5080
- Mag-log in gamit ang iyong admin credentials
- Pumunta sa Settings → Service Accounts
- I-click ang Lumikha ng Service Account
- Bigyan ito ng pangalan (hal., "galleria-analytics") at magtalaga ng angkop na mga pahintulot
- Kopyahin ang nabuo na API token para sa susunod na paggamit
Hakbang 7: I-configure ang Galleria
- Mag-log in sa iyong Galleria admin panel
- Pumunta sa Mga Setting → Analytics
- Ilagay ang iyong OpenObserve URL (hal., http://localhost:5080)
- Ilagay ang iyong Organization ID
- Ilagay ang iyong Stream Name (website)
- Ilagay ang iyong Username (mula sa Hakbang 2)
- Ilagay ang iyong Password (ang service account token mula sa Hakbang 2)
- I-click ang I-save upang paganahin ang OpenObserve analytics
Tagumpay! Ang iyong analytics ay ngayon isasama ang geo-enriched data na may lungsod, rehiyon, bansa, ISP, at mga coordinate para sa lahat ng bisita.
Hardware Video Encoding
Sinusuportahan ng Galleria ang hardware-accelerated video encoding para sa 5-10x na mas mabilis na pagproseso ng video gamit ang iyong GPU.
Sinusuportahang Hardware
NVIDIA GPUs (NVENC)
Docker at katutubong suporta
Intel Quick Sync (QSV)
Katutubong suporta lamang
AMD GPUs (AMF)
Tanging katutubong suporta
Apple VideoToolbox
Tanging katutubong macOS
I-enable ang Hardware Encoding
- Pumunta sa Admin Panel → Mga Setting → Kalidad ng Video
- I-toggle ang "Hardware Transcoding" sa enabled
- Gagamitin na ngayon ng pagproseso ng video ang GPU acceleration kapag available
Deployment ng Produksyon
Gamit ang PM2
Para sa deployment ng produksyon nang walang Docker:
npm run build
npm install -g pm2
pm2 start ecosystem.config.cjs
pm2 save
pm2 startupAutomated Deployment: Itulak sa master branch at awtomatikong ide-deploy ng GitHub Actions ang iyong mga pagbabago.
Tumulong na Pagbutihin ang Dokumentasyong Ito
Nakatagpo ng error o nais makapag-ambag sa dokumentasyon? Tinatanggap namin ang mga kontribusyon!
Mag-ambag sa GitHub