Skip to content

timvw/soundcork

 
 

SoundCork

Keep your Bose SoundTouch speaker fully functional after Bose shuts down the SoundTouch cloud servers on May 6, 2026.

SoundCork is a self-hosted replacement for the four Bose cloud servers that SoundTouch speakers depend on. It serves all responses locally — no traffic to Bose, no risk of unwanted firmware updates, no data leaving your network.

Fork of deborahgu/soundcork with added Docker support, smart proxy mode, and deployment guides.

Service status

We'll maintain a forum post with the Current Status of Bose Cloud Services. Check there for updates. We will update whenever we learn new information.

What Works

Feature Status Notes
TuneIn radio presets Working Presets 1-6, station playback
Spotify Connect Working Cast from the Spotify app — independent of Bose servers
Spotify presets Working Requires a one-time kick-start via Spotify Connect
Web UI Working Browser-based speaker control at /webui/
SSO/OIDC authentication Working Optional — works with any OIDC provider (Authentik, Keycloak, Auth0, etc.)
AUX input Working Not affected by shutdown
Bluetooth Working Not affected by shutdown
Firmware updates Blocked SoundCork returns "no updates available"
SoundTouch app presets Working Configure TuneIn presets via the Web UI or Bose CLI
Home Assistant Working Media player entities, Lovelace card — soundcork-hass

Screenshots

Login (SSO) Dashboard
Login Dashboard
Speaker Controls & Presets Manage Presets
Speaker Presets
Preset Detail Set Spotify Preset
Preset Detail Spotify Preset
Search TuneIn Stations Station Detail & Save
TuneIn Search TuneIn Detail
Internet Radio Preset Spotify Accounts
Radio Preset Spotify

Quick Start

docker run -d --name soundcork \
  -p 8000:8000 \
  -v ./data:/soundcork/data \
  -e base_url=http://your-server:8000 \
  -e data_dir=/soundcork/data \
  ghcr.io/timvw/soundcork:main

Verify it's running:

curl http://your-server:8000/
# {"Bose":"Can't Brick Us"}

Then open http://your-server:8000/webui/ to access the Web UI.

The container image supports linux/amd64 and linux/arm64 (Raspberry Pi).

See Deployment Guide for Docker Compose, Kubernetes, and bare metal options.

Setup

  1. Get SSH access to your speaker — Speaker Setup Guide
  2. Extract your speaker data (presets, sources, device info) — Speaker Setup Guide
  3. Deploy SoundCork on your network — Deployment Guide
  4. Redirect your speaker to SoundCork — Speaker Setup Guide

Authentication

The Web UI is protected by session-based authentication. By default it uses a username/password login (configured via MGMT_USERNAME/MGMT_PASSWORD).

Optionally, you can enable SSO via any OpenID Connect provider (Authentik, Keycloak, Auth0, Google, Okta, etc.):

docker run -d --name soundcork \
  -p 8000:8000 \
  -v ./data:/soundcork/data \
  -e base_url=http://your-server:8000 \
  -e data_dir=/soundcork/data \
  -e OIDC_ISSUER_URL=https://your-provider/application/o/soundcork/ \
  -e OIDC_CLIENT_ID=soundcork \
  -e OIDC_CLIENT_SECRET=your-secret \
  ghcr.io/timvw/soundcork:main

When OIDC is configured, the login page shows a "Sign in with SSO" button. When it's not configured, the password form is shown. See Deployment Guide for details.

How It Works

SoundTouch speakers communicate with four Bose cloud servers. SoundCork replaces all of them by editing the speaker's configuration to point to your server instead.

See Architecture for details on the Bose servers, operating modes, and data flows.

Bose CLI

The Bose CLI talks directly to the speaker's local API (port 8090) and works independently of any cloud server:

brew install timvw/tap/bose
bose preset    # view presets
bose status    # speaker status
bose volume 30 # set volume

Home Assistant

Control your speakers from Home Assistant with the soundcork-hass integration. Install via HACS as a custom repository.

  • media_player entities with real-time state (volume, now-playing, presets)
  • Lovelace card with now-playing display, preset grid, remote control, and recents
  • All traffic proxied through SoundCork — HA doesn't need direct LAN access to speakers

See Home Assistant docs for setup and API reference.

Documentation

Credits

License

MIT — see LICENSE

About

Intercept API for Bose SoundTouch after they turn off the servers

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 71.3%
  • JavaScript 15.2%
  • CSS 7.0%
  • HTML 4.4%
  • Shell 1.9%
  • Dockerfile 0.2%