Add tabbed dashboard at /dashboard/ with three D3.js visualizations: - Vendor treemap (devices grouped by type and vendor) - SSID social graph (force-directed, shared probed SSIDs as edges) - Fingerprint clusters (packed circles by device behavior) Intelligence API endpoints at /api/v1/intelligence/ with param validation. Dashboard built on htmx + Pico CSS dark theme + D3 v7, all vendored locally (make vendor). 13 new tests (59 total).
21 lines
390 B
Docker
21 lines
390 B
Docker
FROM python:3.12-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Install dependencies
|
|
COPY pyproject.toml .
|
|
RUN pip install --no-cache-dir .
|
|
|
|
# Copy source
|
|
COPY src/ src/
|
|
COPY migrations/ migrations/
|
|
COPY static/ static/
|
|
COPY templates/ templates/
|
|
|
|
# Expose ports (TCP for HTTP, UDP for collector)
|
|
EXPOSE 5500/tcp
|
|
EXPOSE 5500/udp
|
|
|
|
# Run with gunicorn
|
|
CMD ["gunicorn", "-b", "0.0.0.0:5500", "esp32_web:create_app()"]
|