More > JRiver Media Center 27 for Linux
Docker Image for MC27
max096:
--- Quote from: NH on April 04, 2021, 09:49:38 pm ---Thanks Max. Removed the formatting errors. Also located the folder. It was in share/CACHEDEV1_DATA.
But looks like the port 1900 is already in use.
--- Code: ---docker: Error response from daemon: driver failed programming external connectivity on endpoint jrivermc27 (a3871effc096263f0496580ae2ffb03cb5af658482320d261dd5f952eb0ff902): listen udp4 0.0.0.0:1900: bind: address already in use.
--- End code ---
I changed my Xbox which must have been using it to a static IP. But its still not working. I have quite a few devices which use UPNP so could be any of them.
Alternatively, what would the code be for using a static IP in bridge networking? Because this issue doesnt arise when I use static IP. I couldnt find it in the repository. Also host networking doesnt work at all. I have tried multiple times.
Many thanks for your continued support. Having come this far, I dont want to acknowledge defeat!
Best
NH
--- End quote ---
When you have a device with an ip only one program can listen to a specific port. Itīs certainly not your xbox...
Iīd say just remove port 1900, or change it to 1901. Itīs not really strictly required either. I also dont think upnp will even work in bridge networking. At least I never had it work.
Itīs certainly possible to create multiple IPs on a single nic (has nothing to do with docker though). I would not recommend you doing that if itīs not supported by qnap.
The Static IP option for a container (that docker provides) wonīt really do what you might think it should. Its an IP that gets assigned to the container within the vnet that bridge networking creates. You canīt actually use that IP for anything unless you are inside that network yourself. Which you are not unless you are another docker container in the same vnet.
NH:
--- Quote ---Iīd say just remove port 1900, or change it to 1901. Itīs not really strictly required either. I also dont think upnp will even work in bridge networking. At least I never had it work.
--- End quote ---
Dear Max, I have tried that. Getting two different types of error messages when I try port 1901 vs when I remove it.
--- Code: ---docker pull shiomax/jrivermc27
Using default tag: latest
latest: Pulling from shiomax/jrivermc27
Digest: sha256:47a4bcbaccb1af63db5d938094a40ee54301417814e9ba63f180cfa9337a89f4
Status: Downloaded newer image for shiomax/jrivermc27:latest
docker.io/shiomax/jrivermc27:latest
[/] # docker run -d \
> --name=jrivermc27 \
> --net=bridge \
> --restart=always \
> --mac-address=ed:e8:60:2d:65:c1 \
> -p 5800:5800 \
> -p 5900:5900 \
> -p 52199:52199 \
> -p 1901:1901/udp \
> -v config:/config:rw \
> -v /share/CACHEDEV1_DATA/Media/Music:/data/music:rw \
> -v /share/external/DEV3601_2:/data/musichdd:rw \
> shiomax/jrivermc27
60b1bc88b3c66e9fa4945b1da048192d9487f2f34c5546baf8a37a37b15a0784
docker: Error response from daemon: driver failed programming external connectivity on endpoint jrivermc27 (d7e94bb31e1d38b74f6f51f60136074642ced702462af34e3ce5fcf0c576ad5d): listen udp4 0.0.0.0:1901: bind: address already in use.
[/] # docker run -d \
--net=bridge \
> --name=jrivermc27 \
> --net=bridge \
> --restart=always \
> --mac-address=ed:e8:60:2d:65:c1 \
> -p 5800:5800 \
> -p 5900:5900 \
> -p 52199:52199 \
> -v config:/config:rw \
> -v /share/CACHEDEV1_DATA/Media/Music:/data/music:rw \
> -v /share/external/DEV3601_2:/data/musichdd:rw \
> shiomax/jrivermc27
b414e2bafedd7cdeeadfa0873795007ce9697cfe78acc119c26355ae78b07523
docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:495: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: time="2021-04-06T00:10:40+05:30" level=fatal msg="failed to add interface veth5a69272 to sandbox: error setting interface \"veth5a69272\" MAC to \"ed:e8:60:2d:65:c1\": cannot assign requested address": unknown.
--- End code ---
I dont understand the second one for sure and not sure how I could remove any other service that is binding to 1900. Nor even how to find out which one it could be
--- Quote --- Itīs certainly possible to create multiple IPs on a single nic (has nothing to do with docker though). I would not recommend you doing that if itīs not supported by qnap.
--- End quote ---
QNAP supports that. In fact the only way I could make it work using the QNAP GUI was when I did bridge networking using a static IP with an address different than the NAS. So if there is a line of code I can add which enables bridge networking via static IP, would love to try that.
--- Quote --- The Static IP option for a container (that docker provides) wonīt really do what you might think it should. Its an IP that gets assigned to the container within the vnet that bridge networking creates. You canīt actually use that IP for anything unless you are inside that network yourself. Which you are not unless you are another docker container in the same vnet.
--- End quote ---
My knowledge is very limited, but all I can say is that via the GUI and bridge networking, I can give an IP address say X.X.X.22 to the JRMC27 docker when the NAS address is X.X.X.21 and it works. I can access it from Gizmo on the network, BubbleUPnP etc.
I have taken a lot of your time and attention and I deeply respect and appreciate your support and commitment to the JRiver community!!
We don't need to break our heads over this anymore. This is a feature that perhaps only a small minority will ever miss. I will use the GUI to create and run an instance accessing the data inside the NAS. As and when QNAP enables accessing HDDs from their GUI, I will use that.
Many thanks for all the help from you and others (Jatzoo, Scobie, Hawi, Jim and others). Am continually amazed by the lengths to which experts like all of you go to help fellow members! One of the big reasons why I am a JRiver fan!!
Thank you once again!
Best
NH
max096:
--- Quote from: NH on April 05, 2021, 02:00:35 pm ---I dont understand the second one for sure and not sure how I could remove any other service that is binding to 1900. Nor even how to find out which one it could be
--- End quote ---
Probably you have a lot of those jriver containers running already. You cannot assign the same mac twice. You can list the containers with 'docker ps -a' and remove them with 'docker rm -f <id>'. Looks like something is using 1901 also. So clean up those containers you made while messing around and pick a port you are not using.
You can also list what process uses what port with 'sudo netstat -tulpn | grep LISTEN' for instance. Not 100% sure qnap ships with the tools to make this command work. It might.
--- Quote from: NH on April 05, 2021, 02:00:35 pm ---My knowledge is very limited, but all I can say is that via the GUI and bridge networking, I can give an IP address say X.X.X.22 to the JRMC27 docker when the NAS address is X.X.X.21 and it works. I can access it from Gizmo on the network, BubbleUPnP etc.
--- End quote ---
Yeah... itīs possible but itīs a multistep process and not at all a just another option you put into that docker run command. And Im not sure how qnap manages it itself. So I donīt know if whatever I would do would not be undone by qnap upon restarts or updates of the NAS itself. You would have to create an ip alias first (the nothing to do with docker part). Then create a docker network using that ip alias as a NIC and then you can start creating containers that use that network. Imo... donīt do that yourself from the terminal unless you yourself know what you are doing and can fix issues when they occur.
It seems strange to me why qnap would do that by default for bridge networking especially unless it detects that there are port conflicts and just suggests that as a quickfix of sorts. Since with bridge networking (unlike host networking) you have the option to freely change ports around as you see fit. So if you have conflicts... pick different ports for the most part.
NH:
--- Quote ---Probably you have a lot of those jriver containers running already. You cannot assign the same mac twice. You can list the containers with 'docker ps -a' and remove them with 'docker rm -f <id>'. Looks like something is using 1901 also. So clean up those containers you made while messing around and pick a port you are not using.
--- End quote ---
I remove the ones that dont work. So there is no jriver docker anymore.
--- Quote ---
You can also list what process uses what port with 'sudo netstat -tulpn | grep LISTEN' for instance. Not 100% sure qnap ships with the tools to make this command work. It might.
--- End quote ---
Worked. None of the services is using 1900 or 1901.
--- Code: ---
sudo netstat -tulpn | grep LISTEN
tcp 0 0 0.0.0.0:8200 0.0.0.0:* LISTEN 20597/myupnpmediasv
tcp 0 0 127.0.0.1:5000 0.0.0.0:* LISTEN 12744/apache-dav
tcp 0 0 127.0.0.1:5001 0.0.0.0:* LISTEN 12744/apache-dav
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 16868/smbd
tcp 0 0 127.0.0.1:40780 0.0.0.0:* LISTEN 26244/php
tcp 0 0 127.0.0.1:23310 0.0.0.0:* LISTEN 32469/mysqld
tcp 0 0 127.0.0.1:3310 0.0.0.0:* LISTEN 11542/mysqld
tcp 0 0 0.0.0.0:5583 0.0.0.0:* LISTEN 27939/remotepad
tcp 0 0 127.0.0.1:3311 0.0.0.0:* LISTEN 11542/mysqld
tcp 0 0 127.0.0.1:32401 0.0.0.0:* LISTEN 1748/Plex Media Ser
tcp 0 0 0.0.0.0:9812 0.0.0.0:* LISTEN 30641/qtvagent
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 9553/dnsmasq
tcp 0 0 10.0.5.1:53 0.0.0.0:* LISTEN 9553/dnsmasq
tcp 0 0 10.0.3.1:53 0.0.0.0:* LISTEN 9553/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 18667/sshd
tcp 0 0 0.0.0.0:4567 0.0.0.0:* LISTEN 16657/dockerd
tcp 0 0 127.0.0.1:32600 0.0.0.0:* LISTEN 3434/Plex Tuner Ser
tcp 129 0 127.0.0.1:45177 0.0.0.0:* LISTEN 2409/Plex Plug-in [
tcp 0 0 127.0.0.1:5050 0.0.0.0:* LISTEN 23772/python
tcp 0 0 0.0.0.0:8765 0.0.0.0:* LISTEN 30405/lircd
tcp 0 0 127.0.0.1:8893 0.0.0.0:* LISTEN 20942/mpd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 16868/smbd
tcp 0 0 0.0.0.0:9790 0.0.0.0:* LISTEN 11821/java
tcp 0 0 10.0.5.1:9791 0.0.0.0:* LISTEN 11821/java
tcp 0 0 10.0.3.1:9791 0.0.0.0:* LISTEN 11821/java
tcp 0 0 127.0.0.1:9791 0.0.0.0:* LISTEN 11821/java
tcp 0 0 10.0.0.21:9791 0.0.0.0:* LISTEN 11821/java
tcp 0 0 127.0.0.1:12351 0.0.0.0:* LISTEN 21797/mpd
tcp 0 0 127.0.0.1:12352 0.0.0.0:* LISTEN 3510/mpd
tcp 0 0 10.0.0.21:49152 0.0.0.0:* LISTEN 20007/upnpd
tcp 0 0 127.0.0.1:58080 0.0.0.0:* LISTEN 17357/_thttpd_
tcp 0 0 10.0.3.1:6881 0.0.0.0:* LISTEN 13727/dsd
tcp 0 0 10.0.5.1:6881 0.0.0.0:* LISTEN 13727/dsd
tcp 0 0 10.0.0.21:6881 0.0.0.0:* LISTEN 13727/dsd
tcp 0 0 127.0.0.1:6881 0.0.0.0:* LISTEN 13727/dsd
tcp 0 0 127.0.0.1:6050 0.0.0.0:* LISTEN 16053/python2.7
tcp 0 0 127.0.0.1:50051 0.0.0.0:* LISTEN 15868/dockerd
tcp 0 0 127.0.0.1:6051 0.0.0.0:* LISTEN 16053/python2.7
tcp 0 0 0.0.0.0:50052 0.0.0.0:* LISTEN 20251/FcServer_mt
tcp 0 0 0.0.0.0:51461 0.0.0.0:* LISTEN 32155/tutk_agent
tcp 0 0 0.0.0.0:50053 0.0.0.0:* LISTEN 20251/FcServer_mt
tcp 0 0 127.0.0.1:6053 0.0.0.0:* LISTEN 15448/qbusd
tcp 0 0 0.0.0.0:50054 0.0.0.0:* LISTEN 20251/FcServer_mt
tcp 0 0 :::2376 :::* LISTEN 16657/dockerd
tcp 0 0 :::139 :::* LISTEN 16868/smbd
tcp 0 0 :::8080 :::* LISTEN 9182/apache_proxy
tcp 0 0 :::32400 :::* LISTEN 1748/Plex Media Ser
tcp 0 0 :::80 :::* LISTEN 12541/fcgi-p
tcp 0 0 :::8081 :::* LISTEN 12541/fcgi-p
tcp 0 0 :::22 :::* LISTEN 18667/sshd
tcp 0 0 :::443 :::* LISTEN 18666/apache_proxys
tcp 0 0 :::445 :::* LISTEN 16868/smbd
--- End code ---
--- Quote ---
Yeah... itīs possible but itīs a multistep process and not at all a just another option you put into that docker run command. And Im not sure how qnap manages it itself. So I donīt know if whatever I would do would not be undone by qnap upon restarts or updates of the NAS itself. You would have to create an ip alias first (the nothing to do with docker part). Then create a docker network using that ip alias as a NIC and then you can start creating containers that use that network. Imo... donīt do that yourself from the terminal unless you yourself know what you are doing and can fix issues when they occur.
It seems strange to me why qnap would do that by default for bridge networking especially unless it detects that there are port conflicts and just suggests that as a quickfix of sorts. Since with bridge networking (unlike host networking) you have the option to freely change ports around as you see fit. So if you have conflicts... pick different ports for the most part.
--- End quote ---
When I do host networking, the container gets set up but it shows some continuously running error messages and the it never stabilises. Only way out is to stop the process or open settings and change host to bridge. Doesnt allow me to accept host networking. So I have to change to bridge (static) or NAT and then the mount point disappears - i.e. there are no files in data/music.
Agree. Too complex for my comfort and skill! Will ping QNAP on this and see what they say.
Many thanks Max.
Best
NH
kdp:
Hi Max,
thank you for all your work to make this run "headless"
I have MC27 running on docker in an OMV NAS running on an AMD3XXX processor. it took a bit of discovery but audio is now working fine. when I try to import video files in the library, they get imported as documents. I am unable to see a way of changing that via the web interface. Nor do I see FFMpeg in the plugin directory. Hard copying the file there also did not make any difference. sSome guidance for the video files recognised automatically would be welcome.
thanks :-)
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version