mirror of
https://github.com/wkulhanek/bonob.git
synced 2025-12-21 17:33:29 +01:00
Compare commits
5 Commits
1fd8e13668
...
d0d51b02f6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d0d51b02f6 | ||
|
|
1bec5957b9 | ||
|
|
95ea4ac54f | ||
|
|
cba84f669a | ||
|
|
dfdb62bea4 |
68
UPDATES.adoc
Normal file
68
UPDATES.adoc
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
= Updates for SMAPI
|
||||||
|
|
||||||
|
Run Bonob on your server.
|
||||||
|
|
||||||
|
== Updates made to original code
|
||||||
|
|
||||||
|
* Proper Token handling after login. Also handling of periodic token refresh.
|
||||||
|
* Store Tokens in an SQLite database (in mounted `/config` directory).
|
||||||
|
* Added variable `BNB_TOKEN_CLEANUP_INTERVAL` with a default of `60` (minutes) to set how often expired tokens should be cleaned up out of the database.
|
||||||
|
* Multi-account logins. Register one Bonob and log in with multiple Navidrome users for easy account switching in the Sonos app.
|
||||||
|
* Global Search integration (Artist, Album, Track)
|
||||||
|
* Scrobbling support to Navidrome. After one song has been completely played the album will show up in the "Recently played" section.
|
||||||
|
* Playlist support. It shows both public and private (for the current account) playlists.
|
||||||
|
* Modernized Login page.
|
||||||
|
|
||||||
|
== To be done
|
||||||
|
|
||||||
|
* Remove all now unnecessary logic:
|
||||||
|
** Handling of `BNB_SONOS_SEED_HOST`
|
||||||
|
** Autoregistration with Sonos devices (`BNB_SONOS_AUTO_REGISTER`)
|
||||||
|
** Handling of `BNB_SONOS_DEVICE_DISCOVERY`
|
||||||
|
* Implement Thumbs Up/Down or Star ratings (this is probably a Sonos Service configuration thing - with maybe some code changes).
|
||||||
|
* Implement Playlist editing
|
||||||
|
|
||||||
|
== Running Bonob
|
||||||
|
|
||||||
|
Bonob now needs a volume to store the token database. In the example below that directory is `/var/containers/bonob`. Adapt as needed.
|
||||||
|
Also the example below uses a `bonob` user on the system with ID `1210` and group `100`. The database directory should be owned by that user.
|
||||||
|
|
||||||
|
.Example systemd file (`/usr/lib/systemd/system/bonob.service`)
|
||||||
|
[source]
|
||||||
|
----
|
||||||
|
[Unit]
|
||||||
|
Description=Bonob container service
|
||||||
|
Wants=network.target
|
||||||
|
After=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||||
|
Restart=always
|
||||||
|
ExecStartPre=-/usr/bin/podman rm -f bonob
|
||||||
|
ExecStart=/usr/bin/podman run --rm \
|
||||||
|
--name bonob \
|
||||||
|
--label "io.containers.autoupdate=image" \
|
||||||
|
--user 1210:100 \
|
||||||
|
--env BNB_SONOS_SERVICE_NAME="Navidrome" \
|
||||||
|
--env BNB_PORT=8200 \
|
||||||
|
--env BNB_URL="https://bonob.mydomain.com" \
|
||||||
|
--env BNB_SECRET="Some random string" \
|
||||||
|
--env BNB_SONOS_SERVICE_ID=Your Sonos ID \
|
||||||
|
--env BNB_SUBSONIC_URL=https://music.mydomain.com \
|
||||||
|
--env BNB_ICON_FOREGROUND_COLOR="black" \
|
||||||
|
--env BNB_ICON_BACKGROUND_COLOR="#65d7f4" \
|
||||||
|
--env BNB_SONOS_AUTO_REGISTER=false \
|
||||||
|
--env BNB_SONOS_DEVICE_DISCOVERY=false \
|
||||||
|
--env BNB_LOG_LEVEL="info" \
|
||||||
|
--env TZ="Europe/Vienna" \
|
||||||
|
--volume /var/containers/bonob:/config:Z \
|
||||||
|
--publish 8200:8200 \
|
||||||
|
quay.io/wkulhanek/bonob:latest
|
||||||
|
ExecStop=/usr/bin/podman rm -f bonob
|
||||||
|
StandardOutput=syslog
|
||||||
|
StandardError=syslog
|
||||||
|
SyslogIdentifier=bonob
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target default.target
|
||||||
|
----
|
||||||
45
UPDATES.md
45
UPDATES.md
@@ -1,45 +0,0 @@
|
|||||||
# Updates for SMAPI
|
|
||||||
|
|
||||||
Run Bonob on your server.
|
|
||||||
|
|
||||||
Bonob now needs a volume to store OAuth Tokens. In the example below that directory is `/var/containers/bonob`. Adapt as needed.
|
|
||||||
Also the example below uses a `bonob` user on the system with ID `1210` and group `100`. The directory should be owned by that user.
|
|
||||||
|
|
||||||
Example systemd file (`/usr/lib/systemd/system/bonob.service`):
|
|
||||||
```
|
|
||||||
[Unit]
|
|
||||||
Description=bonob Container Service
|
|
||||||
Wants=network.target
|
|
||||||
After=network-online.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
|
||||||
Restart=always
|
|
||||||
ExecStartPre=-/usr/bin/podman rm -f bonob
|
|
||||||
ExecStart=/usr/bin/podman run --rm \
|
|
||||||
--name bonob \
|
|
||||||
--label "io.containers.autoupdate=image" \
|
|
||||||
--user 1210:100 \
|
|
||||||
--env BNB_SONOS_SERVICE_NAME="Navidrome" \
|
|
||||||
--env BNB_PORT=8200 \
|
|
||||||
--env BNB_URL="https://bonob.mydomain.com" \
|
|
||||||
--env BNB_SECRET="Some random string" \
|
|
||||||
--env BNB_SONOS_SERVICE_ID=Your Sonos ID \
|
|
||||||
--env BNB_SUBSONIC_URL=https://music.mydomain.com \
|
|
||||||
--env BNB_ICON_FOREGROUND_COLOR="black" \
|
|
||||||
--env BNB_ICON_BACKGROUND_COLOR="#65d7f4" \
|
|
||||||
--env BNB_SONOS_AUTO_REGISTER=false \
|
|
||||||
--env BNB_SONOS_DEVICE_DISCOVERY=false \
|
|
||||||
--env BNB_LOG_LEVEL="info" \
|
|
||||||
--env TZ="Europe/Vienna" \
|
|
||||||
--volume /var/containers/bonob:/config:Z \
|
|
||||||
--publish 8200:8200 \
|
|
||||||
quay.io/wkulhanek/bonob:latest
|
|
||||||
ExecStop=/usr/bin/podman rm -f bonob
|
|
||||||
StandardOutput=syslog
|
|
||||||
StandardError=syslog
|
|
||||||
SyslogIdentifier=bonob
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target default.target
|
|
||||||
```
|
|
||||||
Reference in New Issue
Block a user