• 0 Posts
  • 11 Comments
Joined 2 months ago
cake
Cake day: August 25th, 2025

help-circle
  • Great!

    Transcoding we should be able to sort out pretty easily. How did you make the lxc? Was it manual, did you use one of the proxmox community scripts, etc?

    For transferring all your JF goodies over, there are a few ways you can do it.

    If both are on the NAS, I believe you said you have a synology. You can go to the browser and go to http://nasip:5000/ and just copy around what you want if its stored on the NAS as a mount and not inside the container. If its inside the container only its going to be a bit trickier, like mounting the host as a volume on the container, copying to that mount, then moving around. But even Jellyfin says its complex - https://jellyfin.org/docs/general/administration/migrate/ - so be aware that could be rough.

    The other option is to bring your docker container over to the new VM, but then you’ve got a new complication in needing to pass through your GPU entirely rather than giving the lxc access to the hosts resource, which is much simpler IMO.


  • That usually means something has changed with the storage, I’d bet there is a lingering reference in the .conf to the old mount.

    The easiest? Just delete the container, start clean. Thats what nice about containers by the way! The harder would be mounting the filesystem of the container, and taking a look at some logs. Which route do you want to go?

    For the VM, its really easy. Go to the VM, and open up the console. If you’re logging in as root, commands as is, if you’re logging in as a user, we’ll need to add a sudo in there (and maybe install some packages / add the user to the sudoers group)

    1. Update your packages - apt update && apt upgrade
    2. Install the nfs tools - apt install nfs-common
    3. Create your directory where you’re going to mount it mkdir /mnt/NameYourMount
    4. Lets mount it to test - sudo mount -t nfs 192.168.1.100:/share/dir /mnt/NameYourMount
    5. List out the files and make sure its working - ls -la /mnt/NameYourMount. If you have an issue here, pause and come back and we’ll see whats going on.
    6. If it looks good, lets make it permanent - nano /etc/fstab
    7. Add this line, edited as appropriate 192.168.1.100:/share/dir /mnt/NameYourMount nfs defaults,x-systemd.automount,x-systemd.requires=network-online.target 0 0
    8. Save and close - ctrl+x then y
    9. Reboot your VM, then login again and ls -la /mnt/NameYourMount to confirm you’re all set

  • Ok we can remove it as an SMB mount, but fair warning a few bits of CLI to do this thoroughly.

    • Shut down 101 and 102
    • In the Web GUI, go to the JF container, go to resources, and remove that mount point. Take note of where you mounted it! We’re going to mount it back in the same spot.
    • Go to the web GUI, go to Storage, select the SMB mount of the NAS, and select Edit - then uncheck Enable.
    • With it selected, go ahead and click remove
    • For both 101 and 102, lets make sure they aren’t set to start from boot for now. Go to each of them, and under the options section, you’ll see “Start at Boot”. If they say yes, change it to No (click edit or double click and remove the check from the box).
    • Reboot your server
    • Lets check that the mounting service is gone, go to the host then shell, and enter systemctl list-units "*.mount"
    • If you don’t see mnt-pve-thenameofthatshareyoujustremoved.mount, its removed.

    That said - I like to be sure, so lets do a few more things.

    • umount -R /mnt/pve/thatshare - Totally fine if this throws an error
    • Lets check the mounts file. cat /proc/mounts - a whooole bunch of stuff will pop up. Do you see your network share listed there? If so, lets go ahead and delete that line. nano /proc/mounts, find the line if its still there, and remove it. ctrl+x then y to save.

    Ok, you should be all clear. Lets go ahead and reboot one more time just to clear out anything if you had to make any further changes. If not, lets re-add.

    Go ahead and add in the NAS using NFS in the storage section like you did previously. You can mount to that same directory you were using before. Once its there, go back into the Shell, and lets do this again: ls -la /mnt/pve/thenameofyourmount/

    Is your data showing up? If so, great! If not, lets find out whats going on.

    Now lets add back to your container mount. You’ll need to add that mount point back in again with: pct set 100 -mp0 /mnt/pve/NAS/media,mp=/media (however you had it mounted before in that second step).

    Now start the container, and go to the console for the container. ls -la /whereveryoumountedit - if it looks good, your JF container is all set and now working with NFS! Go back to the options section, and enable “Start at Boot” if you’d like it to.

    Onto the VM, what distribution is installed there? Debian, fedora, etc?


  • For the record, I prefer NFS

    And now I think we may have the answer…

    OK so that command is for LXCs, and not for VMs. If youre doing a full VM, we’d mount NFS directly inside the VM.

    Did you make an LXC or a VM for 102?

    If its an lxc, we can work out the command and figure out what’s going on.

    If its a VM, we’ll get it mounted with NFS utils, but how is going to depend on what distribution you’ve got running on there (different package names and package managers)





  • No worries!

    So if you’ve got docker containers going already, you don’t need them to be LXCs.

    So why not keep them docker?

    Now there are a couple of approaches here. A VM will have a bit higher overhead, but offers much better isolation than lxc. Conversely, lxc is lightweight but with less host isolation.

    If we’re talking the *arr stack? Meh, make it an lxc if you want. Hell, make it an lxc with dockge installed, so you can easily tweak your compose files from the web, convert a docker run to compose, etc.

    If you have those configs (and their accompanying data) stored on the NAS itself - you dont have to move them. Let’s look at that command again…

    pct set 100 -mp0 /mnt/pve/NAS/media,mp=/media

    So let’s say your container data is stored at /opt/dockerstuff/ on your NAS, with subdirectories of dockerapp1 and dockerapp2. Let’s say your new lxc is number 101. You have two options:

    • Mount the entire directory

    pct set 101 -mp0 /mnt/Pve/NAS/opt/dockerstuff,mp=/opt/dockerstuff

    • Mount them specifically for each container to get a bit more granular in control
    pct set 101 -mp0 /mnt/Pve/NAS/opt/dockerstuff/dockerapp1,mp=/opt/dockerstuff/dockerapp1
    
    pct set 101 -mp1 /mnt/Pve/NAS/opt/dockerstuff/dockerapp2,mp=/opt/dockerstuff/dockerapp2
    

    Either will get you going


  • This line right here shares it with the LXC, I’ll break it down for you:

    pct set 100 -mp0 /mnt/pve/NAS/media,mp=/media

    pct is the proxmox container command, youre telling it to set the mount point (mp0, mp1, mp2, etc). That point on the host is /mnt/pve/yourmountname. In the container is on the right, mp=/your/path/. So inside the container if you did an ls command in the directory /your/path/, it would list the files in /mnt/pve/yourmountname.

    The yourmountname part is the name of the storage you added. You can go to the shell at the host level in the GUI, and go to /mnt/pve/ then enter ls and you will see the name of your mount.

    So much like I was mentioning with the GPU, what youre doing here is sharing resources with the container, rather than needing to mount the share again in your container. Which you could do, but I wouldn’t recommend.

    Any other questions I’ll be happy to help as best as I can.

    Edit: forgot to mention, if you go to the container and go to the resources part, you’ll see “Mount Point 0” and the mount point you made listed there.


  • How should Jellyfin be set up, lxc or vm

    Either way. I prefer lxc, personally, but to each their own. lxc I think is drastically easier, in part because you don’t need to pass through the whole GPU…

    Is there a way to enable iGPU to pass to an lxc or VM without editing a .conf in nano?

    You don’t need to pass the igpu, you just need to give the LXC access to render and video groups, but yes, editing the conf is easiest. I originally wrote out a bunch here, then remembered there is a great video.

    https://www.youtube.com/watch?v=0ZDr5h52OOE

    My Synology NAS is mounted to the host, but making mount points to the lxc doesn’t actually connect data

    Do they show up as resources? I add my mount points at the CLI personally, this is the best way imo:

    pct set 100 -mp0 /mnt/pve/NAS/media,mp=/media

    This is done from the host, not inside the LXC.

    Does your host see the mounted NAS? After you added the mount point, did you fully stop the container and start it up again?

    Edit: You can just install curl/wget/etc BTW, its just Debian in there.

    apt install curl

    Edit 2: I must have glossed over the mount part.

    Dont add your network storage manually, do it through proxmox as storage, by going to Datacenter > Storage > Add, and enter the details there. This will make things a lot easier.