Public | Automated Build

Last pushed: 18 days ago
Short Description
Short description is empty for this repo.
Full Description

What is Headphones?

Headphones is an automated music downloader for NZB and Torrent, written in Python. It supports SABnzbd, NZBget, Transmission, µTorrent and Blackhole.

More info

How to choose a tag

Available tags:

  • latest : based on master branch
  • develop : based on develop branch
  • supervisord-latest : based on master branch
  • supervisord-develop : based on develop branch

The above tags provide images with or without an init process (headphones or supervisor as PID 1)

Depending on how you are planning to launch headphones you have to choose the right image.

How to use this image.

Run headphones :

docker run vsense/headphones:<yourtag>

You can test it by visiting http://container-ip:8181 in a browser or, if you need access outside the host, on port 8181 :

docker run -p 8181:8181 vsense/headphones:<yourtag>

Then go to http://localhost:8181 or http://host-ip:8181 in a browser.


The image has two volumes :

  • /config : contains headphones configuration
  • /downloads : contains the files downloaded by the service provider of your choice : NZB, Torrents or Others. Also postprocessed files. You can pretty much drop whatever you want here it is sort of a data volume.

headphones is installed in the /headphones directory but it is not a volume. If you wish to use host mount point instead of volumes it's possible.

To use an on-host config (for persistent configuration if you do not want to deal with volumes:

docker run --restart=always --name headphones --hostname headphones -v /srv/configs/headphones:/config vsense/headphones

To mount your download folder (you will probably need to do that anyway) :

docker run --restart=always --name headphones --hostname headphones -v /srv/configs/headphones:/config -v /srv/seedbox:/downloads vsense/headphones

You can even override headphones directory if you prefer to git clone on your host for whatever reason :

docker run --restart=always --name headphones --hostname headphones -v /srv/headphones:/headphones vsense/headphones

And you can combine the commands above as you like :

docker run --restart=always --name headphones --hostname headphones  -v /srv/seedbox:/downloads -v /srv/headphones:/headphones -v /srv/configs/headphones:/config vsense/headphones

Recommanded running methods

Running without init with Docker

docker run --restart=always --name headphones --hostname headphones  -v /srv/seedbox:/downloads -v /srv/configs/headphones:/config vsense/headphones

Running with systemd (Preferred)

# /etc/systemd/system/headphones.service
Description=Headphones music downloader

ExecStartPre=-/usr/bin/docker pull vsense/headphones
ExecStart=/usr/bin/docker run --rm --name headphones --hostname headphones --dns= -v /srv/configs/headphones:/config -v /srv/seedbox:/downloads vsense/headphones
ExecStop=/usr/bin/docker stop headphones
ExecReload=/usr/bin/docker restart headphones

Docker Pull Command
Source Repository