- Add deploy/proxmox-lxc-setup.sh to configure the frontend inside a Debian/Ubuntu LXC. - Add deploy/thermopro-frontend.service systemd unit. - Add deploy/README.md with Proxmox CT creation, file transfer, setup, proxy, and update steps. - Update frontend README.md to point to the deployment guide.
78 lines
1.9 KiB
Markdown
78 lines
1.9 KiB
Markdown
# ThermoPro CYD Frontend
|
|
|
|
A Progressive Web App (PWA) that consumes the CYD ThermoPro Bridge API, stores session history in SQLite, and displays probe temperatures with charts, target setpoints, and freeform notes.
|
|
|
|
## Architecture
|
|
|
|
```
|
|
LXC/container
|
|
├── Python backend (Flask)
|
|
│ ├── Polls CYD /api/latest periodically
|
|
│ ├── Stores readings + sessions + notes in SQLite
|
|
│ └── Serves the static PWA and API
|
|
└── PWA (HTML/CSS/JS)
|
|
├── Dashboard with probe cards
|
|
├── Temperature history charts
|
|
├── Target setpoint editor
|
|
└── Session notes
|
|
```
|
|
|
|
## Requirements
|
|
|
|
- Python 3.10+ (system install or any working Python interpreter)
|
|
- SQLite (stdlib)
|
|
|
|
Dependencies are installed locally into `frontend/vendor/` so no virtual environment is required.
|
|
|
|
## Installing dependencies
|
|
|
|
```bash
|
|
cd frontend
|
|
pip install --target vendor -r requirements.txt
|
|
```
|
|
|
|
On Windows with PowerShell:
|
|
|
|
```powershell
|
|
cd "C:\Users\ksolo\Projects\House Projects\ThermoPro CYD\frontend"
|
|
pip install --target vendor -r requirements.txt
|
|
```
|
|
|
|
## Running locally
|
|
|
|
```bash
|
|
cd frontend
|
|
CYD_BASE_URL=http://192.168.2.55 python app.py
|
|
```
|
|
|
|
On Windows with PowerShell:
|
|
|
|
```powershell
|
|
cd "C:\Users\ksolo\Projects\House Projects\ThermoPro CYD\frontend"
|
|
$env:CYD_BASE_URL = "http://192.168.2.55"
|
|
python app.py
|
|
```
|
|
|
|
Then open `http://localhost:5000`.
|
|
|
|
## Configuration
|
|
|
|
| Environment variable | Default | Description |
|
|
|----------------------|---------|-------------|
|
|
| `CYD_BASE_URL` | `http://192.168.2.55` | Base URL of the CYD bridge |
|
|
| `POLL_INTERVAL` | `5` | Seconds between backend polls |
|
|
| `DATABASE_PATH` | `thermopro.db` | SQLite database file |
|
|
| `DEFAULT_CHART_MINUTES` | `60` | Default chart time range |
|
|
|
|
## Deployment
|
|
|
|
See `deploy/README.md` for step-by-step Proxmox LXC deployment instructions.
|
|
|
|
For a quick local test:
|
|
|
|
```bash
|
|
cd frontend
|
|
pip install --target vendor -r requirements.txt
|
|
CYD_BASE_URL=http://192.168.2.55 python app.py
|
|
```
|