
the default login is admin/admin.
password can then be changed from the web interface
https://github.com/sentriz/gonic/wiki/installation#from-source
https://github.com/sentriz/gonic/wiki/installation#with-docker
https://github.com/sentriz/gonic/wiki/installation#with-systemd
| env var | command line arg | description |
|---|---|---|
GONIC_MUSIC_PATH |
-music-path |
path to your music collection (see also multi-folder support below) |
GONIC_PODCAST_PATH |
-podcast-path |
path to a podcasts directory |
GONIC_PLAYLISTS_PATH |
-playlists-path |
path to new or existing directory with m3u files for subsonic playlists. items in the directory should be in the format <userid>/<name>.m3u. for example the admin user could have 1/my-playlist.m3u. gonic create and make changes to these playlists over the subsonic api. |
GONIC_CACHE_PATH |
-cache-path |
path to store audio transcodes, covers, etc |
GONIC_DB_PATH |
-db-path |
optional path to database file |
GONIC_HTTP_LOG |
-http-log |
optional http request logging, enabled by default |
GONIC_LISTEN_ADDR |
-listen-addr |
optional host and port to listen on (eg. 0.0.0.0:4747, 127.0.0.1:4747) (default 0.0.0.0:4747) |
GONIC_TLS_CERT |
-tls-cert |
optional path to a TLS cert (enables HTTPS listening) |
GONIC_TLS_KEY |
-tls-key |
optional path to a TLS key (enables HTTPS listening) |
GONIC_PROXY_PREFIX |
-proxy-prefix |
optional url path prefix to use if behind reverse proxy. eg /gonic (see example configs below) |
GONIC_SCAN_INTERVAL |
-scan-interval |
optional interval (in minutes) to check for new music (automatic scanning disabled if omitted) |
GONIC_SCAN_AT_START_ENABLED |
-scan-at-start-enabled |
optional whether to perform an initial scan at startup |
GONIC_SCAN_WATCHER_ENABLED |
-scan-watcher-enabled |
optional whether to watch file system for new music and rescan |
GONIC_SCAN_EMBEDDED_COVER_ENABLED |
-scan-embedded-cover-enabled |
optional whether to scan for embedded covers in audio files (default true) |
GONIC_JUKEBOX_ENABLED |
-jukebox-enabled |
optional whether the subsonic jukebox api should be enabled |
GONIC_JUKEBOX_MPV_EXTRA_ARGS |
-jukebox-mpv-extra-args |
optional extra command line arguments to pass to the jukebox mpv daemon |
GONIC_PODCAST_PURGE_AGE |
-podcast-purge-age |
optional age (in days) to purge podcast episodes if not accessed |
GONIC_EXCLUDE_PATTERN |
-exclude-pattern |
optional files matching this regex pattern will not be imported. eg @eaDir|[aA]rtwork|[cC]overs|[sS]cans|[sS]pectrals |
GONIC_MULTI_VALUE_GENRE |
-multi-value-genre |
optional setting for multi-valued genre tags when scanning (see more) |
GONIC_MULTI_VALUE_ARTIST |
-multi-value-artist |
optional setting for multi-valued artist tags when scanning (see more) |
GONIC_MULTI_VALUE_ALBUM_ARTIST |
-multi-value-album-artist |
optional setting for multi-valued album artist tags when scanning (see more) |
GONIC_MULTI_VALUE_ISRC |
-multi-value-isrc |
optional setting for multi-valued isrc tags when scanning (see more) |
GONIC_TRANSCODE_CACHE_SIZE |
-transcode-cache-size |
optional size of the transcode cache in MB (0 = no limit) |
GONIC_TRANSCODE_EJECT_INTERVAL |
-transcode-eject-interval |
optional interval (in minutes) to eject transcode cache (0 = never) |
GONIC_EXPVAR |
-expvar |
optional enable the /debug/vars endpoint (exposes useful debugging attributes as well as database stats) |
gonic can support potentially multi valued tags like genres, artists, and albumartists. in both cases gonic will individual entries in its database for each.
this means being able to click find album "X" under both "techno" and "house" for example. or finding the album "My Life in the Bush of Ghosts" under either "David Byrne" or "Brian Eno". it also means not cluttering up your artists list with "A & X", "A and Y", "A ft. Z", etc. you will only have A, X, Y, and Z.
the available modes are:
| value | desc
$ claude mcp add gonic \
-- python -m otcore.mcp_server <graph>