Documentazione
Guida completa per il deploy e la gestione del tuo portfolio fotografico Galleria.
Iniziare
Galleria è un sito web moderno per portfolio fotografico costruito con React 19, TypeScript, Express 5 e SQLite. Presenta una consegna delle immagini ottimizzata, un pannello di amministrazione, tracciamento delle analisi e un design reattivo.
Collegamenti rapidi
- Guida all'installazione - Inizia con Docker o configurazione di sviluppo
- Demo dal vivo - Guarda Galleria in azione
- Repository GitHub - Codice sorgente ed esempi
Impostazione Google OAuth SSO
Abilita Google OAuth Single Sign-On per un'autenticazione sicura e senza password al tuo pannello di amministrazione Galleria.
Passo 1: Crea un progetto Google Cloud
- Vai alla Google Cloud Console
- Crea un nuovo progetto o seleziona uno esistente
- Naviga su API e Servizi → Credenziali
- Clicca su Crea Credenziali → ID client OAuth
- Se richiesto, configura prima la schermata di consenso OAuth
Passo 2: Configura il client OAuth
- Seleziona Applicazione web come tipo di applicazione
- Aggiungi il tuo dominio a Origini JavaScript autorizzate:
https://yourdomain.com - Aggiungi l'URL di callback a URI di reindirizzamento autorizzati:
https://yourdomain.com/api/auth/google/callback - Clicca su Crea e salva le tue credenziali
Passo 3: Configura nelle impostazioni di Galleria
- Accedi al tuo pannello di amministrazione Galleria
- Naviga su Impostazioni → Google OAuth
- Inserisci il tuo Google Client ID
- Inserisci il tuo Google Client Secret
- Clicca su Salva per abilitare Google OAuth SSO
Conversione automatica degli utenti: Gli utenti esistenti con indirizzi email corrispondenti verranno automaticamente convertiti in autenticazione Google OAuth. Possono accedere con Google immediatamente dopo che OAuth è stato configurato.
Suggerimento di sicurezza: Aggiungi solo indirizzi email fidati come utenti amministratori. Puoi gestire l'accesso degli utenti dal pannello di amministrazione dopo la configurazione iniziale.
Impostazione di OpenObserve Analytics
OpenObserve fornisce potenti analisi dei log e monitoraggio in tempo reale per il tuo sito web Galleria con capacità di arricchimento geografico.
Passo 1: Installa OpenObserve con Docker
Esegui OpenObserve utilizzando Docker Compose:
Passo 2: Crea un'account di servizio
- Accedi a OpenObserve su http://localhost:5080
- Accedi con le tue credenziali di amministratore
- Naviga su Impostazioni → Account di servizio
- Clicca su Crea account di servizio
- Dagli un nome (ad es., "galleria-analytics") e assegna i permessi appropriati
- Copia il token API generato per un uso successivo
Passo 7: Configura Galleria
- Accedi al tuo pannello di amministrazione Galleria
- Naviga su Impostazioni → Analitica
- Inserisci il tuo URL OpenObserve (es. http://localhost:5080)
- Inserisci il tuo ID Organizzazione
- Inserisci il tuo Nome Stream (sito web)
- Inserisci il tuo Nome Utente (dal Passo 2)
- Inserisci la tua Password (il token dell'account di servizio dal Passo 2)
- Clicca su Salva per abilitare le analisi OpenObserve
Successo! Le tue analisi includeranno ora dati geo-arricchiti con città, regione, paese, ISP e coordinate per tutti i visitatori.
Codifica Video Hardware
Galleria supporta la codifica video accelerata dall'hardware per un'elaborazione video 5-10 volte più veloce utilizzando la tua GPU.
Hardware Supportato
GPU NVIDIA (NVENC)
Supporto Docker e nativo
Intel Quick Sync (QSV)
Supporto solo nativo
GPU AMD (AMF)
Supporto nativo solo
Apple VideoToolbox
solo macOS nativo
Abilita la codifica hardware
- Vai al Pannello di Amministrazione → Impostazioni → Qualità Video
- Attiva "Transcodifica Hardware" per abilitato
- L'elaborazione video utilizzerà ora l'accelerazione GPU quando disponibile
Distribuzione in Produzione
Utilizzando PM2
Per la distribuzione in produzione senza Docker:
npm run build
npm install -g pm2
pm2 start ecosystem.config.cjs
pm2 save
pm2 startupDistribuzione Automatizzata: Esegui il push nel ramo master e GitHub Actions distribuisce automaticamente le tue modifiche.
Aiuta a Migliorare Questa Documentazione
Hai trovato un errore o vuoi contribuire alla documentazione? Accogliamo con favore i contributi!
Contribuisci su GitHub