🔖 Release v1.0.0
Summary
This is the first major production release of the Camera Interface system. It introduces a complete rewrite of the core interface logic, , and adds infrastructure for multi-platform deployment. This release is suitable for deployment to both amd64 and arm64 targets using Docker.
What's Changed
Application Features
- Rewrote
CameraInterfaceusing OpenCV (replacespicamera2) - Rewrote
ButtonInterfaceandWebhookInterface - Added reconnect handling and graceful shutdown for interfaces
/captureendpoint implemented to save snapshots/streamendpoint implemented for WebSocket-based video streaming- Replaced RTSP streamer with Socket.IO Websocket
- Added camera device discovery utility (
find_cams.py)
Deployment & Build
- New
buildAndDeploy.shscript with:- Multi-architecture build support (e.g.,
linux/arm64) - Flags:
--dry-run,--load,--help - Auto-tagging via Git commit or timestamp
- Registry/platform validation
- Multi-architecture build support (e.g.,
- Added
.dockerignore,.builddeploy.conf, and.envloading - Added working
Dockerfileanddocker-compose.yml - Sample
.envfile provided (sample.env) - New
gunicorn_config.pywith environment-based server config
Miscellaneous
- Refactored and documented code for maintainability
- Added minimal test client for Socket.IO video stream
Todo
- Buttons don't work....it can't pick up the
pigpioddaemon address :/
Docker Image
This release is available as a prebuilt Docker image at:
eliteabhi/camera-interface:1.0.0
NOTE: The current
docker-compose.ymluses thelatesttag not1.0.0. It's an afterthought on my end...oops >.<