Architecture
The self-hosted Blotch server runs as a set of five Docker containers working together. All data is stored locally on your machine.
Container Overview
| Container | Role |
|---|---|
| App Front End | Web interface where you configure your Frame, manage Pages, and install Widgets |
| App Server | Handles API requests from the front end for configuration and management |
| Frame Backend | Serves the latest state of your Frame (current Page, Widget data, Schedule) over HTTP |
| WebSocket Server | Pushes real-time updates to your Frame so it refreshes without polling |
| Database | Stores all your configuration, Widget settings, Schedules, and Frame state |
Data Flow
- You open the web interface in your browser to configure your
Frame— choosingWidgets, buildingPages, and settingSchedules - The App Front End sends your changes to the App Server, which stores them in the Database
- Your Blotch Smart Frame periodically fetches its latest state from the Frame Backend over HTTP
- When you make changes, the WebSocket Server pushes an update to the
Frameso it refreshes immediately
Self-Contained Data
All data is stored in Docker volumes on your host. No external cloud services are needed. Your Frame only needs access to your server on the local network.