50 lines
1.1 KiB
Markdown
50 lines
1.1 KiB
Markdown
---
|
|
description: Build, package, and deploy frontend updates via OTA
|
|
---
|
|
|
|
This workflow automates the process of building the frontend, packaging it into a LittleFS binary, and uploading it to the ESP32 device.
|
|
|
|
> [!IMPORTANT]
|
|
> Ensure `VITE_API_BASE` in `frontend/.env` is set to the target device's IP address.
|
|
|
|
### Steps
|
|
|
|
1. **Build and Package Frontend**
|
|
Run the following command in the `frontend/` directory to build the production assets and create the versioned `.bin` file:
|
|
```bash
|
|
npm run build:esp32 && npm run ota:package
|
|
```
|
|
|
|
2. **Deploy Update**
|
|
Run the deployment script to upload the latest version to the device:
|
|
```bash
|
|
npm run ota:deploy
|
|
```
|
|
|
|
3. **Verify Update**
|
|
Wait for the device to reboot and verify the changes on the dashboard.
|
|
|
|
---
|
|
|
|
### Universal Bundle Option
|
|
|
|
If you also need to update the firmware, use the universal bundle workflow:
|
|
|
|
1. **Build Firmware**
|
|
From the project root:
|
|
```bash
|
|
idf.py build
|
|
```
|
|
|
|
2. **Create Bundle**
|
|
In the `frontend/` directory:
|
|
```bash
|
|
npm run ota:bundle
|
|
```
|
|
|
|
3. **Deploy Bundle**
|
|
In the `frontend/` directory:
|
|
```bash
|
|
npm run ota:deploy-bundle
|
|
```
|