defaults | ||
handlers | ||
meta | ||
molecule | ||
tasks | ||
templates | ||
tests | ||
vars | ||
.gitignore | ||
.travis.yml | ||
.yamllint | ||
LICENSE | ||
README.md |
laurivan.navidrome
Install navidrome and optionally bonob in docker.
Requirements
You need a machine with Docker installed.
Role Variables
All variables are listed below (see also defaults/main.yml
).
Navidrome
You can (and should) specify the version of the navidrome image:
navidrome_image_version: 'latest'
Navidrome needs a place to store its configuration and another to pick up music from:
navidrome_config_volume: '/mnt/config-local/navidrome'
navidrome_music_volume: '/mnt/music'
If you have multiple folders with music, you should create a parent and build symbolic links to them.
The web interface is available at the following port:
navidrome_host_port: 48533
Bonob
If you have e.g. a Sonos system in the house, you may install also Bonob by setting bonob_enabled
to true
. the default is:
bonob_enabled: false
You can also specify the bonob image version and the port at which is available:
bonob_image_version: 'latest'
bonob_host_port: 48534
You can change the colors of the bonob icon displayed:
bonob_icon_color: "beige"
bonob_icon_background: "red"
Sonos
The sonos-related variables are:
bonob_sonos_auto_register: 'true'
bonob_sonos_device_discovery: 'true'
bonob_sonos_seed_host:
bonob_sonos_service_id: "246"
If you try sonos autodiscovery and it doesn't work, please:
- Find the IP of one of the Sonos devices
- Set
bonob_sonos_seed_host
to that IP - Replay the role
You can also add custom clients for streaming:
bonob_subsonic_custom_clients: 'audio/flac'
For more details, please see the Bonob documentation.
Generic
You will need to specify a timezone:
timezone: 'Europe/Brussels'
Otherwise, Bonob will point to Australia/Melbourne, which may not be the same as Navidrome.
Dependencies
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
MIT
Author Information
This role was created in 2022 by Laur Ivan.