Change PUID on container after the install - Permission issues?

    • Official Post

    On the compose plugin, line numbers don't match the lines of the YML.

    That's why I say if I'm not mistaken, I'm not sure how to count lines, I started counting where the # ends

    The error comes from 1 of the volumes which must be wrong

    Well, I don't know what else to try. I had the OP delete the folder and recreate it, read the thread. Can you think of anything else to look at?

  • I'm on phone now.

    I'll try to see it with better eyes latter and help the best I can, 😉

    • Official Post

    The only thing left to test is that the owner of the folder is appuser, but it shouldn't be necessary to do that.

  • The only thing left to test is that the owner of the folder is appuser, but it shouldn't be necessary to do that.

    Or if the media is pointing to a specific place, ;)

    • Official Post

    Sorion , these are the points to check:


    - The folder /SSD/appdata exists

    - The folder /MEDIA/entertainment exists

    - appuser has write permissions on both folders

    - appuser has UID=1002 and GID=100

    - Port 8888 is not busy in the system.


    If you have doubts about checking any of the points, ask here.

    If these points are checked and it still does not work, you have a sprite camped on the motherboard and its feet are on top of the CPU fan. Open the cover of the computer and get rid of the intruder.


  • Allright - I'm back.

    I read all I missed so far and checked what I could nothing came up negativ so far.


    Here is all the inputs back that should verify that even though I'm not sure about the permissions. I think it's okay?



    sorion is just the user account for smb, but that shouldn't matter if I'm not stupid?


    I have no idea how to check for port usage though.
    Port forwarding is not used in my network as of now so for my understanding it must be in use by the server itself. I wouldn't know of anything but don't know how to verify that.

    The only thing is that I had a portainer installation active when all this started which had a functioning jellyfin container which used port 8888 - but as of now to my knowledge everything in regards to that has been removed from the server.


    I assume you're making a joke in regards to the cpu fan? If not I'm not following.


    Unrelated to what you suggested I did also try to redo the syslinks and leave them out, as in use the mounting paths in the compose - didn't work either.



    Edit:

    Since that too was mentioned, I did check for timezone too:


    Code
    $ timedatectl
                   Local time: Tue 2023-05-09 21:31:34 CEST
               Universal time: Tue 2023-05-09 19:31:34 UTC
                     RTC time: Tue 2023-05-09 19:31:34
                    Time zone: Europe/Berlin (CEST, +0200)
    System clock synchronized: yes
                  NTP service: active
              RTC in local TZ: no


    Even though it wouldn't make sense since the symlink is working I went and reconfirmed that both directorys are reachable under the non shorted link that I took from the symlink GUI page


    Code
    $ cd /srv/dev-disk-by-uuid-4692ac63-fd6e-4884-b875-118de220d9a8/media/entertainment
    $ pwd
    /srv/dev-disk-by-uuid-4692ac63-fd6e-4884-b875-118de220d9a8/media/entertainment
    
    
    $ cd /srv/dev-disk-by-uuid-f42bb887-736b-4ae1-87b4-3a71cff64bec
    $ pwd
    /srv/dev-disk-by-uuid-f42bb887-736b-4ae1-87b4-3a71cff64bec
    $ ls
    appdata  aquota.group  aquota.user  backup  backup_os  compose  docker  lost+found
  • I assume you're making a joke in regards to the cpu fan? If not I'm not following.

    It is a joke, ;)


    As for the rest, you are using the openmedia-compose plugin, correct?

    You have already set a shared folder to work with the plugin?

    My example:


    That folder was created as a Shared-Folder since it's required by the Plugin (you can name it what you want)



    Now, edit the YML like this:



    Save, accept the changes and click the check icon


    If any error comes out, click on the bell on the TOP-RIGHT and paste the error.


    If no error comes, access the GUI of jellyfin on a different PC with http://192.168.1.130:8096 (edit the LAN-IP to your's)

  • I did as asked. And good news first: It worked.


    The check ran as it should, I assumed you had forgotten to ask for also "up"ing the file since without I couldn't possibly connect. Weirdly on the first attempt of "Up"ing I got an error. I tried it again and this time it properly pulled all jellyfin data and started the container as supposed.


    Access via different pc worked fine, all media is there - am currently in the process of redoing the stuff.


    So in short - thanks to everyone involved, I'd say the matter is resolved


    But if you don't mind going into detail, would you mind explaining why this worked now? What is the ":ro" ending doing? Why did we have to add the published server ip when that apparently isn't usually necessary?

    Why the split into all 3 categorys instead of just refering to parent folder?



    And lastly a semi related question:

    I assume I should going forwards setup all docker containers with compose - if I see a use in adding portainer for a GUI to the mix in the future, would you advice me to not do that for compability or security(?) concerns or should that be of no relevance?


    Again, thanks' a lot everyone!

  • I assumed you had forgotten to ask for also "up"ing the file since without I couldn't possibly connect

    Correct, I forgot to post that, :)

    But if you don't mind going into detail, would you mind explaining why this worked now?

    This made the sprite take the feet of the CPU fan, :D (joking)


    The container config folder was created, at deploy time, with a new folder that now, belongs to the proper ID that you wanted. This makes the container with the proper permissions, and cleans any error. It could be possible to move and assign the same permissions on the old folder but the trouble and time is just not worth it.

    What is the ":ro" ending doing?

    This is just a habit I have to only pass media folder with Read-Only attributes on these type of containers (Jellyfin, Emby, Plex, etc)

    This is just to prevent that anyone, can be able to delete files from it. This flag is only INSIDE the container, NOT on the HOST.

    Why did we have to add the published server ip when that apparently isn't usually necessary?

    Although it says optional, I only managed to find the server on the LAN, if I have that environment setted. Makes it more visible on the LAN since it advertises to it:


    Why the split into all 3 categorys instead of just refering to parent folder?

    Again, this is my personal preference. This way, on the jellyfin GUI, I set each Library pointing to each of those folders individually.

    But you can always edit the YML to use only the parent one. Up to you.


    I assume I should going forwards setup all docker containers with compose - if I see a use in adding portainer for a GUI to the mix in the future, would you advice me to not do that for compability or security(?) concerns or should that be of no relevance?

    I don't use Portainer for a long time. Always launched YMLs via command-line with docker-compose.

    Since the Plugin simplifies it even more, I only use now, the plugin.

    No point in having Portainer in use.


    But this is just a choice. I see lot's of users only using Portainer, or Yacht or both.

    This is just a way of running containers.


    You should use what you like more or feel better using.

  • Sorion

    Added the Label resolved
    • Official Post

    Thanks Soma . This thread was starting to make me lose sleep LOL

    I assume you're making a joke in regards to the cpu fan? If not I'm not following.

    Sure enough, this was just a joke. Possibly the culprit is my Mediterranean personality, I can't help it :)

    - JELLYFIN_PublishedServerUrl=192.168.1.130 #Edit the LAN-IP with your own

    I have never seen the need to use this setup. I take note, possibly I will add it to the guide.

    It shouldn't make a difference to the container implementation anyway.

    The only thing is that I had a portainer installation active when all this started which had a functioning jellyfin container which used port 8888 - but as of now to my knowledge everything in regards to that has been removed from the server.

    I will change the theme of the port in the guide as well. I just changed it to illustrate that it's possible to do it, and how to do it. But seeing that this is not the first thread where he has created problems, it's not worth it.

    The container config folder was created, at deploy time, with a new folder that now, belongs to the proper ID that you wanted. This makes the container with the proper permissions, and cleans any error. It could be possible to move and assign the same permissions on the old folder but the trouble and time is just not worth it.

    What does this mean? The folder defined in the plugin is a standard OMV shared folder


    owner: root

    owner group: users

    permissions: 775


    And the subfolders and files within that folder are managed by the plugin with its own permissions.

    Why would redoing that folder make a difference? I can't make sense of this.

    - /MEDIA/entertainment/tvshows:/media/tvshows:ro

    Separating or not separating the media folders is also not a reason for the container not to work. Nor the fact of configuring them as read-only. By the way, if you do that jellyfin won't be able to write to the movie folders the nfo files. If you don't use them everything will be fine.


    ____________________________________________________________________________


    So I still don't understand where the goblin was. Can someone explain it to me as if I were a noob? Or maybe there really was a sprite? :)

    • Official Post

    As I reread this, a possible explanation comes to mind. It is possible that the old yaml file ended up badly formatted during the first edit. Copying and pasting this file again might have resolved it.

    If no one contributes, I'll just keep this idea in my head.

  • As I reread this, a possible explanation comes to mind. It is possible that the old yaml file ended up badly formatted during the first edit. Copying and pasting this file again might have resolved it.

    If no one contributes, I'll just keep this idea in my head.

    unlikely. I did completely delete and remake the file a few times in between. After all I had to reinstall Docker which requires me to throw out compose too.

    Pretty sure I copied my linked here one back but did also once go to the wiki and copy everything from there and reenter the inputs.

    • Official Post

    unlikely. I did completely delete and remake the file a few times in between. After all I had to reinstall Docker which requires me to throw out compose too.

    Pretty sure I copied my linked here one back but did also once go to the wiki and copy everything from there and reenter the inputs.

    So, if you are sure that this file was formatted correctly, I can't find a logical explanation for all this.

  • The folder defined in the plugin is a standard OMV shared folder

    If you refer compose-plugin, that folder only holds the YML and ENV files created and nothing else.

    As for the config folder of the container, I don't really have a proper answer as to why it works now.


    When things aren't working proper, I rather have a fresh launch than chasing white-rabbits.


    And since I saw that the symlink was pointing to the root of the drive, I felt it was better to start again.


    IIRC, You say in your guide to make a SSD symlink to the root of a drive.

    I think it's better to create a sub-folder on the drive first (eg. appdata) and then symlink to it, instead of the upper folder (the root of the drive).

    When creating the config volumes, it will create the subfolders with the UID:GID mentioned on the YML.


    I'm so use to this that I don't even think about other possible issues.

    Same goes with the rest of the volumes.

    Separating or not separating the media folders is also not a reason for the container not to work. Nor the fact of configuring them as read-only.

    This was just a personal input. Doesn't mean it's mandatory, ;)


    Nor the fact of configuring them as read-only. By the way, if you do that jellyfin won't be able to write to the movie folders the nfo files.

    Well, this is just me beeing paranoid in preventing someone to delete any of that MEDIA DATA (I mount it also RO on Nextcloud) in case of any hacking.

    I rather have the DB and INFO on the appdata folder/drive (since it's a seperate SSD) and only reading from the MEDIA HDD than having CONTAINERS writing to that drive.


    Nothing that can't be changed on (re)deployment of the container.


    I can't give you better explanation than the above.

    • Official Post

    If you refer compose-plugin, that folder only holds the YML and ENV files created and nothing else.

    I know. It is enough that they can be read.


    As for the config folder of the container, I don't really have a proper answer as to why it works now.

    Me neither :)


    When things aren't working proper, I rather have a fresh launch than chasing white-rabbits.

    I agree. Which is why I had the OP delete that folder and recreate it. It didn't work.


    IIRC, You say in your guide to make a SSD symlink to the root of a drive.

    I think it's better to create a sub-folder on the drive first (eg. appdata) and then symlink to it, instead of the upper folder (the root of the drive).

    When creating the config volumes, it will create the subfolders with the UID:GID mentioned on the YML.


    I'm so use to this that I don't even think about other possible issues.

    Same goes with the rest of the volumes.

    You haven't read the guide :) You don't need it, it's normal that you haven't.

    The procedure creates a symlink to the /SSD drive. Then create a shared folder, appdata. The container then creates the subfolder within appdata for each app.

    It's the same thing you're saying. The only difference is where the symlink is referenced.

    The same goes for user data. Creating symlinks to folders would complicate things.

    The only reason to use symlinks in the procedure is to avoid the use of uuid's. Simplicity.

    This was just a personal input. Doesn't mean it's mandatory,

    I know. I was just looking for the goblin.

    He who wants to deepen the use of docker can search in google.

    Well, this is just me beeing paranoid in preventing someone to delete any of that MEDIA DATA (I mount it also RO on Nextcloud) in case of any hacking.

    I rather have the DB and INFO on the appdata folder/drive (since it's a seperate SSD) and only reading from the MEDIA HDD than having CONTAINERS writing to that drive.

    Same thing here, just looking for the goblin.


    I can't give you better explanation than the above.

    Then we only have the explanation of the goblin.

  • Then we only have the explanation of the goblin.

    Those damn sprites are everywhere, :D

    • Official Post

    I will change the theme of the port in the guide as well. I just changed it to illustrate that it's possible to do it, and how to do it. But seeing that this is not the first thread where he has created problems, it's not worth it.

    Modified in the guide, this will no longer cause problems.

    - JELLYFIN_PublishedServerUrl=192.168.1.130 #Edit the LAN-IP with your own

    I have never seen the need to use this setup. I take note, possibly I will add it to the guide.

    Added this too. Thanks.

  • Modified in the guide, this will no longer cause problems.

    Only saw the "new version" of it.

    Nicely done, ;)

    • Official Post

    ryecoaaron Maybe you should take a look at this.

    Trying to reproduce the error in this thread I have done the following:

    - new vm

    - omv-extras installed

    - openmediavault-compose installed

    - openmediavault-symlink installed

    - jellyfin container created in the GUI


    Pressing the up button throws this error.

    check button

    correct yaml file

    docker working

    Reboot did nothing

    What else can i watch?

  • docker-compose: not found

    If I'm not mistaken, docker-compose command lost the -


    It's now  docker compose


    Can check this better tomorrow



    [EDIT]

    chente

    Can you try this on CLI:

    I recall seeing something refering the change on the command on one of the last updates of docker-cli but can't seem to find it.


    I've been updating so it's shows both commands the same.

    Since you made a fresh install, maybe the "new command" is different.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!