mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-19 09:06:14 +00:00
Implements pkg/service/stockholm with bridge (appSend/runQueue), HTTP proxy, static serving, config URL rewriting, native state persistence, and device discovery. Mounts under a configurable base path (/stockholm by default) with correct http.StripPrefix routing and apiBase-prefixed bridge API routes matching the patched JS window.__stockholmBase calls. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
80 lines
2.9 KiB
Bash
80 lines
2.9 KiB
Bash
# Bose SoundTouch Configuration
|
|
# Copy this file to .env and customize for your setup
|
|
|
|
# Docker/Service Settings
|
|
SOUNDTOUCH_HOSTNAME=soundtouch.local
|
|
SOUNDTOUCH_VERSION=latest
|
|
|
|
# Stockholm frontend (used by make prepare-stockholm and by the Go service at startup)
|
|
# BACKEND_URL is the base URL your speakers and browser can reach the service at.
|
|
# Corresponds to SERVER_URL in the Go service.
|
|
# BACKEND_URL=http://soundtouch.local:8000
|
|
#
|
|
# STREAMING_URL is used for streaming.bose.com rewrites (defaults to BACKEND_URL).
|
|
# Set to $(BACKEND_URL)/marge only when routing through a soundcork backend.
|
|
# STREAMING_URL=http://soundtouch.local:8000
|
|
#
|
|
# AUTH_SERVICE_URL is written into config.json as the auth endpoint (defaults to BACKEND_URL).
|
|
# A trailing slash is added automatically; the JS appends paths like "oauth/account/..." directly.
|
|
# AUTH_SERVICE_URL=http://soundtouch.local:8000
|
|
#
|
|
# STOCKHOLM_BASE_PATH mounts the Stockholm UI under a URL prefix, freeing / for the management UI.
|
|
# The bridge API (/api/native/*, /api/http-proxy) remains at root regardless of this setting.
|
|
# Defaults to /stockholm. Set to empty to serve at root.
|
|
# STOCKHOLM_BASE_PATH=/stockholm
|
|
|
|
# Discovery Settings
|
|
DISCOVERY_TIMEOUT=5s
|
|
UPNP_ENABLED=true
|
|
|
|
# HTTP Client Settings
|
|
HTTP_TIMEOUT=10s
|
|
USER_AGENT="Bose-SoundTouch-Go-Client/1.0"
|
|
|
|
# Cache Settings
|
|
CACHE_ENABLED=true
|
|
CACHE_TTL=30s
|
|
|
|
# Preferred Devices Configuration
|
|
# Format: name@host:port;name@host:port;...
|
|
# - name is optional (will default to "SoundTouch-{host}")
|
|
# - port is optional (will default to 8090)
|
|
# - Multiple devices are separated by semicolons
|
|
|
|
# Examples:
|
|
# Single device with default port:
|
|
# PREFERRED_DEVICES="192.168.1.100"
|
|
|
|
# Single device with custom name:
|
|
# PREFERRED_DEVICES="Living Room@192.168.1.100"
|
|
|
|
# Single device with custom port:
|
|
# PREFERRED_DEVICES="192.168.1.100:8091"
|
|
|
|
# Multiple devices with mixed configurations:
|
|
PREFERRED_DEVICES="Living Room@192.168.1.100:8090;Kitchen@192.168.1.101;192.168.1.102:8091"
|
|
|
|
# Real example based on your devices:
|
|
# PREFERRED_DEVICES="Sound Machinechen@192.168.178.35;A Sound Machine@192.168.178.28"
|
|
|
|
# Alternative format examples:
|
|
# PREFERRED_DEVICES="192.168.178.35;192.168.178.28"
|
|
# PREFERRED_DEVICES="SoundTouch 10@192.168.178.35;SoundTouch 20@192.168.178.28"
|
|
|
|
# Spotify Integration
|
|
# Create an app at https://developer.spotify.com/dashboard
|
|
# SPOTIFY_CLIENT_ID=your_client_id
|
|
# SPOTIFY_CLIENT_SECRET=your_client_secret
|
|
# Auth confirmation url using GET, works in browsers
|
|
# SPOTIFY_REDIRECT_URI=https://your-server.example.com/mgmt/spotify/callback
|
|
# Auth confirmation url using POST, works with the ueberboese-app (https://github.com/julius-d/ueberboese-app)
|
|
# SPOTIFY_REDIRECT_URI=https://your-server.example.com/mgmt/spotify/confirm
|
|
|
|
# Management API Authentication
|
|
# Protects /mgmt/* endpoints (Spotify token access, account management)
|
|
MGMT_USERNAME=admin
|
|
MGMT_PASSWORD=change_me!
|
|
|
|
# External base URL (required when behind a reverse proxy for OAuth callbacks)
|
|
# BASE_URL=https://your-server.example.com
|