Skip to content
Architecture

Architecture

OpenCloudTouch replaces the Bose SoundTouch cloud infrastructure with a local service running on your network.

How Bose SoundTouch Works (Original)

    graph LR
    Speaker[🔊 SoundTouch Speaker] -->|HTTPS| Bose[☁️ Bose Cloud]
    Bose -->|Presets, Radio, Updates| Speaker
    App[📱 Bose App] -->|API| Bose
  

Bose speakers rely on cloud services for presets, internet radio station lookup, multi-room coordination, and firmware updates. When Bose shut down these services, speakers lost most of their smart functionality.

How OpenCloudTouch Works

    graph LR
    Speaker[🔊 SoundTouch Speaker] -->|HTTP/SSDP| OCT[🏠 OpenCloudTouch]
    OCT -->|Presets, Radio, Control| Speaker
    UI[🌐 Web UI] -->|REST API| OCT
    OCT -.->|Optional| TuneIn[📻 TuneIn API]
  

OpenCloudTouch intercepts the speaker’s cloud calls by acting as a local replacement:

  • SSDP Discovery — finds speakers on the network automatically
  • REST API — provides preset management, radio lookup, and speaker control
  • Web UI — browser-based interface for configuration and playback
  • No Internet required — works fully offline (except for streaming radio content)

Components

ComponentTechnologyPurpose
BackendPython (FastAPI)REST API, speaker communication, SSDP discovery
FrontendReact (TypeScript)Web-based control interface
DatabaseSQLitePreset storage, speaker registry
ContainerDockerDeployment and isolation

Network Requirements

OpenCloudTouch needs to be on the same network segment as your speakers. It uses:

  • UDP 1900 — SSDP discovery (multicast)
  • UDP 5353 — mDNS (multicast)
  • TCP 7777 — Web UI and REST API
Last updated on