Duncan Overbruck 2f563c3406 spec: add IgnoredArticles attribute to Index responses
This attribute is required as per spec and keeping it empty,
complies the spec as long as articles are not ignored while indexing.
In the future, this could maybe be a user setting that could be
supported.

With this change, the aurial client works now.

* https://shrimpza.github.io/aurial/
* https://github.com/shrimpza/aurial
2020-03-03 12:22:34 +00:00
2019-11-24 01:51:17 +00:00
2020-02-25 20:42:49 +00:00
2020-02-21 01:19:21 +00:00
2020-01-29 15:33:14 +00:00
2020-03-01 21:12:54 +00:00
2019-06-26 13:57:30 +01:00
2019-07-01 11:34:14 +01:00
2020-02-20 13:18:03 +00:00
2019-07-01 11:34:14 +01:00
2019-08-21 15:04:40 +01:00
2019-07-31 15:11:50 +01:00
2019-11-21 18:57:08 +00:00
2020-02-19 20:08:37 +00:00
2019-07-31 15:11:50 +01:00
2020-02-24 14:39:42 -08:00
2020-02-25 20:42:06 +00:00
2019-03-29 17:14:33 +00:00
2020-01-27 17:20:03 +00:00

FLOSS alternative to subsonic, supporting its many clients

features

  • browsing by folder (keeping your full tree intact)
  • browsing by tags (using taglib - supports mp3, opus, flac, ape, m4a, wav, etc.)
  • pretty fast scanning (with my library of ~27k tracks, initial scan takes about 10m, and about 5s after incrementally)
  • last.fm scrobbling
  • multiple users
  • a web interface for configuration (set up last.fm, manage users, start scans, etc.)
  • newer salt and token auth
  • tested on dsub and jamstash

installation

the default login is admin/admin.
password can then be changed from the web interface

$ apt install build-essential git sqlite libtag1-dev # for debian like
$ pacman -S base-devel git sqlite taglib             # for arch like
$ go get senan.xyz/g/gonic/cmd/gonic
$ export PATH=$PATH:$HOME/go/bin
$ gonic -h                                           # or see "configuration options below"

note: unfortunately if you do this above, you'll be compiling gonic locally on your machine (if someone knows how I can statically link sqlite3 and taglib, please let me know so I can distribute static binaries)

or else you can run in docker, available on dockerhub as sentriz/gonic

# example docker-compose.yml

version: '3'
services:
  gonic:
    image: sentriz/gonic:latest
    environment:
    - TZ
    # optionally, see env vars below
    expose:
    - 80
    volumes:
    - ./data:/data
    - /path/to/music:/music:ro

then start with docker-compose up -d

configuration options

env var command line arg description
GONIC_MUSIC_PATH -music-path path to your music collection
GONIC_DB_PATH -db-path optional path to database file
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_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)

screenshots

example nginx config with GONIC_PROXY_PREFIX

  location /gonic/ {
      proxy_pass http://localhost:4747/;
      # set X-Forwarded-Host for last.fm connection callback
      proxy_set_header X-Forwarded-Host $host;
  }
Description
No description provided
Readme 57 MiB
Languages
Go 99%
Shell 0.3%
Dockerfile 0.3%
CSS 0.3%