chore: release 0.2.0+0.58.0 #3

Merged
pharaohgraphy merged 1 commits from :0.2.0+0.58.0 into main 2025-11-06 09:55:28 +00:00

Overview

Make the music path configurable via env var & bump to latest release version image
This has been tested on my own Navidrome deployment

Description

This was needed otherwise I had to hack/hard-code the recipe locally to make it a binding path instead of the built-in volume.

## Overview Make the music path configurable via env var & bump to latest release version image This has been tested on my own Navidrome deployment ✅ ## Description This was needed otherwise I had to hack/hard-code the recipe locally to make it a binding path instead of the built-in volume.
pharaohgraphy added 1 commit 2025-10-31 04:05:29 +00:00
Make the music path configurable via env var & bump to latest release version image
decentral1se reviewed 2025-11-04 23:34:00 +00:00
decentral1se left a comment
Owner

👏

👏
compose.yml Outdated
@ -9,3 +9,3 @@
volumes:
- navidrome_data:/data
- navidrome_music:/music:ro
- "${MUSIC_PATH_HOST}:/music:ro"
Owner

Should it not be: "navidrome_music:${MUSIC_PATH_HOST}:ro"?

This is pretty unconventional but I can see why you'd want to customise this.

Does it work? We ran into related issues lately: toolshed/abra#492

Should it not be: `"navidrome_music:${MUSIC_PATH_HOST}:ro"`? This is pretty unconventional but I can see why you'd want to customise this. Does it work? We ran into related issues lately: https://git.coopcloud.tech/toolshed/abra/issues/492
Author
Owner

Other way around, your suggestion would do the following:

  • Always use a Docker volume navidrome_music
  • Allow the env var to control where that's mounted to on the container

My change allows you to set a path to your music folder on the host.
And yes it works 💯

Other way around, your suggestion would do the following: - Always use a Docker volume `navidrome_music` - Allow the env var to control where that's mounted to **on the container** My change allows you to set a path to your music folder on the host. And yes it works 💯
Owner

Huh, I thought docker swarm didn't support that kind of syntax. Another issue with this is that it breaks volume support for other maintainers (navidrome_music dissapears from one version to the next). You can create a separate compose.hostvol.yml and do your own stuff there without disrupting the main config for the others. See https://docs.coopcloud.tech/maintainers/handbook/#optional-compose-files and the other recipes as examples of how to approach this.

Huh, I thought docker swarm didn't support that kind of syntax. Another issue with this is that it breaks volume support for other maintainers (`navidrome_music` dissapears from one version to the next). You can create a separate `compose.hostvol.yml` and do your own stuff there without disrupting the main config for the others. See https://docs.coopcloud.tech/maintainers/handbook/#optional-compose-files and the other recipes as examples of how to approach this.
Author
Owner

Why wouldn't it work? Docker binding/volume syntax is all the same no?

Valid point re: backwards-compat. upon updating though, I didn't think of that, but I'm 50/50 on the optional compose file because it makes NO sense to me to create a new docker volume for the music folder and make it read-only.

That means you'd have to manually mount the volume on another service to upload/add content... which is cumbersome & probs not the ideal use-case?

The binding mount makes a lot more sense as a default option, just like Jellyfin 🤷 so you can use a shared drive or anything else you like on the host to make the media populated & available.

Am I missing something here? 🙃

Why wouldn't it work? Docker binding/volume syntax is all the same no? Valid point re: backwards-compat. upon updating though, I didn't think of that, but I'm 50/50 on the optional compose file because it makes NO sense to me to create a new docker volume for the music folder and make it read-only. That means you'd have to manually mount the volume on another service to upload/add content... which is cumbersome & probs not the ideal use-case? The binding mount makes a lot more sense as a default option, just like Jellyfin 🤷 so you can use a shared drive or anything else you like on the host to make the media populated & available. Am I missing something here? 🙃
Owner

Let's see what the other maintainers think, @cas @ammaratef45?

Let's see what the other maintainers think, @cas @ammaratef45?
Author
Owner

Thanks for your feedback all, I've fixed this with a backwards-compatible EXTRA_VOLUME env var and updated the README accordingly 🙏

Tested on my own navidrome stack

Thanks for your feedback all, I've fixed this with a backwards-compatible `EXTRA_VOLUME` env var and updated the README accordingly 🙏 Tested on my own `navidrome` stack ✅
decentral1se marked this conversation as resolved
Owner

Can we use something like EXTRA_VOLUME https://git.coopcloud.tech/coop-cloud/jellyfin/src/branch/main/compose.yml#L14? we will need to have a second compose file to override the volume mounted to /music path (not even sure if that works) but that's what I would recommend to stay backward compatible

Happy to break backward compatibility eventually as long as it gets planned ahead of time and with engaging community members who utilize this recipe but let's try to compromise for now, wdyt @pharaohgraphy ?

Can we use something like `EXTRA_VOLUME` https://git.coopcloud.tech/coop-cloud/jellyfin/src/branch/main/compose.yml#L14? we will need to have a second compose file to override the volume mounted to /music path (not even sure if that works) but that's what I would recommend to stay backward compatible Happy to break backward compatibility eventually as long as it gets planned ahead of time and with engaging community members who utilize this recipe but let's try to compromise for now, wdyt @pharaohgraphy ?
Author
Owner

Can we use something like EXTRA_VOLUME https://git.coopcloud.tech/coop-cloud/jellyfin/src/branch/main/compose.yml#L14? we will need to have a second compose file to override the volume mounted to /music path (not even sure if that works) but that's what I would recommend to stay backward compatible

I considered that first, it's an easy copy-pasta pattern, no brainer, but was against it because I 'assumed' you can only mount to /music for Navidrome to detect your library.

That was a bad first take though 😅, cause I just had a look at the docs and it looks like you can just add more & point to any path, so I'll go with this approach instead 🙏

> Can we use something like `EXTRA_VOLUME` https://git.coopcloud.tech/coop-cloud/jellyfin/src/branch/main/compose.yml#L14? we will need to have a second compose file to override the volume mounted to /music path (not even sure if that works) but that's what I would recommend to stay backward compatible I considered that first, it's an easy copy-pasta pattern, no brainer, but was against it because I 'assumed' you can only mount to `/music` for Navidrome to detect your library. That was a bad first take though 😅, cause I just had a look at the docs and [it looks like you can just add more](https://www.navidrome.org/docs/usage/multi-library/#creating-additional-libraries) & point to any path, so I'll go with this approach instead 🙏
pharaohgraphy force-pushed 0.2.0+0.58.0 from 12d7280f8d to 84d7fe43a7 2025-11-06 03:40:22 +00:00 Compare
decentral1se approved these changes 2025-11-06 09:18:19 +00:00
decentral1se left a comment
Owner

👏

👏
pharaohgraphy force-pushed 0.2.0+0.58.0 from 84d7fe43a7 to ae8e17d4ce 2025-11-06 09:54:57 +00:00 Compare
pharaohgraphy merged commit 590fab5c57 into main 2025-11-06 09:55:28 +00:00
pharaohgraphy deleted branch 0.2.0+0.58.0 2025-11-06 09:55:28 +00:00
Owner

@ammaratef45 @pharaohgraphy i'm just reviewing to help things move along but I recommend you both check out coop-cloud/traefik#61 and implement a MAINTAINERS.md here also? Then we're building some maintainership over this recipe for long-term sustainability 🙏

@ammaratef45 @pharaohgraphy i'm just reviewing to help things move along but I recommend you both check out https://git.coopcloud.tech/coop-cloud/traefik/pulls/61 and implement a `MAINTAINERS.md` here also? Then we're building some maintainership over this recipe for long-term sustainability 🙏
Sign in to join this conversation.
No description provided.