Octave

Octave

Docker 应用程序 from johagan's Repository

概述

Sync Spotify playlists into Jellyfin, request missing albums in Lidarr, and enrich matching with ListenBrainz and Last.fm. Browser-based setup — no config file editing needed.

运行时参数

网络用户界面
http://[IP]:[PORT:8000]
网络
bridge
外壳
bash
特权
false

模板配置

Web UI PortPorttcp

Octave web interface and API.

目标
8000
默认值
8000
价值
8000
Config PathPathrw

Stores config.json (non-secret settings: Jellyfin library ID, playlists list).

目标
/app/config
默认值
/mnt/user/appdata/octave/config
价值
/mnt/user/appdata/octave/config
Data PathPathrw

Runtime data: SQLite sync history, credentials (settings.json), Spotify PKCE token, track cache.

目标
/app/data
默认值
/mnt/user/appdata/octave/data
价值
/mnt/user/appdata/octave/data
Logs PathPathrw

Octave log files (rotated automatically).

目标
/app/logs
默认值
/mnt/user/appdata/octave/logs
价值
/mnt/user/appdata/octave/logs
Spotify Client IDVariable

Required to connect Spotify. Create a free app at developer.spotify.com/dashboard, copy its Client ID here (or into Settings later), and add your Octave callback URL — http://SERVER-IP:8000/callback — to that app's Redirect URIs. PKCE is used, so no client secret is needed.

目标
SPOTIFY_CLIENT_ID
Spotify Redirect URIVariable

Optional. Leave blank to let Octave infer the callback URI. Set this explicitly when using a reverse proxy, e.g. https://octave.example.com/callback.

目标
SPOTIFY_REDIRECT_URI
Jellyfin URLVariable

Optional — use 'Sign in to Jellyfin' in the Settings UI to configure automatically. URL reachable from the Octave container, e.g. http://192.168.1.10:8096 or http://jellyfin:8096.

目标
JELLYFIN_URL
Jellyfin API KeyVariable

Optional — auto-filled by 'Sign in to Jellyfin' in Settings. Jellyfin Dashboard → API Keys.

目标
JELLYFIN_API_KEY
Jellyfin User IDVariable

Optional — auto-filled by 'Sign in to Jellyfin' in Settings. The user ID that will own created playlists.

目标
JELLYFIN_USER_ID
Lidarr URLVariable

Optional — leave unset to disable Lidarr integration. URL reachable from the Octave container, e.g. http://lidarr:8686.

目标
LIDARR_URL
Lidarr API KeyVariable

Optional Lidarr API key. Lidarr → Settings → General → Security → API Key.

目标
LIDARR_API_KEY
Auth UsernameVariable

HTTP Basic Auth username for the web UI. Defaults to 'octave'.

目标
AUTH_USERNAME
默认值
octave
价值
octave
Auth PasswordVariable

SECURITY: blank = NO authentication (anyone on the network can access Octave). Set a password before exposing Octave beyond a trusted LAN. Leave blank only for an isolated/LAN-trust setup.

目标
AUTH_PASSWORD
Sync ScheduleVariable

Cron schedule for automatic sync (uses container TZ). Default: 2:00 AM daily. Leave blank to disable scheduled sync.

目标
SYNC_SCHEDULE
默认值
0 2 * * *
价值
0 2 * * *
Sync On StartupVariable

Set to 'true' to run a sync when the container starts.

目标
SYNC_ON_STARTUP
默认值
false
价值
false
Sync All PlaylistsVariable

Set to 'true' to discover and sync every Spotify playlist the connected account can see. Spotify-owned editorial playlists are skipped automatically.

目标
SYNC_ALL_PLAYLISTS
TimezoneVariable

IANA timezone string for logs and scheduled syncs, e.g. Australia/Sydney.

目标
TZ
默认值
UTC
价值
UTC
Log LevelVariable

Python logging level: DEBUG, INFO, WARNING, or ERROR.

目标
LOG_LEVEL
默认值
INFO
价值
INFO
ListenBrainz TokenVariable

Optional. ListenBrainz user token from listenbrainz.org/profile/ — enables MusicBrainz ID resolution for better Lidarr matching.

目标
LISTENBRAINZ_TOKEN
Last.fm API KeyVariable

Optional. Last.fm API key from last.fm/api/account/create — enables playcounts and similar-artist discovery.

目标
LASTFM_API_KEY
Last.fm UsernameVariable

Optional. Last.fm username for scrobble history lookups.

目标
LASTFM_USERNAME

详细信息

存储库
ghcr.io/johagan94/octave:latest
最后更新2026-05-31
初见2026-05-28

在Unraid 上运行 Octave 。

Octave 已被列入Unraid OS 的社区应用程序。探索Unraid ,构建灵活的家庭服务器、NAS 或家庭实验室。