[Support] Linuxserver.io - Beets


Recommended Posts

3 hours ago, steve1977 said:

 

Thanks. I wasn't aware of this feature and it seems interesting. Reading the link you've sent. Mbsync is also a great plugin. Does it work with the docker and how it is different from beet update?

 

Having said this, above actually does not answer my question and is not what I am looking for. Let me describe what I mean with more color:

 

/importfolder/ [mapped via docker]

/importfolder/Abba-Album1

/libraryfolder/ [mapped via docker]

 

When I use  "beet import /import", the album gets tagged and moved (I have move=yes in config). Folder then looks like below:

 

/importfolder/

/libraryfolder/Abba-Album1

 

I'll now add an album to "/libraryfolder" directly. Either not tagged or maybe including some tags from itunes.

 

/importfolder/

/libraryfolder/Abba-Album1

/libraryfolder/Abba-Album2

 

Abba-Album2 is now not part of my beets library as it was not imported through Beets. Is there a way to get Abba-Album2 to my library without importing it through the "importfolder" and without retagging Abba-Album1 (already in my beets library and already tagged).

 

Does it make it clearer that I am trying to accomplish?

 

Oh right sure, you can point beets at any folder you've mapped to it. so in this case you could set:

copy: no

move: no

 

then you can run:
beet import /libraryfolder/Abba-Album2

to specify the album you want included.

 

Quote

Beets queries musicbrainz API heavily when importing a large library. I have a local mirror of musicbrainz, so would hope to reduce load for musicbrainz.org by using it instead. 

Ok sure, I had my own MB server running at one point. I ended up removing it as I could never be sure if it was causing problems or not. Once the initial library scan is complete the scan times aren't that bad. Besides, I find discogs provides me with better matching anyway. I'd suggest putting the local MB server on the backburner until you have everything else working smoothly.

 

Quote

 

I've run "docker safe new perms". That's how I get music files to work after running beets. But that's obviously not the idea to run the command every time after I use beets ;-) PUID/PGID are set correctly. Any other ideas what I could check? Both linked folders are on the array.

You should only run DSNP if a container (or user) has been editing files as a user other than users:nobody, if beets is set correctly then check the app which is creating the files in the first place (downloader or file browser)

 

Quote

 

5) I read through all the tags, but didn't find a way to let beets tell me what albums in beets are incomplete (i.e., 14 files for an album tagged for a release with 15 tracks; or looking for albums that miss artwork or a MBZ release ID)

As mentioned in the documents, beets has its limitations when it comes to perfect matching of releases. You can increase or lower the threshold before beets requires user input, I have mine set at 82% of a confident match, anything below will require me to manually match. Too many or too few tracks always triggers a manual import where I look up the id on discogs or MB then input manually.

 

Quote

 

6) Possible to configure somewhere what coverart will be download / embedded? Also including fanart.tv with respective API?

 

Look up the documentation on the fetchart plugin, you can be very specific about artwork sourcing. I don't use it myself rather relying on existing artwork in the folder.

 

Not wanting to pass you off onto someone else, but I generally find the beets google groups to be very helpful technically when it comes to beets support. That's where I go for assistance.

Edited by enmesh-parisian-latest
  • Like 1
Link to comment

Terrific, thanks, getting there!

 

2 minutes ago, enmesh-parisian-latest said:

Oh right sure, you can point beets at any folder you've mapped to it. so in this case you could set:

copy: no

move: no

 

then you can run:
beet import /libraryfolder/Abba-Album2

to specify the album you want included.

I am aware of this, but I don't want to specify the album. Is there a way that Beets can keep memory of the files already in library. And then pick up the new files through an import or update of some form?

2 minutes ago, enmesh-parisian-latest said:

 

Ok sure, I had my own MB server running at one point. I ended up removing it as I could never be sure if it was causing problems or not. Once the initial library scan is complete the scan times aren't that bad. Besides, I find discogs provides me with better matching anyway. I'd suggest putting the local MB server on the backburner until you have everything else working smoothly.

I actually have the local mirror already up and running. It works flawless and I have been using it together with Picard well. For some reasons, I cannot get it to work with Beets though. I added the following in my config file without success: musicbrainz: host: 192.168.11.215:5000 ratelimit: 100

 

2 minutes ago, enmesh-parisian-latest said:

 

You should only run DSNP if a container (or user) has been editing files as a user other than users:nobody, if beets is set correctly then check the app which is creating the files in the first place (downloader or file browser)

The files are still ok as long as they are in the importfolder. They change permission after being moved from importfolder to musiclibrary folder. I believe this is done by Beets? Still worth checking otherwise? What could be set wrongly in Beets?

 

And another one: can beets handle more than one library?

Link to comment
2 hours ago, steve1977 said:

Terrific, thanks, getting there!

 

I am aware of this, but I don't want to specify the album. Is there a way that Beets can keep memory of the files already in library. And then pick up the new files through an import or update of some form?

I actually have the local mirror already up and running. It works flawless and I have been using it together with Picard well. For some reasons, I cannot get it to work with Beets though. I added the following in my config file without success: musicbrainz: host: 192.168.11.215:5000 ratelimit: 100

 

The files are still ok as long as they are in the importfolder. They change permission after being moved from importfolder to musiclibrary folder. I believe this is done by Beets? Still worth checking otherwise? What could be set wrongly in Beets?

 

And another one: can beets handle more than one library?

Have you thought about reading through the beets documentation? I suspect alot of your questions are covered there. https://beets.readthedocs.io/en/v1.4.7/

Link to comment
4 hours ago, steve1977 said:

Terrific, thanks, getting there!

 

I am aware of this, but I don't want to specify the album. Is there a way that Beets can keep memory of the files already in library. And then pick up the new files through an import or update of some form?

I actually have the local mirror already up and running. It works flawless and I have been using it together with Picard well. For some reasons, I cannot get it to work with Beets though. I added the following in my config file without success: musicbrainz: host: 192.168.11.215:5000 ratelimit: 100

You're on your own with this one, I don't use a local MB server.

4 hours ago, steve1977 said:

 

The files are still ok as long as they are in the importfolder. They change permission after being moved from importfolder to musiclibrary folder. I believe this is done by Beets? Still worth checking otherwise? What could be set wrongly in Beets?

If beets is being run as users:nobody and you've run DSNP, then there's no way it can be changing permissions outside its own user group. Check your container actually has the PUID and PGID set correctly.

 

4 hours ago, steve1977 said:

And another one: can beets handle more than one library?

 

I suggest due to the volume random questions which you can find answers to already, I suggest you consult the documents. I had many similar questions when I was starting out with beets and received the RTFM suggestion many times. Every time I'd overlooked the clearly written answers already available to me. Really, the beets docs are very well written although you may need to read a few times for it to sink in. Due to the breadth of the possibilities we could be here for days.

Link to comment
14 hours ago, enmesh-parisian-latest said:

You're on your own with this one, I don't use a local MB server.

If beets is being run as users:nobody and you've run DSNP, then there's no way it can be changing permissions outside its own user group. Check your container actually has the PUID and PGID set correctly.

 

 

I suggest due to the volume random questions which you can find answers to already, I suggest you consult the documents. I had many similar questions when I was starting out with beets and received the RTFM suggestion many times. Every time I'd overlooked the clearly written answers already available to me. Really, the beets docs are very well written although you may need to read a few times for it to sink in. Due to the breadth of the possibilities we could be here for days.

18 hours ago, steve1977 said:

 

And another one: can beets handle more than one library?

 

 

Regarding the multiple library thing, there are a few ways of doing it. You could run two seperate beets containers and just call them like beet1 & beet2. The neater way would be just to have two seperate config files and use the -c flag to specify the config files:

 

docker exec beets beet -c /config/config-v1.yaml import /downloads

docker exec beets beet -c /config/config-v2.yaml import /downloads

 

Inside the config files you can specify different musiclibrary.blb databases. I'm not sure how the state.pickle file would be affected by the two libraries, although you may be able to specify the state.pickle inside the config.

Link to comment

This is great! Very clear how I can get a second or third library within the same docker. I can leave config.yaml for the first primary library. And then add a second config2.yaml with musiclibrary2.blb and different paths for the second one. Less worried about the state.pickle as I won't need the resume feature.

 

Let me also update on what I figured out in the meantime:

 

I can use the MBZ local mirror as long as the docker is set up on the same IP as the Beets docker. It is not supported to have the two dockers on different IPs.

 

_releasecomment tag does not seem to be supported to define paths.

 

Changing tags via "$set" also is not supported (yet).

 

Mbsync seems to be a great plugin. I am surprised it makes changes even right after an "import" as I'd anticipated it would be identical after the import. Anyhow, mbsync works quite fast, so this is great!

 

Disabling chroma solved a log of the issues I was having.

 

I figured out "-i" feature, which is great to import only albums that are not yet in the library.

 

I haven't figured out yet the permission issue the docker is creating when importing, but I believe it is somehow related to user shares. I'll keep on trouble-shooting.

 

I am still less clear whether Beets allows me to have albums in different folders as part of one library (i.e., when not using move/copy), but I should be able to figure this out.

Edited by steve1977
Link to comment
  • 2 weeks later...

Hey guys. I've used both this docker and thetarkus version and they both exhibit this problem. When importing new files, when beets moves/copies them to the destination, the file ownership is root.root - even though the docker settings for UID/GID is 99/100. This requires me to chown/chmod after each import in able to edit the files later on. Short of writing a cron job, is there a way to fix this? Or does beets support a post-processing script (I couldn't find anything in their docs) that can call external commands? Any help would be appreciated.

Link to comment
1 hour ago, jserio said:

Hey guys. I've used both this docker and thetarkus version and they both exhibit this problem. When importing new files, when beets moves/copies them to the destination, the file ownership is root.root - even though the docker settings for UID/GID is 99/100. This requires me to chown/chmod after each import in able to edit the files later on. Short of writing a cron job, is there a way to fix this? Or does beets support a post-processing script (I couldn't find anything in their docs) that can call external commands? Any help would be appreciated.

 

You have probably not used -u abc when you execute the command to import the music. Then you run beet as root and your files will end up with root:root permissions.

You have to run it as abc as that is mapped to 99/100.

 

docker exec -u abc -it beets the command to import

 

Link to comment
2 hours ago, saarg said:

 

You have probably not used -u abc when you execute the command to import the music. Then you run beet as root and your files will end up with root:root permissions.

You have to run it as abc as that is mapped to 99/100.

 


docker exec -u abc -it beets the command to import

 

Forgive my ignorance but I haven't used the beet command this way. I open the beet console and then within the container I run beet import.... Is this not the correct way? If I run the command outside of the container, then the permissions will be correct? I do know that the user inside the container appears to be 'abc'. 

Link to comment
10 hours ago, jserio said:

Forgive my ignorance but I haven't used the beet command this way. I open the beet console and then within the container I run beet import.... Is this not the correct way? If I run the command outside of the container, then the permissions will be correct? I do know that the user inside the container appears to be 'abc'. 

If you just exec into the container from command line or use the Command line option in the webui, you log in to the container as root, so the correct way is to use the command I wrote in my previous post. Only then you execute the command as the abc user.

 

Link to comment
  • 4 months later...

Hi everyone. New to beets and have a peculiar issue. I have no (functional) webUI GUI. the command line works fine, and that's how I've been importing my library, but the files and folders have messed up user restrictions which i then have to correct later. Again, functional, but I see pictures of others using a GUI to set permissions and stuff and think that would be really swell to have for myself.

 

I can't seem to paste an image of the GUI i see, but it's the black bar across the top that says beets and a grey "play" trianlge, then a grey bar along the left side and at the top "Query". The query field works! but the main block of the page is just white. Nothing in it.

 

Can anyone shed any light on correcting my situation?


Thanks for any input,

JP

Link to comment

also, I am unable to modify the folder/files created by beets on my Windows desktop machine, I can access the beets source folder ok it's only after beets has processed them that I can't.  can anyone help with that please as have to keep using crusader or chmod

 

Thank you

 

 

Annotation 2019-09-26 165733.jpg

Annotation 2019-09-26 165653.jpg

Annotation 2019-09-26 142210.jpg

Link to comment

Hi! I am having an issue with the latest version I updated to today.

 

When running the docker container, the log is spammed with "error: unknown command web". Obviously, I have no web UI with this error occuring. I can still console into the docker and it works until Unraid decides to kill the docker container (I assume due to not being able to startup properly).

 

Prior to today's update, the container was working fine. Nothing else has changed on my end.

Link to comment
41 minutes ago, mbc0 said:

I guess this docker/forum is not maintained any more? 😢

We simply can't answer everything all the time. We are volunteers and do this on our free time. Right now, most of our members have a lot to do and therefore limited time to do support.

 

Regarding your issue, a quick Google search have the answer.

 

https://beets.readthedocs.io/en/stable/plugins/permissions.html

Link to comment
On 9/27/2019 at 3:25 PM, Dreytac said:

Hi! I am having an issue with the latest version I updated to today.

 

When running the docker container, the log is spammed with "error: unknown command web". Obviously, I have no web UI with this error occuring. I can still console into the docker and it works until Unraid decides to kill the docker container (I assume due to not being able to startup properly).

 

Prior to today's update, the container was working fine. Nothing else has changed on my end.

Post the docker run command and the container log.

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.