Files
yaris-obd/server/Dockerfile
T
Mathieu MoranandCopilot 9bdf5bad2c Phase 9: scaffold remote server (Flask + Postgres, docker-compose for unraid)
- server/sql/init.sql: devices/tracking_points/dashcam_files schema
- server/modules/db.py: psycopg3 pool + query helpers
- server/modules/auth.py: X-Device-Name/X-Api-Key header auth
- server/app.py: /health, /api/v1/tracking/batch, /api/v1/dashcam/upload
- server/Dockerfile + docker-compose.yml: api (gunicorn) + postgres services
- server/scripts/create_device.py: one-time device/API-key registration
- server/README.md: unraid deployment + Cloudflare Tunnel exposure docs
- PLAN.md: Phase 9 marked in progress with full build notes

Co-authored-by: Copilot <[email protected]>
2026-08-08 19:50:52 -04:00

19 lines
509 B
Docker

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY app.py .
COPY modules/ ./modules/
COPY scripts/ ./scripts/
EXPOSE 8098
# gunicorn instead of the Flask dev server for production use; single worker
# is enough for this low-traffic single-device use case, threaded to allow
# concurrent tracking + dashcam-upload requests.
CMD ["gunicorn", "--bind", "0.0.0.0:8098", "--workers", "1", "--threads", "4", \
"--timeout", "300", "app:app"]