Deployment Architecture Overview
masterSTF (Smartphone Test Lab) is deployed as a collection of independent processes called "units" that communicate via ZeroMQ and Protocol Buffers. A typical deployment uses systemd and Docker to manage these units across multiple hosts. The architecture is divided into several functional roles:
- Provider role: Manages physical device connections (requires
adbd.serviceandstf-provider@.service). - App role: Contains the core logic and services (e.g.,
stf-app@.service,stf-api@.service,stf-websocket@.service). - Database role: Manages data persistence via RethinkDB.
- Proxy role: Uses a reverse proxy (like Nginx) to unify HTTP-based units.