Files
ThreatHunt/docker-compose.yml
mblanke 9b98ab9614 feat: interactive network map, IOC highlighting, AUP hunt selector, type filters
- NetworkMap: hunt-scoped force-directed graph with click-to-inspect popover
- NetworkMap: zoom/pan (wheel, drag, buttons), viewport transform
- NetworkMap: clickable IP/Host/Domain/URL legend chips to filter node types
- NetworkMap: brighter colors, 20% smaller nodes
- DatasetViewer: IOC columns highlighted with colored headers + cell tinting
- AUPScanner: hunt dropdown replacing dataset checkboxes, auto-select all
- Rename 'Social Media (Personal)' theme to 'Social Media' with DB migration
- Fix /api/hunts timeout: Dataset.rows lazy='noload' (was selectin cascade)
- Add OS column mapping to normalizer
- Full backend services, DB models, alembic migrations, new routes
- New components: Dashboard, HuntManager, FileUpload, NetworkMap, etc.
- Docker Compose deployment with nginx reverse proxy
2026-02-19 15:41:15 -05:00

67 lines
1.6 KiB
YAML

services:
backend:
build:
context: .
dockerfile: Dockerfile.backend
container_name: threathunt-backend
ports:
- "8000:8000"
environment:
# ── LLM Cluster (Wile / Roadrunner via Tailscale) ──
TH_WILE_HOST: "100.110.190.12"
TH_ROADRUNNER_HOST: "100.110.190.11"
TH_OLLAMA_PORT: "11434"
TH_OPEN_WEBUI_URL: "https://ai.guapo613.beer"
# ── Database ──
TH_DATABASE_URL: "sqlite+aiosqlite:///./threathunt.db"
# ── Auth ──
TH_JWT_SECRET: "change-me-in-production"
# ── Enrichment API keys (set your own) ──
# TH_VIRUSTOTAL_API_KEY: ""
# TH_ABUSEIPDB_API_KEY: ""
# TH_SHODAN_API_KEY: ""
# ── Agent behaviour ──
TH_AGENT_MAX_TOKENS: "4096"
TH_AGENT_TEMPERATURE: "0.3"
volumes:
- ./backend:/app
- backend-data:/app/data
networks:
- threathunt
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/api/agent/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
frontend:
build:
context: .
dockerfile: Dockerfile.frontend
container_name: threathunt-frontend
ports:
- "3000:3000"
depends_on:
- backend
networks:
- threathunt
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3000/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
networks:
threathunt:
driver: bridge
volumes:
backend-data:
driver: local