1.2 KiB
1.2 KiB
Pi Servers -- Roadmap
Docker Compose
Containerize the pi servers for easier deployment.
Options
- Single service --
run_all.pyas the entrypoint, both servers in one container - Split services -- separate containers for
stats_server.pyandcontents_server.py
Single service is simpler. Split services allow independent scaling and restarts.
Configuration
- Volume mount
assets/andconfig/alarms.jsonso they're editable without rebuilding - Expose ports 8765 and 8766
- Network mode
hostor a bridge with known IPs for ESP32 discovery - Restart policy:
unless-stopped
Repository Extraction
The pi/ directory will become its own git repository.
Steps
- Extract
pi/into a standalone repo with its ownREADME.md,requirements.txt, and CI - Add it back to this project as a git submodule
- The interface contract between the two repos is the WebSocket protocol -- JSON schemas and binary frame formats documented in
README.md
Benefits
- Independent versioning and release cycle
- Pi-side contributors don't need the ESP-IDF toolchain
- CI can test the Python servers in isolation
- Cleaner separation of concerns between embedded firmware and host services