Files
pi-dashboard-server/PLAN.md
2026-02-15 23:00:30 +09:00

1.2 KiB

Pi Servers -- Roadmap

Docker Compose

Containerize the pi servers for easier deployment.

Options

  1. Single service -- run_all.py as the entrypoint, both servers in one container
  2. Split services -- separate containers for stats_server.py and contents_server.py

Single service is simpler. Split services allow independent scaling and restarts.

Configuration

  • Volume mount assets/ and config/alarms.json so they're editable without rebuilding
  • Expose ports 8765 and 8766
  • Network mode host or a bridge with known IPs for ESP32 discovery
  • Restart policy: unless-stopped

Repository Extraction

The pi/ directory will become its own git repository.

Steps

  1. Extract pi/ into a standalone repo with its own README.md, requirements.txt, and CI
  2. Add it back to this project as a git submodule
  3. 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