wifi-densepose/docker-compose.casaos.yml

102 lines
4.0 KiB
YAML

# RuView — WiFi DensePose sensing server, CasaOS-ready compose.
#
# Uses the prebuilt image (amd64) from Docker Hub, so the CasaOS host does NOT
# need to compile the Rust workspace. (This server is amd64. For arm64 hosts the
# published tag has no arm64 layer yet — build locally with the dev compose:
# `docker compose -f docker/docker-compose.yml build`.) The server hosts the
# REST API + web UI on one port, a WebSocket stream, and a UDP listener for
# ESP32-S3 CSI nodes.
#
# Host ports were chosen to avoid clashes on this server (3000/3001 are already
# in use): the UI is published on 3030, the WebSocket on 3031, ESP32 CSI on 5005/udp.
#
# Import into CasaOS: App Store → Custom Install → paste this file, OR
# cd /DATA/AppData/ruview && docker compose -f docker-compose.casaos.yml up -d
#
# Open the dashboard at: http://192.168.1.177:3030
#
# Data source (CSI_SOURCE):
# auto probe UDP 5005 for an ESP32, else fall back to simulation (default)
# esp32 require real CSI frames from an ESP32-S3 node on UDP 5005
# simulated synthetic CSI, no hardware needed (good for first evaluation)
name: ruview
services:
ruview:
image: ruvnet/wifi-densepose:latest
container_name: ruview
hostname: ruview
labels:
icon: https://cdn.jsdelivr.net/gh/Aiacos/ruview@main/assets/ruview-icon.png
ports:
- mode: ingress
target: 3000
published: "3030"
protocol: tcp
- mode: ingress
target: 3001
published: "3031"
protocol: tcp
- target: 5005
published: "5005"
protocol: udp
environment:
- RUST_LOG=info
# auto | esp32 | wifi | simulated (see header)
- CSI_SOURCE=${CSI_SOURCE:-auto}
- MODELS_DIR=/app/models
# Optional bearer-token auth on /api/v1/*. Leave empty for LAN-only use;
# set a token to require `Authorization: Bearer <token>`:
# RUVIEW_API_TOKEN=$(openssl rand -hex 32)
- RUVIEW_API_TOKEN=${RUVIEW_API_TOKEN:-}
volumes:
# Drop .rvf model files here to make them visible to the API.
- ./data/models:/app/models
restart: unless-stopped
networks:
default: null
networks:
default:
name: ruview_default
x-casaos:
architectures:
- amd64
main: ruview
author: self
developer: ruvnet
category: HomeAutomation
hostname: ""
icon: https://cdn.jsdelivr.net/gh/Aiacos/ruview@main/assets/ruview-icon.png
index: /
is_uncontrolled: false
port_map: "3030"
scheme: http
tagline:
en_us: See through walls with WiFi — contactless presence, breathing & pose sensing
custom: Vedere attraverso i muri con il WiFi — presenza, respiro e posa senza contatto
description:
en_us: |
RuView (WiFi DensePose) turns ordinary WiFi into a contactless spatial
sensor. Using Channel State Information (CSI) from low-cost ESP32-S3 nodes,
it detects people through walls, estimates breathing and heart rate, tracks
motion and falls, and runs 17-keypoint pose estimation — no cameras, no
wearables. This image runs the Rust sensing server with its web dashboard.
With CSI_SOURCE=simulated it works with synthetic data and no hardware;
point one or more ESP32-S3 CSI nodes at UDP 5005 for live sensing.
custom: |
RuView (WiFi DensePose) trasforma il normale WiFi in un sensore spaziale
senza contatto. Usando le Channel State Information (CSI) di nodi ESP32-S3
a basso costo rileva le persone attraverso i muri, stima respiro e battito
cardiaco, traccia movimento e cadute ed esegue la stima della posa a 17
punti — niente telecamere, niente dispositivi indossabili. Questa immagine
avvia il server Rust con la dashboard web. Con CSI_SOURCE=simulated funziona
con dati sintetici senza hardware; per il sensing dal vivo invia le CSI di
uno o più nodi ESP32-S3 sulla porta UDP 5005.
title:
en_us: RuView
custom: RuView
thumbnail: https://cdn.jsdelivr.net/gh/Aiacos/ruview@main/assets/ruview-icon.png