feat: initial Bot Intelligence API Docker stack

Self-hosted Node.js/Express + SQLite (WAL) API server and dashboard
for tracking blocked bots and user agents. Features:
- POST /api/v1/submit — batch ingest from WordPress plugin
- GET /api/v1/stats — aggregated stats with 30s cache
- GET /api/v1/stream — SSE live event feed
- GET /api/v1/health — health check endpoint
- Cyan/blue terminal-style dashboard with live feed, bar charts, 24h activity
- Docker Compose setup on port 3001 with persistent SQLite volume
- Bearer token auth with constant-time comparison

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-09 18:32:02 +02:00
commit 932020d032
7 changed files with 1159 additions and 0 deletions

23
docker-compose.yml Normal file
View File

@@ -0,0 +1,23 @@
services:
bot-api:
build: .
container_name: bot-api
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- bot-data:/data
environment:
- PORT=3001
- DB_PATH=/data/bots.db
- NODE_ENV=production
- API_TOKEN=${API_TOKEN:-change-me-to-a-long-random-string}
healthcheck:
test: ["CMD", "wget", "-qO-", "http://localhost:3001/api/v1/health"]
interval: 30s
timeout: 5s
retries: 3
volumes:
bot-data:
driver: local