Pular para o conteúdo

Instalar o Fulgoria

O Fulgoria inclui um servidor enxuto (server.js, Node/Express) que faz apenas duas coisas: serve o app estático e, opcionalmente, o protege atrás de um login lido do .env. O documento em si é sempre processado 100% no navegador — o servidor nunca o recebe, aplica uma CSP estrita e cabeçalhos de segurança, e nunca expõe .env, server.js ou quaisquer amostras privadas.

Docker

Recomendado para produção. Use a imagem pré-construída ou compile localmente com docker compose.

Node.js 18+

Necessário apenas se você executar o servidor diretamente com npm em vez de Docker.

Um navegador moderno

Toda a extração (análise de PDF, OCR, edição) é executada no lado do cliente, então um navegador atual é onde o trabalho real acontece.

O caminho mais rápido é a imagem publicada no GHCR, construída pelo CI a cada push para main.

Terminal window
docker run -d \
-p 3000:3000 \
-e AUTH_ENABLED=true \
-e AUTH_USER=diego \
-e AUTH_PASSWORD='your-password' \
-e SESSION_SECRET="$(openssl rand -hex 32)" \
-e COOKIE_SECURE=false \
ghcr.io/diegoparras/fulgoria:latest

Depois abra http://localhost:3000.

  1. Abra o app em http://localhost:3000 (ou no host que você configurou).
  2. Se AUTH_ENABLED=true, faça login com AUTH_USER e a senha que você configurou.
  3. Clique em Abrir PDF ou imagem, ou em Ver um exemplo para carregar um extrato bancário de amostra.
  4. Marque as colunas, verifique se o saldo fica verde e exporte para CSV.

Toda a configuração vive no .env (copie-o de .env.example). O arquivo .env nunca é versionado nem servido.

VariávelPadrãoDescrição
PORT3000Porta em que o servidor enxuto escuta.
AUTH_ENABLEDtrueDefina como false para servir o app sem senha (uso local ou em rede privada).
AUTH_USERdiegoNome de usuário para o login.
AUTH_PASSWORD(vazio)A senha — texto simples, ou um hash bcrypt de --hash.
SESSION_SECRET(vazio)Segredo usado para assinar o cookie de sessão. Gere com openssl rand -hex 32.
SESSION_TTL_HOURS12Duração da sessão, em horas.
COOKIE_SECUREtrueMantenha true atrás de HTTPS; defina false apenas para testar localmente sobre http://.
ESCRIBA_URL(vazio)Destino do botão “Enviar ao Escriba”. Vazio recai para /. Aponte para o seu Escriba, por exemplo https://your-escriba.com/.