Public Repository

Last pushed: 2 years ago
Short Description
Subsonic media streamer on Docker. Stream your own music anywhere.
Full Description


A Dockerfile for the Subsonic media streamer.


Subsonic v5.3

Subsonic is a personal media streamer. Listen to your music from anywhere – all you need is a browser.
Based on hyzual/subsonic with an update for the startup script based on Hyzual/docker-subsonic.


Using bind-mount only (for both data and music)

$ sudo docker run -d -p XXXX:4040 --name subsonic -v /path-to-your-music/:/var/music:ro craigblois/subsonic

Where XXXX is the port you will use for connecting to the server

Using a container for data and bind-mount for music (recommended)

Please replace <your-username> and <your-email>, /path-to-subsonic-data/ and /path-to-your-music/ in the following instructions.

  1. Create the data-only container, for the configuration data.
  2. Here is an example Dockerfile for the configuration data

     FROM alpine:3.1
     MAINTAINER <your-username> "<your-email>"
     VOLUME ["/var/subsonic"]
     CMD ["echo", "Data container for Subsonic"]
  3. Build the data-only container, run it and import your data in it. Assuming you created a subsonicdata/ folder containing the first Dockerfile above, run the following commands.

     $ sudo docker build -t <your-username>/subsonicdata subsonicdata/
     $ sudo docker run --name subsonicdata <your-username>/subsonicdata
     # If this is the first time you run Subsonic, 
     # you can skip the rest of the commands.
     # If you already run Subsonic, this is how to import 
     # your existing data. Be sure to stop Subsonic first.
     $ sudo docker run -it --rm --volumes-from subsonicdata 
     -v /path-to-subsonic-data/:/hostdata <yourusername>/subsonicdata sh
     # Once connected to the new container, copy your data from host to volume
     $ cp -r /hostdata/subsonic/* /var/subsonic
     $ exit
  4. Run Subsonic using the data-only container and bind-mount. As long as the data container is present, you can remove the Subsonic container, and your configuration will be preserved thanks to the data-only container.

$ sudo docker run -d -p XXXX:4040 --name subsonic --volumes-from subsonicdata -v /path-to-your-music/:/var/music:ro craigblois/subsonic

Where XXXX is the port you will use for connecting to the server





Subsonic webserver port.

Docker Pull Command