Accounts, permissions & chat
Authentication
Both authentication schemes from the Subsonic/OpenSubsonic spec are supported:
-
API-key authentication: This scheme is always supported and is the recommended one. See app passwords.
-
Legacy MD5-token / cleartext password authentication: For older clients. Can be enabled server-wide via
legacy_authif you need it. It only accepts app passwords created with Usable as a password.
Important
Subsonic clients need an app password: the account password is only for the Web UI.
Multi-user system
Every user account has their own bookmarks, ratings, favorites, play statistics, play queues, and internet radio stations, all synced across whatever devices/clients they use.
BeetstreamNext stores this data separately from your Beets library, since Beets itself has no concept of multi-user data.
You can, however, have one user’s likes/ratings persist inside the Beets library so they survive outside BeetstreamNext and are visible to other Beets plugins/tools: set ratings_writeback_user to that username.
User roles
Users permissions are as defined by the OpenSubsonic/Subsonic spec’s roles. These roles can be set from the admin panel’s Users tab (or --update-user/update-user on the CLI):
| Role | Default | Allows |
|---|---|---|
| Admin | off | Full access to the admin panel and all settings |
| Settings | on | Changing their own personal settings and password |
| Stream | on | Playing files |
| Download | off | Downloading files |
| Playlists | on | Creating and deleting their own playlists |
| Comments | on | Creating and editing comments and ratings |
| Podcasts | off | Managing their own podcast subscriptions |
| Sharing | off | Generating public shares (see Sharing) |
| Jukebox | off | Controlling jukebox-mode playback (see Jukebox) |
| Scrobbling | on | Keeping track of what they listen on BeetstreamNext (and/or sending to extrernal scrobbling account) |
A new user account starts with the defaults above unless overridden at creation.
Note
A few roles from the spec (
coverArtRole,uploadRole,videoConversionRole) are exposed for client/spec compatibility but do currently nothing in BeetstreamNext.
User account page
Users with the Settings role can sign in at /login, and can manage their avatar, email, password, app passwords, and internet radio stations, and (if they are allowed) their public shares and podcast subscriptions.
Important
Admins who sign in on a listener without the
adminscope (seeadmin_hostsandadmin_port) see the non-admin view of their account.
Chat
BeetstreamNext implements the standard Subsonic chat endpoints (getChatMessages/addChatMessage). Any client with a chat feature can use it as a simple message board.
In addition, you can post server announcements from the admin panel, and edit or delete any user’s chat message for moderation. See Web UI usage.
See the configuration reference for any of the settings mentioned here.