fix(casaos): point app tile at /ui dashboard and complete x-casaos schema
- index -> /ui/index.html so the CasaOS tile opens the actual dashboard instead of the bare API index page (root / only lists endpoints) - add webui_port, and envs/ports/volumes annotations + screenshot_link to match the richer CasaOS app-store metadata format - add mode: ingress to the UDP 5005 port for consistency with the TCP ports - docs: document the /ui/* dashboard URLs (index/observatory/pose-fusion/viz) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
296370d4b4
commit
8cbade3ce3
|
|
@ -13,7 +13,9 @@
|
||||||
# Import into CasaOS: App Store → Custom Install → paste this file, OR
|
# Import into CasaOS: App Store → Custom Install → paste this file, OR
|
||||||
# cd /DATA/AppData/ruview && docker compose -f docker-compose.casaos.yml up -d
|
# cd /DATA/AppData/ruview && docker compose -f docker-compose.casaos.yml up -d
|
||||||
#
|
#
|
||||||
# Open the dashboard at: http://192.168.1.177:3030
|
# Open the dashboard at: http://192.168.1.177:3030/ui/index.html
|
||||||
|
# (the bare http://<host>:3030/ root is just an API index — the visual
|
||||||
|
# dashboards live under /ui/: index.html, observatory.html, pose-fusion.html)
|
||||||
#
|
#
|
||||||
# Data source (CSI_SOURCE):
|
# Data source (CSI_SOURCE):
|
||||||
# auto probe UDP 5005 for an ESP32, else fall back to simulation (default)
|
# auto probe UDP 5005 for an ESP32, else fall back to simulation (default)
|
||||||
|
|
@ -38,7 +40,8 @@ services:
|
||||||
target: 3001
|
target: 3001
|
||||||
published: "3031"
|
published: "3031"
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
- target: 5005
|
- mode: ingress
|
||||||
|
target: 5005
|
||||||
published: "5005"
|
published: "5005"
|
||||||
protocol: udp
|
protocol: udp
|
||||||
environment:
|
environment:
|
||||||
|
|
@ -70,9 +73,10 @@ x-casaos:
|
||||||
category: HomeAutomation
|
category: HomeAutomation
|
||||||
hostname: ""
|
hostname: ""
|
||||||
icon: https://cdn.jsdelivr.net/gh/Aiacos/ruview@main/assets/ruview-icon.png
|
icon: https://cdn.jsdelivr.net/gh/Aiacos/ruview@main/assets/ruview-icon.png
|
||||||
index: /
|
index: /ui/index.html
|
||||||
is_uncontrolled: false
|
is_uncontrolled: false
|
||||||
port_map: "3030"
|
port_map: "3030"
|
||||||
|
webui_port: 3030
|
||||||
scheme: http
|
scheme: http
|
||||||
tagline:
|
tagline:
|
||||||
en_us: See through walls with WiFi — contactless presence, breathing & pose sensing
|
en_us: See through walls with WiFi — contactless presence, breathing & pose sensing
|
||||||
|
|
@ -99,3 +103,32 @@ x-casaos:
|
||||||
en_us: RuView
|
en_us: RuView
|
||||||
custom: RuView
|
custom: RuView
|
||||||
thumbnail: https://cdn.jsdelivr.net/gh/Aiacos/ruview@main/assets/ruview-icon.png
|
thumbnail: https://cdn.jsdelivr.net/gh/Aiacos/ruview@main/assets/ruview-icon.png
|
||||||
|
screenshot_link:
|
||||||
|
- https://cdn.jsdelivr.net/gh/Aiacos/ruview@main/assets/ruview-icon.png
|
||||||
|
envs:
|
||||||
|
- container: CSI_SOURCE
|
||||||
|
description:
|
||||||
|
en_us: "Data source: auto (default) | esp32 | simulated. 'simulated' needs no hardware."
|
||||||
|
- container: RUVIEW_API_TOKEN
|
||||||
|
description:
|
||||||
|
en_us: "(Optional) bearer token to protect /api/v1/*. Leave empty for LAN-only use."
|
||||||
|
- container: MODELS_DIR
|
||||||
|
description:
|
||||||
|
en_us: "In-container path scanned for .rvf model files (default /app/models)."
|
||||||
|
- container: RUST_LOG
|
||||||
|
description:
|
||||||
|
en_us: "Log level: info (default), debug, warn, error."
|
||||||
|
ports:
|
||||||
|
- container: "3000"
|
||||||
|
description:
|
||||||
|
en_us: "Web UI + REST API (HTTP). Published on host port 3030."
|
||||||
|
- container: "3001"
|
||||||
|
description:
|
||||||
|
en_us: "WebSocket sensing stream. Published on host port 3031."
|
||||||
|
- container: "5005"
|
||||||
|
description:
|
||||||
|
en_us: "ESP32-S3 CSI ingest (UDP). Published on host port 5005."
|
||||||
|
volumes:
|
||||||
|
- container: /app/models
|
||||||
|
description:
|
||||||
|
en_us: "Holds .rvf model files exposed via /api/v1/models."
|
||||||
|
|
|
||||||
|
|
@ -24,9 +24,14 @@ CSI_SOURCE=simulated docker compose -f docker-compose.casaos.yml up -d
|
||||||
Then open the dashboard:
|
Then open the dashboard:
|
||||||
|
|
||||||
```
|
```
|
||||||
http://<host-ip>:3030
|
http://<host-ip>:3030/ui/index.html
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> The bare root `http://<host-ip>:3030/` is only an **API index** (a plain list
|
||||||
|
> of endpoints) — the visual dashboards live under `/ui/`:
|
||||||
|
> `index.html` (main), `observatory.html` (live feed), `pose-fusion.html`
|
||||||
|
> (webcam + CSI), `viz.html` (3D).
|
||||||
|
|
||||||
`CSI_SOURCE=simulated` feeds the pipeline with synthetic CSI so you can explore
|
`CSI_SOURCE=simulated` feeds the pipeline with synthetic CSI so you can explore
|
||||||
the dashboard, API, and vital-sign/pose visualizations without any hardware.
|
the dashboard, API, and vital-sign/pose visualizations without any hardware.
|
||||||
|
|
||||||
|
|
@ -106,7 +111,7 @@ description, port map), so CasaOS shows it as a proper app tile.
|
||||||
customized app").
|
customized app").
|
||||||
2. Switch to the **Import** / YAML view and paste the contents of
|
2. Switch to the **Import** / YAML view and paste the contents of
|
||||||
`docker-compose.casaos.yml`.
|
`docker-compose.casaos.yml`.
|
||||||
3. Install. The tile opens `http://<host-ip>:3030`.
|
3. Install. The tile opens `http://<host-ip>:3030/ui/index.html`.
|
||||||
|
|
||||||
**Option B — CLI (CasaOS still detects the container)**
|
**Option B — CLI (CasaOS still detects the container)**
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue