buscalogo-server
v1.0.0
Published
Web-based content collection & analysis server with scraping, P2P search, and PouchDB
Maintainers
Readme
BuscaLogo Server
Servidor web de coleta e análise de conteúdo com scraping, busca P2P e PouchDB.
Instalação
# Global
npm install -g buscalogo-server
# Comandos: bls ou buscalogo-server
bls
# ou: npx blsUso Rápido
# 1. Configurar ambiente
cp .env.example .env
# Edite .env com suas configurações
# 2. Iniciar
bls
# ou: npx blsServidor em http://localhost:3005 (ou PORT no .env).
A pasta
db/é criada automaticamente emprocess.cwd()/db. Comnpxou instalação global, definaPOUCHDB_PATHno.envpara escolher outro diretório (ex: persistir fora do cache npm).
Características
- PouchDB – Banco local com sincronização
- Scraping – Coleta web com fila e progresso em tempo real
- Interface – Dashboard com Tailwind CSS
- WebSocket – Comunicação em tempo real
- P2P – Comunicação entre instâncias
Scripts
| Script | Descrição |
|--------|-----------|
| npm start | Inicia servidor |
| npm run start:daemon | Inicia em segundo plano (detached) |
| npm run dev | Desenvolvimento com hot-reload |
| npm run build | Build CSS + JS |
| npm run build:prod | Build otimizado (executado antes do publish) |
Segundo plano (daemon)
# Via flag (global ou npx)
bls -d
# ou: npx bls --daemon
# Via npm (no projeto)
npm run start:daemon
# Via PM2 (produção)
npm install -g pm2
pm2 start ecosystem.config.cjs
pm2 save && pm2 startupEstrutura
├── server.js # Entry point
├── src/
│ ├── routes/ # API e web
│ ├── services/ # PouchDB, scraping, P2P, auth
│ ├── views/ # Templates EJS
│ └── middleware/
└── public/ # CSS, JS estáticosAPI
Bancos
GET/POST /api/databases– Listar/criarDELETE /api/databases/:name– RemoverPOST /api/databases/:name/connect-remote– Conectar remotoPOST /api/databases/:local/sync/:remote– Sincronizar
Scraping
GET/POST /api/scraping/tasks– Listar/criar tarefasGET/DELETE /api/scraping/tasks/:id– Status/cancelar
Documentos
GET/POST /api/databases/:db/docs– Listar/adicionarPUT/DELETE /api/databases/:db/docs/:id– Atualizar/remover
Variáveis de Ambiente
PORT=3005
NODE_ENV=development
POUCHDB_ADAPTER=memory
POUCHDB_PREFIX=buscalogo_
POUCHDB_PATH=/caminho/absoluto # Persistência (recomendado com npx/global)
MAX_CONCURRENT_SCRAPING=3
DEFAULT_TIMEOUT=30000
SESSION_SECRET=change-me-in-production
P2P_SIGNALING_URLS=ws://localhost:3001Pré-requisitos
- Node.js 18+
Licença
MIT – LICENSE
