Jellyfin Forum
SOLVED: Local Connection Issue - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: SOLVED: Local Connection Issue (/t-solved-local-connection-issue)

Pages: 1 2 3


Local Connection Issue - sammyg2005 - 2024-07-23

I have read numerous forums and articles trying to get this to work and have not suceeded. Like many, I can connect to the WebUI on the host machine with localhost and the IP 192.168.31.xxx. Any assistance is appreciated.

Docker compose YAML
Code:
networks:
  mediastack:
    name: mediastack
    driver: bridge
    ipam:
      driver: default
      config:
      - subnet: ${DOCKER_SUBNET:?err}
        gateway: ${DOCKER_GATEWAY:?err}
#  jellyfin:
#    external: true
#    driver: bridge
#    ipam:
#      driver: default
services:
  gluetun:
    image: qmcgaw/gluetun
    container_name: gluetun
    restart: always
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    ports:
      - 8888:8888/tcp # HTTP proxy
      - 8388:8388/tcp # Shadowsocks
      - 8388:8388/udp # Shadowsocks
      - 8080:8080/tcp # gluetun
      - "${WEBUI_PORT_QBITTORRENT:?err}:${WEBUI_PORT_QBITTORRENT:?err}"  # WebUI Portal: qBittorrent
    volumes:
      - ${APPDATA:?err}/gluetun:/config
    environment:
      - PUID=${PUID:?err}
      - PGID=${PGID:?err}
      - TZ=${TIMEZONE:?err}
      - VPN_TYPE=${VPN_TYPE:?err}
      - VPN_SERVICE_PROVIDER=${VPN_SERVICE_PROVIDER:?err}
      - OPENVPN_USER=${VPN_USERNAME:?err}
      - OPENVPN_PASSWORD=${VPN_PASSWORD:?err}
      - VPN_PORT_FORWARDING_USERNAME=${VPN_USERNAME:?err}
      - VPN_PORT_FORWARDING_PASSWORD=${VPN_PASSWORD:?err}
      - VPN_PORT_FORWARDING=on
      - SERVER_COUNTRIES=${SERVER_COUNTRIES}
      #- SERVER_REGIONS=$(SERVER_REGIONS)
      #- SERVER_CITIES=$(SERVER_CITIES)
      #- SERVER_HOSTNAMES=$(SERVER_HOSTNAMES)
      - OPENVPN_CIPHERS=AES-256-GCM
    networks:
      - mediastack
 jellyfin:
    image: lscr.io/linuxserver/jellyfin:latest
    container_name: jellyfin
    network_mode: "host"
    restart: unless-stopped
# Add Configurations for GPU Hardware Rendering Here:
    devices:
      - /dev/dri/renderD128:/dev/dri/renderD128
      - /dev/dri/card1:/dev/dri/card1
    volumes:
      - ${APPDATA:?err}/jellyfin:/config
      - ${MEDIADATA:?err}/:/data/media/
    ports:
      - 8096:8096
      - 7359:7359/udp      # Enable for DLNA - Only works on HOST Network Mode
      - 1900:1900/udp      # Enable for DLNA - Only works on HOST Network Mode
    environment:
      - PUID=${PUID:?err}
      - PGID=${PGID:?err}
      - UMASK=${UMASK:?err}
      - TZ=${TIMEZONE:?err}
      - JELLYFIN_PublishedServerUrl=${LOCAL_DOCKER_IP:?err}  # Enable for DLNA - Only works on HOST Network Mode
#    networks:
#      - jellyfin

Host OS: Arch
Subnet: 192.168.30.0/23
Server IP: 192.168.31.xxx
Jellyfin install method: Docker with compose stack
Devices tried to connect to server: Firestick, Laptop running Mint, and iOS device with latest version
App used: Official Jellyfin Mobile, AndroidTV Jellyfin app
Things tried: 
- host and bridge mode in docker compose
- numerous restarts
- open ports in host firewall
- multiple network settings in Jellyfin


RE: Local Connection Issue - TheDreadPirate - 2024-07-23

Comment out this block.

Code:
ports:
      - 8096:8096
      - 7359:7359/udp      # Enable for DLNA - Only works on HOST Network Mode
      - 1900:1900/udp      # Enable for DLNA - Only works on HOST Network Mode

Since you are using host networking for the jellyfin container, they are not needed.

Can you share the output of "sudo docker inspect jellyfin" and "sudo ufw status verbose"? I want to confirm the output of the command line UFW with what whatever UI you are looking at. What UI is that anyway? Docker Desktop or something?

Unrelated to the root problem, your firewall rule for SSDP on port 1900 should be UDP.


RE: Local Connection Issue - sammyg2005 - 2024-07-24

(2024-07-23, 08:35 PM)TheDreadPirate Wrote: Comment out this block.

Code:
    ports:
      - 8096:8096
      - 7359:7359/udp      # Enable for DLNA - Only works on HOST Network Mode
      - 1900:1900/udp      # Enable for DLNA - Only works on HOST Network Mode

Since you are using host networking for the jellyfin container, they are not needed.

Can you share the output of "sudo docker inspect jellyfin" and "sudo ufw status verbose"?  I want to confirm the output of the command line UFW with what whatever UI you are looking at.  What UI is that anyway?  Docker Desktop or something?

Unrelated to the root problem, your firewall rule for SSDP on port 1900 should be UDP.

First, I want to say thank you for your time and help. The UI is just Portainer.

I commented out the block and same issue. Tried from the laptop using the Jellyfin app and from the browser. I also tried on the iOS device. I used http://192.168.31.100:8096 to connect to the server.  I checked the logs on the laptop for the app and this is what I got:

Code:
2024-07-23 20:46:55.809 [info] unknown @ 0 - JS: TypeError: Failed to fetch

Here is the output from the commands you asked about
UFW
Code:
$ sudo ufw status verbose
[Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To                        Action      From
--                        ------      ----
8096/tcp                  ALLOW IN    Anywhere                 
7359/udp                  ALLOW IN    Anywhere                 
Anywhere                  ALLOW IN    192.168.30.0/23         
1900/udp                  ALLOW IN    Anywhere

Docker
Code:
$ sudo docker inspect jellyfin
[
    {
        "Id": ,
        "Created": "2024-07-23T20:32:16.019842855Z",
        "Path": "/init",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 246509,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2024-07-23T20:32:22.994518204Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": ,
        "ResolvConfPath": f",
        "HostnamePath": ,
        "HostsPath": ,
        "LogPath": json.log,
        "Name": "/jellyfin",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/mnt/appdata/jellyfin:/config:rw",
                "/mnt/data/media/:/data/media:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "host",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [
                {
                    "PathOnHost": "/dev/dri/renderD128",
                    "PathInContainer": "/dev/dri/renderD128",
                    "CgroupPermissions": "rwm"
                },
                {
                    "PathOnHost": "/dev/dri/card1",
                    "PathInContainer": "/dev/dri/card1",
                    "CgroupPermissions": "rwm"
                }
            ],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "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",
                "/sys/devices/virtual/powercap"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/mnt/data/media",
                "Destination": "/data/media",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/mnt/appdata/jellyfin",
                "Destination": "/config",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "arch-server",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "8096/tcp": {},
                "8920/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PUID=1000",
                "PGID=1000",
                "UMASK=0002",
                "TZ=America/New_York",
                "JELLYFIN_PublishedServerUrl=192.168.31.xxx",
                "PATH=/lsiopy/bin:/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",
                "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0",
                "S6_VERBOSITY=1",
                "S6_STAGE2_HOOK=/docker-mods",
                "VIRTUAL_ENV=/lsiopy",
                "LSIO_FIRST_PARTY=true",
                "NVIDIA_DRIVER_CAPABILITIES=compute,video,utility"
            ],
            "Cmd": null,
            "Image": "lscr.io/linuxserver/jellyfin:latest",
            "Volumes": {
                "/config": {}
            },
            "WorkingDir": "/",
            "Entrypoint": [
                "/init"
            ],
            "OnBuild": null,
            "Labels": {
                "build_version": "Linuxserver.io version:- 10.9.8ubu2204-ls23 Build-date:- 2024-07-21T06:16:07+00:00",
                "com.docker.compose.config-hash": 
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": 
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "mediastack",
                "com.docker.compose.project.config_files": "/data/compose/25/docker-compose.yml",
                "com.docker.compose.project.environment_file": "/data/compose/25/stack.env",
                "com.docker.compose.project.working_dir": "/data/compose/25",
                "com.docker.compose.replace": ,
                "com.docker.compose.service": "jellyfin",
                "com.docker.compose.version": "2.26.1",
                "maintainer": "thelamer",
                "org.opencontainers.image.authors": "linuxserver.io",
                "org.opencontainers.image.created": "2024-07-21T06:16:07+00:00",
                "org.opencontainers.image.description": "[Jellyfin](https://github.com/jellyfin/jellyfin) is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it.",
                "org.opencontainers.image.documentation": "https://docs.linuxserver.io/images/docker-jellyfin",
                "org.opencontainers.image.licenses": "GPL-3.0-only",
                "org.opencontainers.image.ref.name": "4da6ce3a47411ec49af1903327f22c7cda1d5b72",
                "org.opencontainers.image.revision": "4da6ce3a47411ec49af1903327f22c7cda1d5b72",
                "org.opencontainers.image.source": "https://github.com/linuxserver/docker-jellyfin",
                "org.opencontainers.image.title": "Jellyfin",
                "org.opencontainers.image.url": "https://github.com/linuxserver/docker-jellyfin/packages",
                "org.opencontainers.image.vendor": "linuxserver.io",
                "org.opencontainers.image.version": "10.9.8ubu2204-ls23"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": ,
            "SandboxKey": "/var/run/docker/netns/default",
            "Ports": {},
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "host": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "MacAddress": "",
                    "DriverOpts": null,
                    "NetworkID": ,
                    "EndpointID": ,
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": null
                }
            }
        }
    }
]



RE: Local Connection Issue - TheDreadPirate - 2024-07-24

Are the other client devices on the same subnet?

192.168.30.0/23

Since you have a firewall rule that only allows connections from addresses in that subnet.


RE: Local Connection Issue - sammyg2005 - 2024-07-24

(2024-07-24, 02:30 AM)TheDreadPirate Wrote: Are the other client devices on the same subnet?

192.168.30.0/23

Since you have a firewall rule that only allows connections from addresses in that subnet.

Yes. All of my DCHP devices (mostly mobile devices) are on the 192.168.30.xxx pipe and 192.168.31.xxx are my static devices. I have a home assistant server that I log into daily from my phone or iPad and they are all local. Do you think that rule may be a problem? I wouldn’t think I need any samba or ssh setup to get into the Jellyfin server or am I wrong? I’m new to docker so I’m not sure if I’m crossing over from my home network into the container correctly. All of the apps work as they should on the host. I haven’t tried logging into those from other clients yet. I’m just starting with Jellyfin.


RE: Local Connection Issue - TheDreadPirate - 2024-07-24

No. It shouldn't be a problem. I was just making sure the client IPs weren't overlooked.

Having said that. For testing purposes, what happens when you disable it? Jellyfin is one of two containers not using bridge networking.


RE: Local Connection Issue - sammyg2005 - 2024-07-24

(2024-07-24, 02:19 PM)TheDreadPirate Wrote: No.  It shouldn't be a problem.  I was just making sure the client IPs weren't overlooked.

Having said that.  For testing purposes, what happens when you disable it?  Jellyfin is one of two containers not using bridge networking.

I removed the rule and same issue. I updated the container and tried again, no dice with any device. The other one not connected to the bridge is qbt, but that is being tunneled through gluetun, so that makes sense. When I look at 'docker inspect jellyfin' should it show an IP address or because it is 'host' it stays blank? I haven't touched anything in the router, which i would not have expected to do that, but is there something I need to do in the router?

Code:
"NetworkSettings": {
            "Bridge": "",
            "SandboxID": "removed",
            "SandboxKey": "/var/run/docker/netns/default",
            "Ports": {},
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "host": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "MacAddress": "",
                    "DriverOpts": null,
                    "NetworkID": "removed",
                    "EndpointID": "removed",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": null
                }



RE: Local Connection Issue - TheDreadPirate - 2024-07-24

When using host networking it shouldn't show any IP address.

Is your router on the same subnet as all your clients/server? What happens if you setup port forwarding on your router for port 8096 on the host's IP address?


RE: Local Connection Issue - sammyg2005 - 2024-07-24

(2024-07-24, 04:11 PM)TheDreadPirate Wrote: When using host networking it shouldn't show any IP address.

Is your router on the same subnet as all your clients/server?  What happens if you setup port forwarding on your router for port 8096 on the host's IP address?

Unfortunately the same outcome. And the router is on the same subnet 192.168.31.xxx

I am not sure if I need to do the nuclear option and start a clean build.


RE: Local Connection Issue - TheDreadPirate - 2024-07-24

What are the names of the host NICs on your system?