Flask API backend for ESP32 sensor fleet: - App factory pattern with blueprints - SQLAlchemy 2.x models (Sensor, Device, Sighting, Alert, Event, Probe) - UDP collector for sensor data streams - REST API endpoints for sensors, devices, alerts, events, probes, stats - pytest setup with fixtures - Containerfile for podman deployment - Makefile for common tasks
19 lines
342 B
Docker
19 lines
342 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/
|
|
|
|
# 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()"]
|