Docker on OMV running on Proxmox

  • Hi everyone! i wanted to ask more experienced people regarding my issue. I cannot seem to find the proper search string for google, so i wanted to ask. as the title says, i have OMV running on a proxmox server and installed docker on omv as well. Problem is i cannot seem to access jellyfin after installing. As i am not very experienced yet, i do not know where to start troubleshooting. If someone could give me insight as to where or how i could do it. i would be very much thankful. BTW, i have internet access inside the VM, and my router sees the OMV on the DHCP leases.

  • You could start by posting the docker run, docker create, or docker compose file you used to create the container and the ownership and permissions of all host path volume or bind mounts used.

    --
    Google is your friend and Bob's your uncle!


    OMV AMD64 7.x on headless Chenbro NR12000 1U 1x 8m Quad Core E3-1220 3.1GHz 32GB ECC RAM.

  • Hi! thanks for the Reply! I just used the gui on portainer to create the container. im just going to copy paste the inspect section.


    {

    "AppArmorProfile": "docker-default",

    "Args": [],

    "Config": {

    "AttachStderr": false,

    "AttachStdin": false,

    "AttachStdout": false,

    "Cmd": [],

    "Domainname": "",

    "Entrypoint": [

    "/init"

    ],

    "Env": [

    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",

    "HOME=/root",

    "LANGUAGE=en_US.UTF-8",

    "LANG=en_US.UTF-8",

    "TERM=xterm",

    "NVIDIA_DRIVER_CAPABILITIES=compute,video,utility",

    "PUID=998",

    "GUID=100"

    ],

    "ExposedPorts": {

    "8096/tcp": {},

    "8920/tcp": {}

    },

    "Hostname": "Alexandria.local",

    "Image": "linuxserver/jellyfin:latest",

    "Labels": {

    "build_version": "Linuxserver.io version:- 10.6.3-1-ls69 Build-date:- 2020-08-16T21:07:18-04:00",

    "maintainer": "thelamer"

    },

    "OnBuild": null,

    "OpenStdin": false,

    "StdinOnce": false,

    "Tty": false,

    "User": "",

    "Volumes": {

    "/config": {},

    "/data/Movies": {},

    "/data/tvshows": {}

    },

    "WorkingDir": ""

    },

    "Created": "2020-08-22T09:34:06.870657277Z",

    "Driver": "overlay2",

    "ExecIDs": null,

    "GraphDriver": {

    "Data": {

    "LowerDir": "/var/lib/docker/overlay2/1879b537205b63fcc2bb85d7a71f64256cf2f767750f7caf18fb775d0b5acd81-init/diff:/var/lib/docker/overlay2/1780c2b0f1fa1061d452c9ae6bce54275b7d30f412957532f1bf47066111ff78/diff:/var/lib/docker/overlay2/7b0dc2476b99e6f595bccccb9204b4a81213000745259406a386e99c9d79f6af/diff:/var/lib/docker/overlay2/8809cc064a1d475261decc4e8d08a3edf8f365819b4dd641e80208c8b8b3ae10/diff:/var/lib/docker/overlay2/fc47295845b1cbcc1953f56cfacf485f0368999560c241769693e17ff7a28f9b/diff:/var/lib/docker/overlay2/aabde384275632813b8d05723a8a62958d2c771155a2ec5b3bba12e7ae122b7c/diff:/var/lib/docker/overlay2/4ab875573cc0a27ca6be68048ffb616778483dde5d21772e138b51cd3431d80d/diff",

    "MergedDir": "/var/lib/docker/overlay2/1879b537205b63fcc2bb85d7a71f64256cf2f767750f7caf18fb775d0b5acd81/merged",

    "UpperDir": "/var/lib/docker/overlay2/1879b537205b63fcc2bb85d7a71f64256cf2f767750f7caf18fb775d0b5acd81/diff",

    "WorkDir": "/var/lib/docker/overlay2/1879b537205b63fcc2bb85d7a71f64256cf2f767750f7caf18fb775d0b5acd81/work"

    },

    "Name": "overlay2"

    },

    "HostConfig": {

    "AutoRemove": false,

    "Binds": [

    "/srv/3ffaed1f-528f-43ef-abdc-153335fdc85f/Jellyfin:/config",

    "/srv/3ffaed1f-528f-43ef-abdc-153335fdc85f/Media:/data/Movies",

    "/srv/3ffaed1f-528f-43ef-abdc-153335fdc85f/Media:/data/tvshows"

    ],

    "BlkioDeviceReadBps": null,

    "BlkioDeviceReadIOps": null,

    "BlkioDeviceWriteBps": null,

    "BlkioDeviceWriteIOps": null,

    "BlkioWeight": 0,

    "BlkioWeightDevice": null,

    "CapAdd": [

    "AUDIT_WRITE",

    "CHOWN",

    "DAC_OVERRIDE",

    "FOWNER",

    "FSETID",

    "KILL",

    "MKNOD",

    "NET_BIND_SERVICE",

    "NET_RAW",

    "SETFCAP",

    "SETGID",

    "SETPCAP",

    "SETUID",

    "SYS_CHROOT"

    ],

    "CapDrop": [

    "AUDIT_CONTROL",

    "BLOCK_SUSPEND",

    "DAC_READ_SEARCH",

    "IPC_LOCK",

    "IPC_OWNER",

    "LEASE",

    "LINUX_IMMUTABLE",

    "MAC_ADMIN",

    "MAC_OVERRIDE",

    "NET_ADMIN",

    "NET_BROADCAST",

    "SYSLOG",

    "SYS_ADMIN",

    "SYS_BOOT",

    "SYS_MODULE",

    "SYS_NICE",

    "SYS_PACCT",

    "SYS_PTRACE",

    "SYS_RAWIO",

    "SYS_RESOURCE",

    "SYS_TIME",

    "SYS_TTY_CONFIG",

    "WAKE_ALARM"

    ],

    "Capabilities": null,

    "Cgroup": "",

    "CgroupParent": "",

    "ConsoleSize": [

    0,

    0

    ],

    "ContainerIDFile": "",

    "CpuCount": 0,

    "CpuPercent": 0,

    "CpuPeriod": 0,

    "CpuQuota": 0,

    "CpuRealtimePeriod": 0,

    "CpuRealtimeRuntime": 0,

    "CpuShares": 0,

    "CpusetCpus": "",

    "CpusetMems": "",

    "DeviceCgroupRules": null,

    "DeviceRequests": null,

    "Devices": [],

    "Dns": [],

    "DnsOptions": [],

    "DnsSearch": [],

    "ExtraHosts": [],

    "GroupAdd": null,

    "IOMaximumBandwidth": 0,

    "IOMaximumIOps": 0,

    "Init": false,

    "IpcMode": "private",

    "Isolation": "",

    "KernelMemory": 0,

    "KernelMemoryTCP": 0,

    "Links": null,

    "LogConfig": {

    "Config": {},

    "Type": "json-file"

    },

    "MaskedPaths": [

    "/proc/asound",

    "/proc/acpi",

    "/proc/kcore",

    "/proc/keys",

    "/proc/latency_stats",

    "/proc/timer_list",

    "/proc/timer_stats",

    "/proc/sched_debug",

    "/proc/scsi",

    "/sys/firmware"

    ],

    "Memory": 0,

    "MemoryReservation": 0,

    "MemorySwap": 0,

    "MemorySwappiness": null,

    "NanoCpus": 0,

    "NetworkMode": "host",

    "OomKillDisable": false,

    "OomScoreAdj": 0,

    "PidMode": "",

    "PidsLimit": null,

    "PortBindings": {},

    "Privileged": false,

    "PublishAllPorts": false,

    "ReadonlyPaths": [

    "/proc/bus",

    "/proc/fs",

    "/proc/irq",

    "/proc/sys",

    "/proc/sysrq-trigger"

    ],

    "ReadonlyRootfs": false,

    "RestartPolicy": {

    "MaximumRetryCount": 0,

    "Name": "unless-stopped"

    },

    "Runtime": "runc",

    "SecurityOpt": null,

    "ShmSize": 67108864,

    "UTSMode": "",

    "Ulimits": null,

    "UsernsMode": "",

    "VolumeDriver": "",

    "VolumesFrom": null

    },

    "HostnamePath": "/var/lib/docker/containers/5745165317e55323d5b96475edf5e67107702a50b635b72b175445da8ba50b9e/hostname",

    "HostsPath": "/var/lib/docker/containers/5745165317e55323d5b96475edf5e67107702a50b635b72b175445da8ba50b9e/hosts",

    "Id": "5745165317e55323d5b96475edf5e67107702a50b635b72b175445da8ba50b9e",

    "Image": "sha256:1fb8ac9d82a7c46d78db3ec70c0118646c5933a386c3533b0656fceb90bb6d0c",

    "LogPath": "/var/lib/docker/containers/5745165317e55323d5b96475edf5e67107702a50b635b72b175445da8ba50b9e/5745165317e55323d5b96475edf5e67107702a50b635b72b175445da8ba50b9e-json.log",

    "MountLabel": "",

    "Mounts": [

    {

    "Destination": "/config",

    "Mode": "",

    "Propagation": "rprivate",

    "RW": true,

    "Source": "/srv/3ffaed1f-528f-43ef-abdc-153335fdc85f/Jellyfin",

    "Type": "bind"

    },

    {

    "Destination": "/data/Movies",

    "Mode": "",

    "Propagation": "rprivate",

    "RW": true,

    "Source": "/srv/3ffaed1f-528f-43ef-abdc-153335fdc85f/Media",

    "Type": "bind"

    },

    {

    "Destination": "/data/tvshows",

    "Mode": "",

    "Propagation": "rprivate",

    "RW": true,

    "Source": "/srv/3ffaed1f-528f-43ef-abdc-153335fdc85f/Media",

    "Type": "bind"

    }

    ],

    "Name": "/Jellyfin",

    "NetworkSettings": {

    "Bridge": "",

    "EndpointID": "",

    "Gateway": "",

    "GlobalIPv6Address": "",

    "GlobalIPv6PrefixLen": 0,

    "HairpinMode": false,

    "IPAddress": "",

    "IPPrefixLen": 0,

    "IPv6Gateway": "",

    "LinkLocalIPv6Address": "",

    "LinkLocalIPv6PrefixLen": 0,

    "MacAddress": "",

    "Networks": {

    "host": {

    "Aliases": null,

    "DriverOpts": null,

    "EndpointID": "b96bc4744f7410e1ea38ec475c61f85adfc0ffdbbe254deaef05f4b3ba6ddf3d",

    "Gateway": "",

    "GlobalIPv6Address": "",

    "GlobalIPv6PrefixLen": 0,

    "IPAMConfig": {},

    "IPAddress": "",

    "IPPrefixLen": 0,

    "IPv6Gateway": "",

    "Links": null,

    "MacAddress": "",

    "NetworkID": "e00105746daf660d45cc2170b3d43a8f9c4750d1e4873580a38d875753990caa"

    }

    },

    "Ports": {},

    "SandboxID": "bd66cf0b518a8652e88d97a7bc55c693db8b085511777b3498ffdfd7bc7c7d9e",

    "SandboxKey": "/var/run/docker/netns/default",

    "SecondaryIPAddresses": null,

    "SecondaryIPv6Addresses": null

    },

    "Path": "/init",

    "Platform": "linux",

    "Portainer": {

    "ResourceControl": {

    "Id": 8,

    "ResourceId": "5745165317e55323d5b96475edf5e67107702a50b635b72b175445da8ba50b9e",

    "SubResourceIds": [],

    "Type": 1,

    "UserAccesses": [],

    "TeamAccesses": [],

    "Public": false,

    "AdministratorsOnly": true,

    "System": false

    }

    },

    "ProcessLabel": "",

    "ResolvConfPath": "/var/lib/docker/containers/5745165317e55323d5b96475edf5e67107702a50b635b72b175445da8ba50b9e/resolv.conf",

    "RestartCount": 0,

    "State": {

    "Dead": false,

    "Error": "",

    "ExitCode": 0,

    "FinishedAt": "0001-01-01T00:00:00Z",

    "OOMKilled": false,

    "Paused": false,

    "Pid": 7467,

    "Restarting": false,

    "Running": true,

    "StartedAt": "2020-08-22T09:34:07.049175394Z",

    "Status": "running"

    }

    }

  • Here are the logs. they just repeat afterwards the same

  • Hey man! managed to irk it out! Turns out i need a persistent volume to place the cache and config files. one thing that standed out was the disk i/o error and sqlite database errors. Question tho. I had originally binded the volumes to my unionfs mount point. Assuming this, it is not possible to actually bind the cache and config to union/mergerfs then? Would it serve me better to have a extra HDD as a mountpoint only for the config and cache as persistent volume? Thanks!

  • Xenophilus

    Hat das Label gelöst hinzugefügt.
  • You **can** put the config and cache in a mergerfs pool but as the docs mention you have to have page caching enabled because Jellyfin likely doesn't fallback to regular file IO when mmap fails with SQLite3. Plex is the same way. IMO it's a bug on their end but there isn't much I can do about it without some really ugly hacks.

  • Thanks for the info. Imo i stuck to just having a dedicated drive for it. I put it in my old 10k drive to have it accesible faster. I run everything on a 120gb ssd, so space is a premium atm.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!