INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 [3] 4   Go Down

Author Topic: Docker Image for MC27  (Read 32223 times)

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #100 on: February 18, 2021, 05:20:18 am »

Hi Max, Thanks for making this Docker container. I am running it on my Unraid server and it is very easy and convenient.

My music library includes Japanese music and the container by default displays Japanese characters as a bunch of rectangles. The base image you used for the container has a ENABLE_CJK_FONT env variable that I am setting so it installs the font needed for the Japanese text to display properly in MC. However, when that script runs it fails to install the font package. Here's a snippet of the log:

Code: [Select]
[cont-init.d] 10-cjk-font.sh: executing...
[cont-init.d] 10-cjk-font.sh: installing CJK font...
[cont-init.d] 10-cjk-font.sh: Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
[cont-init.d] 10-cjk-font.sh: Get:2 http://deb.debian.org/debian buster InRelease [122 kB]
[cont-init.d] 10-cjk-font.sh: Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]
[cont-init.d] 10-cjk-font.sh: Get:4 http://security.debian.org/debian-security buster/updates/main amd64 Packages [267 kB]
[cont-init.d] 10-cjk-font.sh: Get:5 http://deb.debian.org/debian buster/main amd64 Packages [7907 kB]
[cont-init.d] 10-cjk-font.sh: Get:6 http://deb.nodesource.com/node_12.x buster InRelease [4584 B]
[cont-init.d] 10-cjk-font.sh: Get:7 http://dist.jriver.com/latest/mediacenter buster InRelease [3612 B]
[cont-init.d] 10-cjk-font.sh: Get:8 http://deb.nodesource.com/node_12.x buster/main amd64 Packages [767 B]
[cont-init.d] 10-cjk-font.sh: Get:9 http://dist.jriver.com/latest/mediacenter buster/main i386 Packages [706 B]
[cont-init.d] 10-cjk-font.sh: Get:10 http://dist.jriver.com/latest/mediacenter buster/main arm64 Packages [642 B]
[cont-init.d] 10-cjk-font.sh: Get:11 http://dist.jriver.com/latest/mediacenter buster/main amd64 Packages [678 B]
[cont-init.d] 10-cjk-font.sh: Get:12 http://dist.jriver.com/latest/mediacenter buster/main armhf Packages [685 B]
[cont-init.d] 10-cjk-font.sh: Get:13 http://deb.debian.org/debian buster-updates/main amd64 Packages [9504 B]
[cont-init.d] 10-cjk-font.sh: Fetched 8434 kB in 3s (2794 kB/s)
[cont-init.d] 10-cjk-font.sh: Reading package lists...
[cont-init.d] 10-cjk-font.sh: Reading package lists...
[cont-init.d] 10-cjk-font.sh: Building dependency tree...
[cont-init.d] 10-cjk-font.sh: Reading state information...
[cont-init.d] 10-cjk-font.sh: The following NEW packages will be installed:
[cont-init.d] 10-cjk-font.sh: fonts-wqy-zenhei
[cont-init.d] 10-cjk-font.sh: 0 upgraded, 1 newly installed, 0 to remove and 37 not upgraded.
[cont-init.d] 10-cjk-font.sh: Need to get 7472 kB of archives.
[cont-init.d] 10-cjk-font.sh: After this operation, 16.8 MB of additional disk space will be used.
[cont-init.d] 10-cjk-font.sh: Get:1 http://deb.debian.org/debian buster/main amd64 fonts-wqy-zenhei all 0.9.45-7 [7472 kB]
[cont-init.d] 10-cjk-font.sh: debconf: delaying package configuration, since apt-utils is not installed
[cont-init.d] 10-cjk-font.sh: Fetched 7472 kB in 22s (337 kB/s)
[cont-init.d] 10-cjk-font.sh: dpkg: unrecoverable fatal error, aborting:
[cont-init.d] 10-cjk-font.sh: unknown system group 'messagebus' in statoverride file; the system group got removed
[cont-init.d] 10-cjk-font.sh: before the override, which is most probably a packaging bug, to recover you
[cont-init.d] 10-cjk-font.sh: can remove the override manually with dpkg-statoverride
[cont-init.d] 10-cjk-font.sh: E: Sub-process /usr/bin/dpkg returned an error code (2)
[cont-init.d] 10-cjk-font.sh: exited 0.

What I found is the 'messagebus' group is not present on the system and dpkg always fails unless the following fix is run (from https://askubuntu.com/questions/335538/unknown-user-in-statoverride-file):

Code: [Select]
sudo sed -i '/messagebus/d' /var/lib/dpkg/statoverride
Afterwards 'add-pkg' works again and I can manually open a Bash shell inside the container and manually install the font package I need. (Or I can manually run that 10-cjk-font.sh). Problem is, every time I update the container (which involves container deletion and re-creation) I need to redo the fix to the statoverride file and reinstall the fonts.

Is it possible to add an environment variable to the container so we can install additional packages each time the container runs (after also fixing up the statoverride file)?

Thank you.

Iīll see what I can do about the cjk-font.

As far as installing custom packages on your own I think it would be easiest to make an environment variable where you can set a path to a script. Then you could write some script with whatever you want to do on startup. Be it installing packages or anything else really.
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #101 on: February 21, 2021, 10:54:20 am »

As a temporary quick fix you can create a file '10-cjk-font.sh'

Code: [Select]
#!/usr/bin/with-contenv sh

set -e # Exit immediately if a command exits with a non-zero status.
set -u # Treat unset variables as an error.

log() {
    echo "[cont-init.d] $(basename $0): $*"
}

if [ "${ENABLE_CJK_FONT:-0}" -eq 1 ]; then
    if fc-list | grep -q "WenQuanYi Zen Hei"; then
        log "CJK font already installed."
    else
        log "installing CJK font..."
        if [ -n "$(which apk)" ]; then
            add-pkg wqy-zenhei --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing 2>&1 | sed "s/^/[cont-init.d] $(basename $0): /"
        else
            sed -i /messagebus/d /var/lib/dpkg/statoverride
            add-pkg fonts-wqy-zenhei 2>&1 | sed "s/^/[cont-init.d] $(basename $0): /"
        fi
    fi
fi

# vim: set ft=sh :

Itīs this file https://raw.githubusercontent.com/jlesage/docker-baseimage-gui/master/rootfs/etc/cont-init.d/10-cjk-font.sh the only difference being the added 'sed -i /messagebus/d /var/lib/dpkg/statoverride'.

Then you can mount this to /etc/cont-init.d to overwride it inside the container.
Code: [Select]
volumes:
   - /path/to/file/10-cjk-font.sh:/etc/cont-init.d/10-cjk-font.sh

Then it should work again. I wonīt be adding this into the image and instead make an issue on the baseimage or a pull request to get the change in. Just gonna take a bit longer.

This is also a good way you can inject custom scripts into the container that does not actually need any change. Didnīt think of it at first. All of the scripts in /etc/cont-init.d are executed on startup ordererd by the proceeding number. So if you where to mount 100_myscript.sh into there it would execute at the very end.
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #102 on: February 28, 2021, 04:25:25 am »

I' ve updated my Docker image to now also build images for MediaCenter 27.

Dear Max

Is there a step by step guide using the QNAP GUI that I can use. I dont know how to use Linux commands to do this.

I managed to create the container but am unable to use VNC to get inside JRiver to configure. I get to the panel screen on port 52199 but without being able to configure import files or other settings.

And I am not able to log in via VNC server. Tried several times - get the message _connection closed unexpectedly". So not able to do anything.

I am obviously missing a trick because others seem to be able to use it.

Enclosed a sample from another software http://www.jthink.net/songkong/install_docker_qnap.jsp which even a Linux ignoramus like was able to install. I straightaway landed on the GUI of the app. Will be great to have instructions like this.

Appreciate any help you can provide. Many thanks.

Best

NH
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #103 on: February 28, 2021, 12:38:34 pm »

Dear Max

Is there a step by step guide using the QNAP GUI that I can use. I dont know how to use Linux commands to do this.

I managed to create the container but am unable to use VNC to get inside JRiver to configure. I get to the panel screen on port 52199 but without being able to configure import files or other settings.

And I am not able to log in via VNC server. Tried several times - get the message _connection closed unexpectedly". So not able to do anything.

I am obviously missing a trick because others seem to be able to use it.

Enclosed a sample from another software http://www.jthink.net/songkong/install_docker_qnap.jsp which even a Linux ignoramus like was able to install. I straightaway landed on the GUI of the app. Will be great to have instructions like this.

Appreciate any help you can provide. Many thanks.

Best

NH

There isnīt really a guide specifically for that. But since you are getting to the panel webui probably you can just instead of :52199 head to :5800 and if you allowed that port too you should get to the noVNC webgui where you can interact with jriver just as you would on a desktop.

I can help you explain things and hopefully we can figure it out. Not currently planning to make a guide specifically for the qnap gui though.
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #104 on: February 28, 2021, 01:33:34 pm »

I wonīt be adding this into the image and instead make an issue on the baseimage or a pull request to get the change in. Just gonna take a bit longer.

Guess I lied about that. Itīs been a week the guy that maintains the baseimage didnīt write back. Im sure he will eventually. But since itīs just a little change I just put it in as is and overwrote the file. Give it half an hour to spit out all the images and the ENABLE_CJK_FONT option should work again without doing anything special.

Also updated the readme with a guide for running custom initialization scripts. Itīs fine for experimenting and quick fixing stuff (installing additional packages or whatever you want to do). But if you are making changes that fix things that could benefit other users of the image. It would be better if you can make me aware of it (here or gitlab issue), or make a merge request on gitlab.
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #105 on: March 01, 2021, 10:57:23 am »

There isnīt really a guide specifically for that. But since you are getting to the panel webui probably you can just instead of :52199 head to :5800 and if you allowed that port too you should get to the noVNC webgui where you can interact with jriver just as you would on a desktop.


No luck Max. Cant access any port. Also wrote to QNAP. They said to check the SSH setting which is already checked. Dont know what I am missing. So near yet so far!

Best

NH
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #106 on: March 01, 2021, 02:19:09 pm »

No luck Max. Cant access any port. Also wrote to QNAP. They said to check the SSH setting which is already checked. Dont know what I am missing. So near yet so far!

Best

NH

Did you use host networking or bridge networking when you created the container? Any other details on what it is you did woud help too.

Generally, if you are using host networking you need to allow every single port you want to access from another PC on the firewall of your NAS. If you are using bridge networking you (normally) don't need to do this, but you would have had to pick port forwardings on container creation (normally you'd just forward 5800 to 5800 and so on and so forth, no reason to pick different ports unless one of them is already in use).

Did you already have jriver installed on your NAS before in another way? If yes maybe you already allowed port 52199 in your qnap firewall back then? Hence JRiver ports would be accessible and the others are not.

SSH settings won't get you anywhere. That seems completely unrelated to me. Not sure why qnap support would suggest that.
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #107 on: March 06, 2021, 10:01:50 pm »

Thank you very much Max. Your guidance pointed me in the right direction. I checked the port forwarding on the NAS, on the router, removed one conflict (52199 was forwarded to my Windows PC for the JRiver instance there), checked if my NAS is getting external connectivity. And it worked!! Many many thanks.

I see two links on the container - 52199 which connects to the panel and 5800 which connects to the web GUI of MC. The web GUI  and that makes it very easy. I was able to do te library settings and am able to connect to it via Gizmo pretty easily and works without any lag. In fact the connectivity between Gizmo and MC works better than on my PC.

Sharing some learnings and observations:

1. For showing the path on the NAS (volume from host) and connecting it to the mount point, I could connect only one folder. Eg /Media/Music to /data/music. I had one other folder /Media/Music Videos which when I tried to link to the same mount point /data/music it didnt work. I am sure there is a way to connect more than one folder.

2. I have an additional hard disk containing music files connected to the NAS. On windows, I was able to add this as a location in the library by naming it as a network location eg. T: or V:. I am not able to see that in the volume from host. Am I missing something?

3. I could only do bridge networking. With host it wont allow me to. In bridge networking, I chose static IP, didnt choose DHCP because it said that the NAS IP address would have to change. Is that true? I dont know what would have happened if I had chosen DHCP instead.

4. For the static IP to work, I had to use a different IP address than that of the NAS eg. x.x.x.22 when the NAS was x.x.x.21. In fact when I tried to give it the same IP address it hanged (understandably) or for some others it warned me that the IP address was already in use. I presume this is how it is meant to be. Will be good to mention in the instructions. Though I was surprised to know that the container gets a different IP address, like a different machine or network connection. Does this allow me to access my MC from outside the network also? Will try it out. Technically it should since I have a static IP enabled on my router.

5. The size of the web page in the web GUI is smaller in MC 25. I tried it with MC 27 also where it was covering the whole window. I presume there is a setting somewhere to change it. I am using my MC 25 license.

Many thanks Max, Jatzoo, Scobie for your guidance. If you (or any other users) have any reactions to the above will appreciate it.

Many thanks all once again.

Best

NH
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #108 on: March 07, 2021, 09:05:16 pm »

1. For showing the path on the NAS (volume from host) and connecting it to the mount point, I could connect only one folder. Eg /Media/Music to /data/music. I had one other folder /Media/Music Videos which when I tried to link to the same mount point /data/music it didnt work. I am sure there is a way to connect more than one folder.

You can only mount one thing to /data/music if you need to mount multiple use different mount points. /data/video /data/music2. Does not matter where you mount it to really /data/music was just a suggestion for one of the mounts is all.

2. I have an additional hard disk containing music files connected to the NAS. On windows, I was able to add this as a location in the library by naming it as a network location eg. T: or V:. I am not able to see that in the volume from host. Am I missing something?

Not sure what you did on Windows in JRiver. You did not mount the drive in windows, but set it up in JRiver? If it did just 'find it' on windows it might not do that when you are using bridge networking. As network discovery is the one thing that's kind of flaky there. But when you manually enter it it should work. It just won't find it by itself.

3. I could only do bridge networking. With host it wont allow me to. In bridge networking, I chose static IP, didnt choose DHCP because it said that the NAS IP address would have to change. Is that true? I dont know what would have happened if I had chosen DHCP instead.

I don't think it would change the IP of your NAS, but the IP of your docker container won't stay the same after reboots as it will ask your router for an IP address. You can setup what device should get what IP address on your router too. And then you will essentially get a static IP. For the most part you should either setup static IPs outside of the DHCP range your router hands out or manage IPs on your router. Most of the time in small home networks this is not an issue. But if you end up in a situation where your router gives out an IP of lets say 192.168.1.100 and then you startup something that has it's static IP set to exactly that. It just won't work.

4. For the static IP to work, I had to use a different IP address than that of the NAS eg. x.x.x.22 when the NAS was x.x.x.21. In fact when I tried to give it the same IP address it hanged (understandably) or for some others it warned me that the IP address was already in use. I presume this is how it is meant to be. Will be good to mention in the instructions. Though I was surprised to know that the container gets a different IP address, like a different machine or network connection. Does this allow me to access my MC from outside the network also? Will try it out. Technically it should since I have a static IP enabled on my router.

No it won't make anything accessible outside of your network. You need to do port forwarding on your router with the ports you want to access. The IP changing probably means QNAP created a VM for docker. Could not tell you wether it created one for docker or it created one for this specific container. Technically, yes ofc you can host docker container on your host directly. But most of the time that's not really done. Im running proxmox on my NAS and i also created a seperate VM for docker and some other stuff. Imo, if you have a kind of "do it all" server box like this. You don't really want to install all that much on the host OS. Just because if it breaks that's bad. But if you break the VM it's much less bad. You might even have a snapshot to just go back to a working state. A lot easier to do snapshots with VMs than with an OS that runs on bear metal.

5. The size of the web page in the web GUI is smaller in MC 25. I tried it with MC 27 also where it was covering the whole window. I presume there is a setting somewhere to change it. I am using my MC 25 license.
You mean the size of :5800 web UI? You can change that with environment variables 'DISPLAY_WIDTH' and 'DISPLAY_HEIGHT' but you have to do this on container creation. It's totally fine to destroy and re-create the container as long as you keep the directory around you mouned to /config you should not even notice it ever disappeared.
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #109 on: March 08, 2021, 11:03:20 am »

Thanks much Max for your detailed answers!! Very clear.

Best

NH
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13874
Re: Docker Image for MC27
« Reply #110 on: March 18, 2021, 08:37:39 pm »

Just a heads-up, the next build will have a few executable changes.
The launcher mc27 will be removed from the /usr/bin/ dir and moved to the app installation dir (/usr/lib/jriver/Media Center xx).
There will be new binary in the app installation directory called PackageInstaller.
There will be a symlink in the app installation directory to the mediacenter27 executable in /usr/bin/
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #111 on: March 20, 2021, 06:45:01 am »

You can only mount one thing to /data/music if you need to mount multiple use different mount points. /data/video /data/music2. Does not matter where you mount it to really /data/music was just a suggestion for one of the mounts is all.

Not sure what you did on Windows in JRiver. You did not mount the drive in windows, but set it up in JRiver? If it did just 'find it' on windows it might not do that when you are using bridge networking. As network discovery is the one thing that's kind of flaky there. But when you manually enter it it should work. It just won't find it by itself.

Dear Max

It does not allow me to specify the path in the Volume from host. It does not show me the path to the external disks connected. Only to shared folders which are on the NAS. Any suggestions on how one could enable this?

Best

NH
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #112 on: March 27, 2021, 12:24:09 pm »

Dear Max

It does not allow me to specify the path in the Volume from host. It does not show me the path to the external disks connected. Only to shared folders which are on the NAS. Any suggestions on how one could enable this?

Best

NH

Looks like you cannot do it from the UI. You have to use docker CLI from the terminal.
https://forum.qnap.com/viewtopic.php?t=138410

Also, looking at this, my assumption that qnap creates a VM for docker is wrong, otherwise you would not be able to see the /mnt path of your host at all.
Logged

jedx02

  • Recent member
  • *
  • Posts: 20
Re: Docker Image for MC27
« Reply #113 on: March 27, 2021, 01:10:54 pm »

Thank you so much for making this available.  I have been looking for months for a good podcast catcher for my synology and was pleased to realize that MC on docker is great for the task.

I' ve updated my Docker image to now also build images for MediaCenter 27.

More information about the image can be found in the readme on gitlab or dockerhub

- gitlab: https://gitlab.com/shiomax/jrivermc-docker
- dockerhub: https://hub.docker.com/r/shiomax/jrivermc27

This time around no problems with licensing either.

If you are upgrading from an older MediaCenter version (24, 25 or 26) remember to make a library backup before attempting to upgrade. Ideally, also backup the directory you linked to /config after having stopped or removed the container you are currently running. Major JRiver version changes will not retain anything you will need to restore from a library backup and reactivate your license.
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #114 on: March 31, 2021, 11:53:18 am »

Looks like you cannot do it from the UI. You have to use docker CLI from the terminal.
https://forum.qnap.com/viewtopic.php?t=138410

Dear Max

I tried the following:

1. Raised a ticket with QNAP as to why the external hard disk is not visible as a share within docker. Its a feature limitation now, so nothing can be done immediately. If its a common problem they might take it up but that's a long shot.
2. I tried to follow the link above and copied and entered the commands through putty. I am sure I must have done something wrong since always got "command not found". Will be great if you could share the exact command that I need to enter in the terminal through putty. Some details as follows:
- Name of my hard disk is Seagate Backup Plus Drive and it is seen like that in file station and  on the network
3. I am using your MC24 image
4. Do the commands have to be entered via putty or via the terminal window in the docker container

Many thanks

Best

NH
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #115 on: April 01, 2021, 12:06:11 pm »

Dear Max

I tried the following:

1. Raised a ticket with QNAP as to why the external hard disk is not visible as a share within docker. Its a feature limitation now, so nothing can be done immediately. If its a common problem they might take it up but that's a long shot.
2. I tried to follow the link above and copied and entered the commands through putty. I am sure I must have done something wrong since always got "command not found". Will be great if you could share the exact command that I need to enter in the terminal through putty. Some details as follows:
- Name of my hard disk is Seagate Backup Plus Drive and it is seen like that in file station and  on the network
3. I am using your MC24 image
4. Do the commands have to be entered via putty or via the terminal window in the docker container

Many thanks

Best

NH

Through putty try to type docker and see if it finds that command at all. If it does not you probably need to add it to the path variable. If you are logged in as root /root/.bashrc otherwise ~/.bashrc.

Assuming your docker executeable is where they say it is in this thread

https://forum.qnap.com/viewtopic.php?t=152023

You add this line to the bashrc.

Code: [Select]
PATH=/share/CACHEDEV1_DATA/.qpkg/container-station/bin/docker:$PATH

Then when you log out and back in. You should be able to use the docker command without typing out the entier path all the time.

Then you can run one of the docker run commands from the readme. Your disk should be somewhere in /mnt hopefully and wherever you want the /config dir to be on your NAS. You have to put those two paths (or more if you need more media locations) into the docker run command.
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27auto
« Reply #116 on: April 03, 2021, 08:19:08 am »

Thanks much Max.

I followed your instructions to enable the HDD to become accessible. Then I installed the docker with the following commands:

docker run -d \
    --name=jrivermc27 \
    --net=host \
    --restart=always \
    -v config:/config:rw \
    -v /share/Media/Music:/data/music:rw \
    -v /share/external/DEV3601_2:/data/musichdd:rw \
    -e VNC_PASSWORD=12345 \
    shiomax/jrivermc27

The container started. I got into JRiver. And could add the folders data/music and data/musichdd to file>library/import>configure auto import.

Selected the folders data/music and data/musichdd to import from.

However no files are being imported into the library.

I am able to access other libraries on the network eg minimserver in the library and that library loads. But doesnt play any file.

I had an instance of jriver mc24 also pointed to data/music. Thinking that that could create a conflict, I removed that also, but still no files are being imported.

What am I missing?

Best

NH
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27auto
« Reply #117 on: April 03, 2021, 09:52:32 am »

Thanks much Max.

I followed your instructions to enable the HDD to become accessible. Then I installed the docker with the following commands:

docker run -d \
    --name=jrivermc27 \
    --net=host \
    --restart=always \
    -v config:/config:rw \
    -v /share/Media/Music:/data/music:rw \
    -v /share/external/DEV3601_2:/data/musichdd:rw \
    -e VNC_PASSWORD=12345 \
    shiomax/jrivermc27

The container started. I got into JRiver. And could add the folders data/music and data/musichdd to file>library/import>configure auto import.

Selected the folders data/music and data/musichdd to import from.

However no files are being imported into the library.

I am able to access other libraries on the network eg minimserver in the library and that library loads. But doesnt play any file.

I had an instance of jriver mc24 also pointed to data/music. Thinking that that could create a conflict, I removed that also, but still no files are being imported.

What am I missing?

Best

NH

Are you sure you mounted the right paths? Go into your docker console to /data/music and /data/musichdd and see if the files are really there.

You probably get into the container from the qnap gui. Otherwise 'docker ps' to find the container id and 'docker exec -it <id> /bin/bash'. Then go to those directories and see if there are files there.
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #118 on: April 03, 2021, 02:17:23 pm »

I dont think the files are there.

I tried doing an install via the QNAP GUI and even for that I am not able to access the files. What could be the issue? It had worked automatically when I had installed it via the GUI earlier where I had to select the folders so there was no issue of making any mistake.

I changed the USER_ID and GROUP_ID to 0 which is what I found it to be for admin in case that was to be the issue - I read in one of the other posts of MAWI - hence.

BTW - my files are in the folder Media/Music which is in the root folder of my NAS which is called NH68. Do I need to add the NAS name? Earlier I had mentioned the source folder as share/Media/Music which I changed when I saw that in the installation via the GUI, it takes /Media/Music only without the "share".

Also while I use host - then I go into settings and change it to bridge after installation because host doesnt work. Could that be an issue? I do that because I had another instance of MC27 also running which had access to the ports.

It has to be some error in pointing the folder location to the docker. Posting the commands I used:

docker run -d \
    --name=jrivermc24 \
    --net=host \
    --restart=always \
    -v config:/config:rw \
    -v /Media/Music:/data/music:rw \
    -v /external/DEV3601_2:/data/musichdd:rw \
    -e VNC_PASSWORD=12345 \
    -e USER_ID=0 \
    -e GROUP_ID=0 \
    shiomax/jrivermc24

Best

NH

Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #119 on: April 03, 2021, 02:22:37 pm »

Dear MAx

I also see an error message "failed to commit changes to dconf: failed to execute child process: "dbus-launch" - no such file or directory

Dont know what that means

Best

NH
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #120 on: April 03, 2021, 03:59:37 pm »

You are sure those directories "/external/DEV3601_2", "/Media/Music" are correct? Double check that. Just type "ls /external/DEV3601_2" in putty where you created the container too. I still think there should be something wrong with those otherwise there at least would be files.

If itīs correct. Can you post the output of "docker info" and then "docker inspect <id of the container you created>"? Again you get the container id from "docker ps". Not sure how qnap allowed you to change host networking to bridge networking after the fact, because that requires re-creation of the container. Maybe, it did do that and did remove the mount again.

Docker inspect will print out all the settings including environment variables. So if you set your password with -e VNC_PASSWORD it will be in there too. Just change that part if it wasnīt 12345.

I also see an error message "failed to commit changes to dconf: failed to execute child process: "dbus-launch" - no such file or directory

Dconf is some settings thing baked into gnome. The container does not use gnome and does not have gsettings/dconf. But it uses nautilus as a file explorer (default file explorer of gnome). So every time you open a file explorer from jriver it opens nautilus and it complains about the lack of those settings. Not really an issue as long as nautilus continues to work.

I changed the USER_ID and GROUP_ID to 0 which is what I found it to be for admin in case that was to be the issue - I read in one of the other posts of MAWI - hence.

Thats not the issue though. It might be later but when you log into the container you are always root and have access to the files either way. So if you donīt find them with ls there just is nothing there.
Logged

danrien

  • Galactic Citizen
  • ****
  • Posts: 371
  • Chillin
Re: Docker Image for MC27
« Reply #121 on: April 03, 2021, 05:04:29 pm »

Brilliant stuff!
Logged
http://davidvedvick.info

"Always be yourself. Unless you can be Batman. Always be Batman." - Anonymous

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #122 on: April 03, 2021, 10:09:12 pm »

Quote
You are sure those directories "/external/DEV3601_2", "/Media/Music" are correct? Double check that. Just type "ls /external/DEV3601_2" in putty where you created the container too. I still think there should be something wrong with those otherwise there at least would be files.   

1. When I type "ls" where I land up after logging into putty (and pressing Q and then Y to land in the shell environment, I see the following files - index_default.html.

2. "ls -a" shows
./             .bash_logout   .BitTornado@           index_default.html  .vimrc
../            .bash_profile  .buzzer_warnning.conf  .profile
.bash_history  .bashrc        .docker/               .ssh@

3. If I go one level up using "cd /" and do "ls" I see the following:
1        etc/          lib/         mnt/       proc/  share/
bin/     external/     lib64@       new_root/  root/  sys/
config/  flashfs_tmp/  linuxrc@     opt/       rpc/   tmp/
data/    hd_root_tmp@  lost+found/  path/      run/   usr/
dev/     home/         Media/       php.ini@   sbin/  var/

4. If I then go to Media by using "cd Media/Music" and use "ls" there are no files. This is what I see.
./  ../

5. Similarly there are no files in external/DEV3601_2.

However all my media files are there - I can see them in file station under Media/Music and am able to access them - directly and via minimserver.


Quote
If itīs correct. Can you post the output of "docker info" and then "docker inspect <id of the container you created>"? Again you get the container id from "docker ps". Not sure how qnap allowed you to change host networking to bridge networking after the fact, because that requires re-creation of the container. Maybe, it did do that and did remove the mount again.
Code: [Select]
Docker Info output
Client:
 Context:    default
 Debug Mode: false

Server:
 Containers: 2
  Running: 2
  Paused: 0
  Stopped: 0
 Images: 8
 Server Version: 20.10.3
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay qnet
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.14.24-qnap
 Operating System: QTS 4.5.2 (20210302)
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 3.769GiB
 Name: NH68
 ID: 2BSK:WU2A:ZRFQ:GN5B:NU3K:P75Y:QNY3:XFC6:QVW6:BTWR:3CNI:4SUO
 Docker Root Dir: /share/CACHEDEV1_DATA/Container/container-station-data/lib/docker
 Debug Mode: true
  File Descriptors: 95
  Goroutines: 110
  System Time: 2021-04-04T08:22:47.245962601+05:30
  EventsListeners: 1
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
 Default Address Pools:
   Base: 172.29.0.0/16, Size: 22

I recreated a new container MC24. This time I installed from the QNAP GUI, selected networking as NAT which was default and selected the folders Media/Music from within the GUI. Used mnt/music as the mount point. JRiver opens and when I try to access mnt/music - I see a message - file cannot be opened. Have attached the screenshot.

Code: [Select]
]
Docker inspect output below:

    {
        "Id": "3f17ff3da845ce02dbae9318edc7d9aa2af1da17c36912cbbbd695fa01b94bc2",
        "Created": "2021-04-04T02:25:53.556719013Z",
        "Path": "/init",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 1470,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2021-04-04T02:25:56.25846862Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:3f268ec335cb3ed7981030a5c67ddfb58fbe68aa8733806f88fa3fd4ed44685d",
        "ResolvConfPath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/3f17ff3da845ce02dbae9318edc7d9aa2af1da17c36912cbbbd695fa01b94bc2/resolv.conf",
        "HostnamePath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/3f17ff3da845ce02dbae9318edc7d9aa2af1da17c36912cbbbd695fa01b94bc2/hostname",
        "HostsPath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/3f17ff3da845ce02dbae9318edc7d9aa2af1da17c36912cbbbd695fa01b94bc2/hosts",
        "LogPath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/3f17ff3da845ce02dbae9318edc7d9aa2af1da17c36912cbbbd695fa01b94bc2/3f17ff3da845ce02dbae9318edc7d9aa2af1da17c36912cbbbd695fa01b94bc2-json.log",
        "Name": "/jrivermc24-1",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/share/Media/Music:/mnt/music:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {
                    "max-file": "10",
                    "max-size": "10m"
                }
            },
            "NetworkMode": "bridge",
            "PortBindings": {
                "1900/udp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": ""
                    }
                ],
                "52100/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": ""
                    }
                ],
                "52101/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": ""
                    }
                ],
                "52199/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": ""
                    }
                ],
                "5800/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": ""
                    }
                ],
                "5900/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": ""
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": [],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "host",
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": true,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "ConsoleSize": [
                0,
                0
            ],
            "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": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "KernelMemory": 0,
            "KernelMemoryTCP": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": [
                {
                    "Name": "nofile",
                    "Hard": 64000,
                    "Soft": 64000
                }
            ],
            "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"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/2d0fe77eced5fa70b7c18223f10ac96deb289ebabc42df4eaada27164b685ee6-init/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/c7edb4d9658ee9fbfc798d1cdf7e55975e312d49c173481356ada5ab4d523abc/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/e4a3f54aadac061e4398bc0fdfd7a28d900047863340e8fc22db0fcb1c3eea9e/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/14ec145a54c2b939c67a60537af9dc848c9ae7db5cba0672bb1cd1e189302b53/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/9f3dfbd2422fd96a9e5ce3fd0152f3e66303c230b79b65afc63a2a41eaa8f141/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/2fdf18cce2c3f60f9bcd568c85bc3d81653e0301380f111c9a97a61e1bef9149/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/99340434e940f96255fe30f596169dd950576f1ceeea856591159a7ef6205fc8/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/fb6b4cb3db9e5554bb4493163deaa57d1837e31a90b474175225b8ee797407ec/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/f71068ebe6767464d8ef9a22171eedfafbfe7fe72c95062c91ae1e7adb2ea1b5/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/c9cc87c50afd0255a36e7a084cae3ee81d3ee277ed42d7b11cbe2c3f6c629a51/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/dc785e96314ed2717ce4494f78fd1edd683b1239f9e556586a68a3eec4c1c779/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/93bfdba1797731b2fb206b26a857dbd5203737458fab34ed0b30754a600e21f6/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/099d2791f5fb9e38c95c2ac749e7895bcb3659a8850a27288f053fc2870e148e/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/ac7a7bd878ffe8f9c08f4ca6c6de2f693c4282b25092895d431d926aff864bd5/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/20daaf98c04ee19884dd817467a0c48ab836dd771bcbe54aee8f43f51f11ae10/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/39cb3a64cf51df1f5a5b7bf400e764e86477e037882143d74639f58c43ee742f/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/889511b41a6d123cd0743077a8e0daff830934b156c7bf26d778fb9f076cbce4/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/814906b615999315871abd7091589aa1c4fde4fddb29d5695982d5ab7f0bbcca/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/bd2be29a730f7108dd62ccb016042a7b6316e66e7408611b735a657b674f9965/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/ee310c11eb820a96f8e3435bb1c06621ee0920af912bd6bb6671d3c89aebec6e/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/82336d1d531ce140cb1918cc2054ca6d33f3e875d375e8139d1e3f93159100bf/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/7c951c69998c2b49fab772736465be71e690ffe02d9f2bbb04e2cedba336cc9b/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/43b328be3120b2466ea7cedb849f4de06060b8fd9e537ee2356360945ece481a/diff",
                "MergedDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/2d0fe77eced5fa70b7c18223f10ac96deb289ebabc42df4eaada27164b685ee6/merged",
                "UpperDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/2d0fe77eced5fa70b7c18223f10ac96deb289ebabc42df4eaada27164b685ee6/diff",
                "WorkDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/2d0fe77eced5fa70b7c18223f10ac96deb289ebabc42df4eaada27164b685ee6/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/share/Media/Music",
                "Destination": "/mnt/music",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "volume",
                "Name": "92935a0ce0354fa994243663fc0e3bf235cce85be3e3d02d8f0867be5ad4a8f7",
                "Source": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/volumes/92935a0ce0354fa994243663fc0e3bf235cce85be3e3d02d8f0867be5ad4a8f7/_data",
                "Destination": "/config",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "3f17ff3da845",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "1900/udp": {},
                "52100/tcp": {},
                "52101/tcp": {},
                "52199/tcp": {},
                "5800/tcp": {},
                "5900/tcp": {}
            },
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": false,
            "Env": [
                "APP_NAME=JRiver MediaCenter 24",
                "APP_USER=app",
                "DISPLAY=:0",
                "DISPLAY_HEIGHT=768",
                "DISPLAY_WIDTH=1280",
                "ENABLE_SIGNATURE=1",
                "GROUP_ID=1000",
                "KEEP_APP_RUNNING=1",
                "MAXIMIZE_POPUPS=0",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "S6_BEHAVIOUR_IF_STAGE2_FAILS=3",
                "S6_KILL_GRACETIME=8000",
                "S6_SERVICE_DEPS=1",
                "USER_ID=1000",
                "XDG_CACHE_HOME=/config/xdg/cache",
                "XDG_CONFIG_HOME=/config/xdg/config",
                "XDG_DATA_HOME=/config/xdg/data",
                "XDG_RUNTIME_DIR=/tmp/run/user/app"
            ],
            "Cmd": [
                "/init"
            ],
            "Image": "shiomax/jrivermc24:latest",
            "Volumes": {
                "/config": {}
            },
            "WorkingDir": "/tmp",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "com.qnap.qcs.gpu": "False",
                "com.qnap.qcs.network.mode": "nat",
                "org.label-schema.description": "A minimal docker baseimage to ease creation of X graphical application containers",
                "org.label-schema.name": "baseimage-gui",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vcs-url": "https://github.com/jlesage/docker-baseimage-gui",
                "org.label-schema.version": "3.5.3"
            }
        },
        "NetworkSettings": {
            "Bridge": "lxcbr0",
            "SandboxID": "668b3935d139e77392c3882986330b8e18cd794163bf51b8dede6272e4db0bd5",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "1900/udp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "49153"
                    }
                ],
                "52100/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "49155"
                    }
                ],
                "52101/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "49154"
                    }
                ],
                "52199/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "49153"
                    }
                ],
                "5800/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "49157"
                    }
                ],
                "5900/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "49156"
                    }
                ]
            },
            "SandboxKey": "/var/run/docker/netns/668b3935d139",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "9aa21f320591ecf23193f40bc0692f994a606ef0e13d566dffc7178289b3d83b",
            "Gateway": "10.0.3.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "10.0.3.3",
            "IPPrefixLen": 24,
            "IPv6Gateway": "",
            "MacAddress": "02:42:0a:00:03:03",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "e8e0126c28d4f3f6a294d8583ea2555df44363aa363b9f0b391f0ca895a4fd06",
                    "EndpointID": "9aa21f320591ecf23193f40bc0692f994a606ef0e13d566dffc7178289b3d83b",
                    "Gateway": "10.0.3.1",
                    "IPAddress": "10.0.3.3",
                    "IPPrefixLen": 24,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:0a:00:03:03",
                    "DriverOpts": null
                }
            }
        }
    }
]

Quote
Docker inspect will print out all the settings including environment variables. So if you set your password with -e VNC_PASSWORD it will be in there too. Just change that part if it wasnīt 12345.

It's default only.

Many thanks for all this deep dive! I have learnt a few linux commands and am reminded of the MS-DOS commands which I had learnt in the floppy disk days!

Best

NH
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #123 on: April 03, 2021, 10:17:01 pm »

Apologies for the very very long post that this created..Will make it harder for users to scroll.

However couldnt find another way of making it more elegant. eg. even if you post as an attachment it still is seen on the full screen. If there is another method to make such outputs more compact would love to use those.

Best

NH
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72444
  • Where did I put my teeth?
Re: Docker Image for MC27
« Reply #124 on: April 04, 2021, 07:14:40 am »

Apologies for the very very long post that this created..Will make it harder for users to scroll.

However couldnt find another way of making it more elegant. eg. even if you post as an attachment it still is seen on the full screen. If there is another method to make such outputs more compact would love to use those.
I added code tags.
[ code ]
and
[ /code ]
but without the spaces.
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #125 on: April 04, 2021, 08:30:22 am »

Thanks much Jim... Nice of you. Appreciate it.
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #126 on: April 04, 2021, 09:54:31 am »

        "Mounts": [
            {
                "Type": "bind",
                "Source": "/share/Media/Music",
                "Destination": "/mnt/music",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "volume",
                "Name": "92935a0ce0354fa994243663fc0e3bf235cce85be3e3d02d8f0867be5ad4a8f7",
                "Source": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/volumes/92935a0ce0354fa994243663fc0e3bf235cce85be3e3d02d8f0867be5ad4a8f7/_data",
                "Destination": "/config",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],

Looking at this part it mounted '/share/Media/Music' to '/mnt/music'. So itīs not actually '/Media/Music' then.

Not sure about external. But you should find both mounts when you type 'mount'. Maybe it comes up right away with 'mount | grep external'.

After you found where the files are. You can find out what user they belong to and use that as UID for the container as explained here https://gitlab.com/shiomax/jrivermc-docker#permission-problems. Ofc, using 0 for root should also work.

You should probably not be changing to bridge networking afterwards and use the right command right away.
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #127 on: April 04, 2021, 01:21:45 pm »

Quote
Looking at this part it mounted '/share/Media/Music' to '/mnt/music'. So itīs not actually '/Media/Music' then.

1. I am not able to locate the path to Media/Music at all. The path or permissions seem to have got bungled up perhaps. Is there a way to find where it is? I have pasted below the directory structure that I found.

Code: [Select]
 
mount
none on /new_root type tmpfs (rw,mode=0755,size=296960k)
/proc on /proc type proc (rw)
devpts on /dev/pts type devpts (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /tmp type tmpfs (rw,size=64M)
tmpfs on /dev/shm type tmpfs (rw)
tmpfs on /share type tmpfs (rw,size=16M)
/dev/sdc5 on /mnt/boot_config type ext2 (rw)
tmpfs on /mnt/snapshot/export type tmpfs (rw,size=16M)
/dev/md9 on /mnt/HDA_ROOT type ext3 (rw,data=ordered)
cgroup_root on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/cgroup/memory type cgroup (rw,memory)
/dev/mapper/cachedev1 on /share/CACHEDEV1_DATA type ext4 (rw,usrjquota=aquota.us                                                                                                                                                             er,jqfmt=vfsv0,user_xattr,data=ordered,data_err=abort,delalloc,nopriv,nodiscard,                                                                                                                                                             acl)
/dev/sde2 on /share/external/DEV3601_2 type ufsd (rw,iocharset=utf8,dmask=0000,f                                                                                                                                                             mask=0111,force)
cpu on /sys/fs/cgroup/cpu type cgroup (rw,cpu)
/dev/md13 on /mnt/ext type ext4 (rw,data=ordered,barrier=1,nodelalloc)
tmpfs on /share/CACHEDEV1_DATA/.samba/lock/msg.lock type tmpfs (rw,size=48M)
tmpfs on /mnt/ext/opt/samba/private/msg.sock type tmpfs (rw,size=16M)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,none,name=systemd)
hdsfusemnt on /share/CACHEDEV1_DATA/.qpkg/HD_Station/share type fuse.hdsfusemnt                                                                                                                                                              (rw,nosuid,nodev,allow_other)
/share/CACHEDEV1_DATA/.qpkg/container-station/kernel-module on /lib/modules/4.14                                                                                                                                                             .24-qnap/container-station type none (rw,bind)
/tmp on /share/CACHEDEV1_DATA/.qpkg/MediaSignPlayer/CodexPackExt/tmp type none (                                                                                                                                                             rw,bind)
hdsfusemnt on /share/CACHEDEV1_DATA/.qpkg/MediaSignPlayer/CodexPackExt/share typ                                                                                                                                                             e fuse.hdsfusemnt (rw,nosuid,nodev,allow_other)
 cd Media /
-sh: cd: Media: No such file or directory
[~] # ls
index_default.html
[~] # ls -a
./             .bash_logout   .BitTornado@           index_default.html  .vimrc
../            .bash_profile  .buzzer_warnning.conf  .profile
.bash_history  .bashrc        .docker/               .ssh@
[~] # cd /
[/] # ls
1        etc/          lib/         mnt/       proc/  share/
bin/     external/     lib64@       new_root/  root/  sys/
config/  flashfs_tmp/  linuxrc@     opt/       rpc/   tmp/
data/    hd_root_tmp@  lost+found/  path/      run/   usr/
dev/     home/         Media/       php.ini@   sbin/  var/
[/] # cd share /
[/share] # ls -a
./               HDF_DATA/  HDR_DATA/     Multimedia@
../              HDG_DATA/  HDS_DATA/     NH Work@
CACHEDEV1_DATA/  HDH_DATA/  HDT_DATA/     P@
config@          HDI_DATA/  HDU_DATA/     PlexData@
Container@       HDJ_DATA/  HDV_DATA/     .proftpd.fifo/
Download@        HDK_DATA/  HDW_DATA/     Public@
external/        HDL_DATA/  HDX_DATA/     Seagate Backup Plus Drive@
HDA_DATA/        HDM_DATA/  HDY_DATA/     S@
HDB_DATA/        HDN_DATA/  HDZ_DATA/     V@
HDC_DATA/        HDO_DATA/  homes@        Web@
HDD_DATA/        HDP_DATA/  Media@
HDE_DATA/        HDQ_DATA/  MinimServer@
[/share] # cd external /
[/share/external] # ls -a
./  ../  DEV3601_2/  sda/  sdb/  sdc/  sdd/  sde/  sdf/  sdg/  sdh/  sdi/  sdj/  sdk/  sdl/  sdm/  sdn/  sdo/  sdp/  sdq/  sdr/  sds/  sdt/  sdu/  sdv/  sdw/  sdx/  sdy/  sdz/
[/share/external] # cd DEV3601_2
[/share/external/DEV3601_2] # ls
Music DY/  $RECYCLE.BIN/  System Volume Information/
[/share/external/DEV3601_2] # cd /
[/] # ls
1  bin/  config/  data/  dev/  etc/  external/  flashfs_tmp/  hd_root_tmp@  home/  lib/  lib64@  linuxrc@  lost+found/  Media/  mnt/  new_root/  opt/  path/  php.ini@  proc/  root/  rpc/  run/  sbin/  share/  sys/  tmp/  usr/  var/
[/] # cd Media /
[/Media] # ls
Music/
[/Media/Music] # ls
[/Media/Music] # ls -a
./  ../

Quote
Not sure about external. But you should find both mounts when you type 'mount'. Maybe it comes up right away with 'mount | grep external'.

I could find the external drive as you can see above.

Quote
After you found where the files are. You can find out what user they belong to and use that as UID for the container as explained here https://gitlab.com/shiomax/jrivermc-docker#permission-problems. Ofc, using 0 for root should also work.

I have not tried this as of now.

Quote
You should probably not be changing to bridge networking afterwards and use the right command right away.
. Yes, am not doing that.

However here is what I found. I can see the files in the shared Multimedia folder. As such I loaded MC27 from the GUI using bridge and used the Multimedia folder and I was able to see the files within that when I launched JRiver. So one solution is to move all my music files to the Multimedia folder from the Media folder. This still does not address the external drive access.

So I tried to load MC24 via putty using your instructions adding the Multimedia folder instead of Media and using the bridge method. However its giving me some strange error commands which I did not see earlier. Pasting the error messages here. Have I made a mistake in the syntax?

Code: [Select]
docker pull shiomax/jrivermc24
Using default tag: latest
latest: Pulling from shiomax/jrivermc24
Digest: sha256:b713ae0d65275d3ad5e25da995b27132012eaee0c0ce3cd0b64005e3a3763b4f
Status: Image is up to date for shiomax/jrivermc24:latest
docker.io/shiomax/jrivermc24:latest
[/] # docker run -d \
>     --name=jrivermc26 \
>     --net=bridge \
>     --restart=always \
>     --mac-address=ed:e8:60:2d:65:c1 \
>     -p 5800:5800 \
>     -p 5900:5900 \
>     -p 52199:52199 \
>     -p 1900:1900/udp \
docker: invalid reference format.
See 'docker run --help'.
[/] #     -v config:/config:rw \
>     -v /share/Multimedia/Music:/data/music:rw \
>     -v /external/DEV3601_2:/data/musichdd:rw \
>     -e VNC_PASSWORD=12345 \
>     shiomax/jrivermc26
-sh: -v: command not found

Maybe I should remove the container station and install it again to restore defaults which might have got changed.

Best

NH
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #128 on: April 04, 2021, 01:44:53 pm »

It interpreted it as multiple commands so you got something wrong with your formatting. Not a docker or container station issue.

Code: [Select]
docker run -d \
--name=jrivermc26 \
--net=bridge \
--restart=always \
--mac-address=ed:e8:60:2d:65:c1 \
-p 5820:5800 \
-p 5920:5900 \
-p 52299:52199 \
-p 1901:1900/udp \
-v config:/config:rw \
-v /share/Multimedia/Music:/data/music:rw \
-v /external/DEV3601_2:/data/musichdd:rw \
-e VNC_PASSWORD=12345 \
shiomax/jrivermc26

This looks fine. Just make sure you only have line breaks directly after the \ and no spaces between \ and the line break.

Also according to what you just wrote your share is mounted to

Code: [Select]
/dev/sde2 on /share/external/DEV3601_2 type ufsd (rw,iocharset=utf8,dmask=0000,fmask=0111,force)

So "/share/external/DEV3601_2", but you put "/external/DEV3601_2" into your command.

The other thing is you should also put the config directory somewhere, where you can find it again. Currently, with that command it gets created whereever you are when you run the command. Or you remove that line (for testing you donīt need it). Itīs purpose is so that whatever you did in JRiver gets saved there and so if you use that same config directory for another container, it will remember your imports, playlists and so forth even through container re-creation. If you change the version of the container you want to re-use the same config directory. Or you start from scratch.

Id say for later. Make a directory somewhere, where you can find it again. For instance "<somewhere>/docker/jriver" in that folder create a file 'start.sh' and folder 'config'.

Put this into the 'start.sh' file
Code: [Select]
#!/usr/bin/env bash

# Remove container in case it currently exists
docker rm -f jrivermc26

# Start new container
docker run -d \
--name=jrivermc26 \
--net=bridge \
--restart=always \
--mac-address=ed:e8:60:2d:65:c1 \
-p 5801:5800 \
-p 5901:5900 \
-p 52200:52199 \
-p 1901:1900/udp \
-v <somewhere>/docker/jriver:/config:rw \
-v /share/Multimedia/Music:/data/music:rw \
-v /share/external/DEV3601_2:/data/musichdd:rw \
-e USER_ID=0 \
-e GROUP_ID=0 \
-e VNC_PASSWORD=12345 \
shiomax/jrivermc26

The left ports you adjust to whatever you need in case you need something other than the default ports. And you put the path in where the config directory is.

Then you save that as is. Run 'chmod +x start.sh' (only needed once) to make it executeable and then whenever you need to re-deploy or change something, you edit that file and run './start.sh' inside that folder. Should be a bit easier to manage in the long run than keeping track of this entier command whenever you need to do something to it.

Replace <somewhere> with some path that you can access from another PC so you can edit it without using the terminal from there. Im guessing that will be easier for you than using vim or nano to edit it.
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #129 on: April 04, 2021, 01:50:49 pm »

Thanks. Will check that.

BTW, any suggestions on how I can locate the path to my folder Media/Music? It's a mystery. How could it have changed places when I can see it exactly in the File Station.
Logged

HaWi

  • Citizen of the Universe
  • *****
  • Posts: 947
Re: Docker Image for MC27
« Reply #130 on: April 04, 2021, 02:37:48 pm »

I don't know about QNAP but on my Synology NAS all shared folder paths include the volume name in the beginning e.g. /volume1/music. Some file browser apps on various OS's possibly may or may not include that and display the path as /music/.
If you ssh into your NAS and change directories until you land in your music folder then the correct path will be right in the terminal prompt.
Logged
rPi5/8GB, Debian 12 Bookworm on SSD | JRMark (33.0.37 64 bit): 2784
MacBookPro (2013), 2.6 GHz Quad-Core Intel Core i7, MacOS 11.7.17 | JRMark (33.0.41 64 bit): 3826
Mac Studio M2 Max, 64GB, 1TB SSD, macOS Sequoia 15.1.1 | JRMark (33.0.41 64 bit): 9056
Docker Container (shiomax) DS1819+ | JRMark (33.0.37 64 bit): 1431
JRemote 3.43
MO 4Media 1.5.7 | Marantz SR7007 (RSL 5.1) HDMI to MacBookPro

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #131 on: April 04, 2021, 03:01:38 pm »

Thanks. Will check that.

BTW, any suggestions on how I can locate the path to my folder Media/Music? It's a mystery. How could it have changed places when I can see it exactly in the File Station.

Presumably, they want the UI to be easier and ommit stuff they donīt think is important for using the UI.

The path is (probably) '/share/Media/Music', since that seems to exist. Check that one. You also have a folder '/share/homes'. Presumably '/share/homes/<some_user>' might be a good directory to put the docker stuff into.

Bit hard to remote trouble shoot finding stuff on other peoples computers tbh... ^^
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #132 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: [Select]
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.
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
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72444
  • Where did I put my teeth?
Re: Docker Image for MC27
« Reply #133 on: April 05, 2021, 06:20:46 am »

Port 1900 is SSDP.  You could look it up on Google.
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #134 on: April 05, 2021, 09:43:11 am »

Port 1900 is SSDP.  You could look it up on Google.

Thanks Jim. Looked it up. Apparently any devices that use UPnP can latch onto this port of the router. Though I wonder how this never became a constraint earlier since I have many UPnP devices.

Best
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #135 on: April 05, 2021, 11:43:55 am »

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: [Select]
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.
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

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.
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #136 on: April 05, 2021, 02:00:35 pm »





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.

Dear Max, I have tried that. Getting two different types of error messages when I try port 1901 vs when I remove it.

Code: [Select]
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.
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. 

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.
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
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #137 on: April 05, 2021, 03:41:11 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

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.

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.

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.
Logged

NH

  • Recent member
  • *
  • Posts: 25
Re: Docker Image for MC27
« Reply #138 on: April 06, 2021, 12:27:51 pm »

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.

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.

Worked. None of the services is using 1900 or 1901.

Code: [Select]
 
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
 

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.

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
Logged

kdp

  • Member
  • *
  • Posts: 1
Re: Docker Image for MC27
« Reply #139 on: April 10, 2021, 11:32:32 am »

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 :-)
Logged

Irtelli

  • Recent member
  • *
  • Posts: 17
Re: Docker Image for MC27
« Reply #140 on: April 14, 2021, 09:38:27 am »

Hi there,
Being a massive noob, I've been struggling to get JRiver (shiomax/jrivermc27/latest) running through a Docker container on my Synology 920+ NAS. I've been directed here after starting a new post on the Linux forums.
1. I've got the container up and running but how do I get the web GUI to show?
2. It says you should use docker-compose. How do I get this to run? And isn't the container already mostly configured with the correct settings?
I've been trawling the forums here but feel that there's a lot of people that are an extra step ahead of any solution that would be useful at my stage of the learning curve.
Thanks in advance for your patience! :-)
Logged

Wheaten

  • Guest
Re: Docker Image for MC27
« Reply #141 on: April 14, 2021, 10:08:55 am »

When the docker is up and running there is a clickable link in the overview of dockers at your NAS.
It's your NAS IP and the port as configured in the settings. If you didn't change any ports the UI should be reachable via:
<ip-address>:5800
Logged

Afrosheen

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 313
Re: Docker Image for MC27
« Reply #142 on: April 14, 2021, 12:43:53 pm »

Hi, I just purchased a Master License, but when I input it for MC27 I get an error saying that I'm using a different license.  Is there a way to restore via the key instead? 
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7812
  • Autumn shade...
Re: Docker Image for MC27
« Reply #143 on: April 14, 2021, 12:54:35 pm »

It has to be running Media Center 27.0.79 or newer for it to work.
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

Afrosheen

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 313
Re: Docker Image for MC27
« Reply #144 on: April 14, 2021, 01:16:05 pm »

Perfect!! That worked!  Thanks!!
Logged

HaWi

  • Citizen of the Universe
  • *****
  • Posts: 947
Re: Docker Image for MC27
« Reply #145 on: April 24, 2021, 01:00:29 pm »

Is it me or is the .84 image for docker not published yet. When I recreate the container with Portainer pulling the latest image I still get the .79 image. Any insight is highly appreciated
Logged
rPi5/8GB, Debian 12 Bookworm on SSD | JRMark (33.0.37 64 bit): 2784
MacBookPro (2013), 2.6 GHz Quad-Core Intel Core i7, MacOS 11.7.17 | JRMark (33.0.41 64 bit): 3826
Mac Studio M2 Max, 64GB, 1TB SSD, macOS Sequoia 15.1.1 | JRMark (33.0.41 64 bit): 9056
Docker Container (shiomax) DS1819+ | JRMark (33.0.37 64 bit): 1431
JRemote 3.43
MO 4Media 1.5.7 | Marantz SR7007 (RSL 5.1) HDMI to MacBookPro

Jester_6k9

  • Member
  • *
  • Posts: 2
Re: Docker Image for MC27
« Reply #146 on: April 25, 2021, 11:37:17 pm »

Is it me or is the .84 image for docker not published yet. When I recreate the container with Portainer pulling the latest image I still get the .79 image. Any insight is highly appreciated
It's available for ~18h now:

Code: [Select]
~> docker pull shiomax/jrivermc27:latest
latest: Pulling from shiomax/jrivermc27
Digest: sha256:3d009098e3fc0b11bb5d15287d97b0b1077d74c0f87b9597488760e02f78d144
Status: Image is up to date for shiomax/jrivermc27:latest
docker.io/shiomax/jrivermc27:latest
Logged

HaWi

  • Citizen of the Universe
  • *****
  • Posts: 947
Re: Docker Image for MC27
« Reply #147 on: April 26, 2021, 10:17:47 am »

Yup, thanks, got it now.
Logged
rPi5/8GB, Debian 12 Bookworm on SSD | JRMark (33.0.37 64 bit): 2784
MacBookPro (2013), 2.6 GHz Quad-Core Intel Core i7, MacOS 11.7.17 | JRMark (33.0.41 64 bit): 3826
Mac Studio M2 Max, 64GB, 1TB SSD, macOS Sequoia 15.1.1 | JRMark (33.0.41 64 bit): 9056
Docker Container (shiomax) DS1819+ | JRMark (33.0.37 64 bit): 1431
JRemote 3.43
MO 4Media 1.5.7 | Marantz SR7007 (RSL 5.1) HDMI to MacBookPro

Dr_Hoon

  • Junior Woodchuck
  • **
  • Posts: 50
Re: Docker Image for MC27
« Reply #148 on: June 03, 2021, 05:38:31 pm »

The ARM version of MC27 on Docker Hub is no longer licensable, as it needs to be version 27.0.85 or higher for any new licenses to work. I'm hoping that someone may please be able to build the latest version for ARM? Thanks in advance!
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: Docker Image for MC27
« Reply #149 on: June 05, 2021, 12:38:14 pm »

The ARM version of MC27 on Docker Hub is no longer licensable, as it needs to be version 27.0.85 or higher for any new licenses to work. I'm hoping that someone may please be able to build the latest version for ARM? Thanks in advance!

You can easily build it locally on your raspberry. But I currently did not want to throw it into the 'official' repo (well the official repo of the community image I made let's say^^) as from my experience there is a lot of weird artifacting going on in the vnc client. It's useable but not amazing. But if you are only going to remote control it with JRemote like I do or don't mind it. It's basically fine.

1.)
Code: [Select]
git clone https://gitlab.com/shiomax/jrivermc-docker.git2.) Navigate into the folder and run
Code: [Select]
./build.sh 27-latest-debian-10-arm3.) You should now have an image locally with the name
Code: [Select]
shiomax/jrivermc27-testing:27-latest-debian-10-arm if I'm not mistaking otherwise list the images available using
Code: [Select]
docker image list and find the one.

Then you can use that just as you normally would with that name.
Logged
Pages: 1 2 [3] 4   Go Up