Documentação
Guia completo para implantar e gerenciar seu portfólio de fotografia Galleria.
Começando
Galleria é um site moderno de portfólio de fotografia construído com React 19, TypeScript, Express 5 e SQLite. Ele apresenta entrega otimizada de imagens, painel de administração, rastreamento de análises e design responsivo.
Links Rápidos
- Guia de Instalação - Comece com Docker ou configuração de desenvolvimento
- Demonstração ao Vivo - Veja a Galleria em ação
- Repositório do GitHub - Código fonte e exemplos
Configuração do Google OAuth SSO
Ative o Google OAuth Single Sign-On para autenticação segura e sem senha no seu painel de administração da Galleria.
Passo 1: Crie um Projeto no Google Cloud
- Vá para o Google Cloud Console
- Crie um novo projeto ou selecione um existente
- Navegue até APIs e Serviços → Credenciais
- Clique em Criar Credenciais → ID do cliente OAuth
- Se solicitado, configure a tela de consentimento do OAuth primeiro
Passo 2: Configure o Cliente OAuth
- Selecione Aplicativo da Web como o tipo de aplicativo
- Adicione seu domínio a Origens JavaScript Autorizadas:
https://yourdomain.com - Adicione a URL de callback a URIs de redirecionamento autorizadas:
https://yourdomain.com/api/auth/google/callback - Clique em Criar e salve suas credenciais
Passo 3: Configure nas Configurações da Galleria
- Faça login no seu painel de administração da Galleria
- Navegue até Configurações → Google OAuth
- Digite seu ID de Cliente do Google
- Digite seu Segredo do Cliente do Google
- Clique em Salvar para habilitar o SSO do Google OAuth
Conversão Automática de Usuários: Usuários existentes com endereços de e-mail correspondentes serão automaticamente convertidos para autenticação do Google OAuth. Eles podem fazer login com o Google imediatamente após a configuração do OAuth.
Dica de Segurança: Adicione apenas endereços de e-mail confiáveis como usuários administradores. Você pode gerenciar o acesso dos usuários a partir do painel administrativo após a configuração inicial.
Configuração do OpenObserve Analytics
O OpenObserve fornece poderosas análises de logs e monitoramento em tempo real para o seu site Galleria com capacidades de geo-enriquecimento.
Passo 1: Instale o OpenObserve com Docker
Execute o OpenObserve usando Docker Compose:
Passo 2: Crie uma Conta de Serviço
- Acesse o OpenObserve em http://localhost:5080
- Faça login com suas credenciais de administrador
- Navegue até Configurações → Contas de Serviço
- Clique em Criar Conta de Serviço
- Dê um nome (por exemplo, "galleria-analytics") e atribua permissões apropriadas
- Copie o token de API gerado para uso posterior
Passo 7: Configurar Galleria
- Faça login no seu painel de administração do Galleria
- Navegue até Configurações → Análise
- Insira sua URL do OpenObserve (por exemplo, http://localhost:5080)
- Insira seu ID de Organização
- Insira seu Nome de Fluxo (site)
- Insira seu Nome de Usuário (do Passo 2)
- Insira sua Senha (o token da conta de serviço do Passo 2)
- Clique em Salvar para ativar a análise do OpenObserve
Sucesso! Sua análise agora incluirá dados geo-enriquecidos com cidade, região, país, ISP e coordenadas para todos os visitantes.
Codificação de Vídeo por Hardware
O Galleria suporta codificação de vídeo acelerada por hardware para processamento de vídeo de 5 a 10 vezes mais rápido usando sua GPU.
Hardware Suportado
GPUs NVIDIA (NVENC)
Suporte Docker e nativo
Intel Quick Sync (QSV)
Suporte nativo apenas
GPUs AMD (AMF)
Apoio nativo apenas
Apple VideoToolbox
macOS nativo apenas
Habilitar Codificação por Hardware
- Vá para Painel de Administração → Configurações → Qualidade de Vídeo
- Ative "Transcodificação por Hardware" para habilitado
- O processamento de vídeo agora usará aceleração de GPU quando disponível
Implantação em Produção
Usando PM2
Para implantação em produção sem Docker:
npm run build
npm install -g pm2
pm2 start ecosystem.config.cjs
pm2 save
pm2 startupImplantação Automatizada: Faça push para o branch master e o GitHub Actions implantará automaticamente suas alterações.
Ajude a Melhorar Esta Documentação
Encontrou um erro ou quer contribuir para a documentação? Agradecemos contribuições!
Contribua no GitHub