Jump to content

Emby on Docker - Unable to Find Files


dagogue671

Recommended Posts

dagogue671

Has anyone been able to get a working Emby Server on Docker? I'm actually at a lost of what to do now. So I have this Ubuntu Desktop Tower that I'm using like a server and I'm able to install docker and get Emby up and everything, but for some reason it won't pick up any files that I put in my mounted shared folder. I think it's a permission issue, but I'm not sure how to go about it. Does anyone have a guide on how to setup Emby for Docker?

 

image.png.91132f80e578b6bb1f11e06b9cb99d64.png  image.png.de35b2e1fc7120bcddce3bf4b0a37eb5.png

embyserver.txt

Link to comment
Share on other sites

Can you post your docker compose. Which Emby Docker are you using, Emby's or Linuxserver.io

What volumes did you pass through with what permissions.

docker run -d \
  --name=emby \
  --net=my-net \
  --ip=172.20.0.16 \
  -e PUID=0 \
  -e PGID=0 \
  -e TZ=Europe/London \
  -p 8096:8096 \
  -p 8920:8920 \
  -v emby_data:/config \
  -v /Mount:/Media \
  --device /dev/dri:/dev/dri \
  --restart unless-stopped \
  ghcr.io/linuxserver/emby:version-4.6.4.0

My setup as Above

  • Name - obvious and is what Swag Proxy will pass upstream ssl
  • Net - All my dockers are on a custom network
  • IP - Static assigned IP
  • PUID /PGID - Set as root which is sometimes not advised but handy for testing (normally set for non root user which is 1000)
  • TZ - Timezone
  • Ports - Leave open for testing but if behind proxy these get removed
  • emby_data - This is a persisted volume mount for EMBY config files
  • /Mount: - The Server root folder containing all media
  • /Media - The location the above Mount  appears inside Emby and the path for the library

May be worth reading up on info of parameters here:

Emby Docker Variables

 

Looking at your screenshots cpl of questions

Your server Mount appears to be /mnt/MediaServer1/Shared how is this mapped in your config file.

Also that folder is owned by root but its parent folder appears to be owned by user dagogue.

What PUID and PGID are you using. i presume it's not root and you are using say for example 1000 or similar. If so try docker with root permissions, if that works then yes you may need to adjust the owner of the folders.

 

Edited by CassTG
Link to comment
Share on other sites

GogueHomeUser

Thanks for the response. This is my compose file which I modeled after Emby's Docker, which is what I pulled. One thing that I haven't tried was setting the UID/GID to root. I didn't know that 0 was for root. That actually might work. Emby works when I install it on the host machine though, but I want to try to do like a lightweight hyper-v with Docker for my Homebrew. One thing that I wasn't able to figure out as well in this compose is the network_mode. If I leave it in the compose file, it will drop my ports. Not sure why that is.

version: "2.3"
services:
  emby:
    image: emby/embyserver
    container_name: embyserver
    # network_mode: host
    environment:
      - UID=1001 # The UID to run emby as (default: 2)
      - GID=1001 # The GID to run emby as (default 2)
      - GIDLIST=44,109 # A comma-separated list of additional GIDs to run emby as (default: 2)
    volumes:
      - /home/emby/config:/config # Configuration directory
      - /home/emby/media/shared:/mnt/MediaServer1/Shared/Movies # Media directory
    ports:
      - 8096:8096 # HTTP port
      - 8920:8920 # HTTPS port
    devices:
      - /dev/dri:/dev/dri # VAAPI/NVDEC/NVENC render nodes
    restart: unless-stopped
Link to comment
Share on other sites

GogueHomeUser

Thanks for the response. This is my compose file which I modeled after Emby's Docker, which is what I pulled. One thing that I haven't tried was setting the UID/GID to root. I didn't know that 0 was for root. That actually might work. Emby works when I install it on the host machine though, but I want to try to do like a lightweight hyper-v with Docker for my Homebrew. One thing that I wasn't able to figure out as well in this compose is the network_mode. If I leave it in the compose file, it will drop my ports. Not sure why that is.

version: "2.3"
services:
  emby:
    image: emby/embyserver
    container_name: embyserver
    # network_mode: host
    environment:
      - UID=1001 # The UID to run emby as (default: 2)
      - GID=1001 # The GID to run emby as (default 2)
      - GIDLIST=44,109 # A comma-separated list of additional GIDs to run emby as (default: 2)
    volumes:
      - /home/emby/config:/config # Configuration directory
      - /home/emby/media/shared:/mnt/MediaServer1/Shared/Movies # Media directory
    ports:
      - 8096:8096 # HTTP port
      - 8920:8920 # HTTPS port
    devices:
      - /dev/dri:/dev/dri # VAAPI/NVDEC/NVENC render nodes
    restart: unless-stopped

 

 

Oh just fyi, this is dagogue671.

Link to comment
Share on other sites

Hi

 

So if you used the default ID's in Emby's example that would be 1001, does this exist on your host server.

to find out what ID's are in use

id USERNAME

so ID root would give you 0 and 0. Most likely if user dagogue671 was first user created after root it would be 1000 and 1000.

You can check all user ID's quickly by typing

cat /etc/passwd

So you definitely need to check that

NETWORK

If you are using docker dont use HOST mode as thats binding it directly to the main IP, if you start using other dockerslike proxy you will end up having to make a lot of tweaks

If you follow my guide i linked it explains the best way to setup a new network in docker for ease of use

  • Host is best kept for dockers that need host level access something like Librespeed for example
  • Bridge is best if you dont want to setup a seperate network
  • However a custom network based on bridge is the easiest when it comes to proxying etc

It's easiest enough to create the network, you can do this in terminal but to be honest i would install portainer as managing dockers becomes an easy task, and you can create the network there

SO lets say you want to assign a docker to a specific network and give it a static IP you would add these flags (not compose)

 

  --net=my-net \
  --ip=172.20.0.2 \

where my-net is the network you created and IP is the static IP you want assigned to it. (obviously if you create a network adjust the ip to match the subnet you created.

Obviously adjust the flags for docker compose as i don't create containers that way so check here Docker Networking

 

 

Link to comment
Share on other sites

And i know everyone uses compose but man i find good old fashioned docker creation  much faster and easier to understand lol.

I have several docker servers running and i believe in keeping it simple, so as i always say my way may not be the best technical way to do it, but i tell ya what i can fire server after server up and very rarely face any issues so it works for me.

Link to comment
Share on other sites

dagogue671

Yeah so the 1001 was the login that I was using at the time. I've also tried setting the UID/GUID to 0 and it still was not working. I might end up redoing the installation to see if it can yield a different result. I've installed Emby on the host machine and it work fine, but for some reason the Container is not getting full access.

 

Link to comment
Share on other sites

If you take a look at my guide, it works flawlessly i can rebuild a docker setup including all containers in literally 15 minutes.

I would also take a look at using LinuxServer.io containers, nothing against Embys own container but Linux.io containers have always been solid and updated and they have all the main containers you can think of.

 

Link to comment
Share on other sites

  • 2 weeks later...
dagogue671

So, I figured out the Volume structure for docker. It was really confusing because I'm an idiot that mounts volumes using /mnt, so ultimately I got lost my self.

image.png.dbdc5a3f9dd228964f5ba09cb08899c0.png

Just in case anyone is stuck like me where you can't figure out why emby/docker is not seeing any of your files, the volume structure for docker is /path/to/movies:/mnt/share. What happens is that because it's a container, docker will create it's own volume within the container itself. So if you have a mounted volume, what you want to use is

/path/to/your/mount:/MountFolderName

For me, I have a mounted volume called /mnt/MediaServer1/Shared which is on my host machine that houses docker. Therefore, I would need to use

/mnt/MediaServer1/Shared:/MovieFolder

Docker will create a /MovieFolder directory inside the container, that is virtually mapped to my shared folder /mnt/MediaServer1/Shared

Thanks @CassTG for the info though using the command line, but I was able to get my Emby Server on Docker up using docker-compose using the EmbyServer docker container. I was hell bent and determined to figure out how to use docker like a pro.

Et hoc transibit. Finally, my frustration is over.

image.png

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...