Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

senan.xyz/g/gonic

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

senan.xyz/g/gonic

  • v0.8.2
  • Go
  • Socket score

Version published
Created
Source

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.)

  • on-the-fly audio transcoding and caching (requires ffmpeg) (thank you spijet)

  • 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, jamstash, sublime music, and soundwaves

installation

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

$ apt install build-essential git sqlite libtag1-dev ffmpeg # for debian like
$ pacman -S base-devel git sqlite taglib ffmpeg             # 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             # gonic db etc
    - /path/to/music:/music:ro # your music
    - /path/to/cache:/cache    # transcode cache dir

then start with docker-compose up -d

configuration options

env varcommand line argdescription
GONIC_MUSIC_PATH-music-pathpath to your music collection
GONIC_CACHE_PATH-cache-pathoptional path to store audio transcodes (default /tmp/gonic_cache)
GONIC_DB_PATH-db-pathoptional path to database file
GONIC_LISTEN_ADDR-listen-addroptional 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-prefixoptional url path prefix to use if behind reverse proxy. eg /gonic (see example configs below)
GONIC_SCAN_INTERVAL-scan-intervaloptional 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;
  }

FAQs

Package last updated on 20 Mar 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc