Установка — LXC (Proxmox и OpenWrt)
import { Aside, Steps } from ‘@astrojs/starlight/components’;
Почему LXC?
Заголовок раздела «Почему LXC?»LXC — нативный non-Docker вариант для appliance-хостов вроде Proxmox VE и OpenWrt. Bridge работает внутри контейнера, а Bluetooth-стек хоста прокидывается через D-Bus, при этом PulseAudio запускается внутри самого контейнера.
| Платформа | Bluetooth | Аудио | Способ установки |
|---|---|---|---|
| Proxmox VE | bluetoothd хоста через D-Bus bridge | PulseAudio внутри контейнера | proxmox-create.sh |
| OpenWrt / TurrisOS | bluetoothd хоста через D-Bus bridge | PulseAudio внутри контейнера | openwrt/create.sh |
Proxmox VE
Заголовок раздела «Proxmox VE»Быстрая установка
Заголовок раздела «Быстрая установка»На хосте Proxmox:
bash <(curl -fsSL https://raw.githubusercontent.com/trudenboy/sendspin-bt-bridge/main/lxc/proxmox-create.sh)Ручной путь
Заголовок раздела «Ручной путь»-
Создайте привилегированный Ubuntu 24.04 LXC-контейнер.
-
Запустите установщик внутри контейнера:
Окно терминала bash <(curl -fsSL https://raw.githubusercontent.com/trudenboy/sendspin-bt-bridge/main/lxc/install.sh) -
Добавьте на хосте Proxmox необходимые правила D-Bus / устройств в
/etc/pve/lxc/<CTID>.conf. -
Перезапустите контейнер.
Подробный Proxmox-гайд по-прежнему находится в lxc/README.md.
OpenWrt / TurrisOS
Заголовок раздела «OpenWrt / TurrisOS»Быстрая установка
Заголовок раздела «Быстрая установка»На хосте OpenWrt:
wget -qO- https://raw.githubusercontent.com/trudenboy/sendspin-bt-bridge/main/lxc/openwrt/create.sh | shПолный OpenWrt-специфичный гайд находится в lxc/openwrt/README.md.
Сопряжение колонки
Заголовок раздела «Сопряжение колонки»Сопрягайте изнутри контейнера через btctl — это wrapper, который обращается к Bluetooth-демону хоста через D-Bus bridge:
btctlpower onscan onpair AA:BB:CC:DD:EE:FFtrust AA:BB:CC:DD:EE:FFconnect AA:BB:CC:DD:EE:FFexitПланирование портов в LXC-развёртывании
Заголовок раздела «Планирование портов в LXC-развёртывании»После первого запуска настройте порты в /config/config.json (или через веб-интерфейс, затем перезапустите сервис):
{ "WEB_PORT": 8080, "BASE_LISTEN_PORT": 8928, "BLUETOOTH_DEVICES": [ { "mac": "AA:BB:CC:DD:EE:FF", "player_name": "Колонка в гостиной", "listen_port": 8935, "listen_host": "192.168.1.50" } ]}WEB_PORTуправляет прямым listener’ом веб-интерфейса/API у контейнера.BASE_LISTEN_PORTзадаёт базовый блок Sendspin-портов для устройств без явногоlisten_port.listen_portпереопределяет player-port для одного устройства.listen_hostменяет рекламируемый host/IP плеера и не влияет на bind-адрес.
Несколько LXC bridge на одном хосте
Заголовок раздела «Несколько LXC bridge на одном хосте»Если на одном Proxmox- или OpenWrt-хосте работает несколько bridge-контейнеров:
- задайте каждому контейнеру уникальный
WEB_PORT - задайте каждому контейнеру уникальный
BASE_LISTEN_PORT - оставляйте каждую Bluetooth-колонку назначенной только одному работающему bridge
Управление сервисом
Заголовок раздела «Управление сервисом»systemctl status sendspin-clientsystemctl restart sendspin-clientjournalctl -u sendspin-client -fОбновление
Заголовок раздела «Обновление»bash <(curl -fsSL https://raw.githubusercontent.com/trudenboy/sendspin-bt-bridge/main/lxc/upgrade.sh)