INTERACT FORUM

Please login or register.

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

Author Topic: JRiver MC25 Docker Image with WebUI as VNC  (Read 13282 times)

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13864
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #50 on: August 01, 2019, 10:08:49 am »

I'm not sure I'm totally following this but in general you don't want to alter anything in the home directory at all between container runs.
Also, if there are window size/position issues, we just added an option to the Tree and View settings to reset all of window size/position settings to default upon the next run.
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #51 on: August 02, 2019, 03:24:05 am »

I'm not sure I'm totally following this but in general you don't want to alter anything in the home directory at all between container runs.
Also, if there are window size/position issues, we just added an option to the Tree and View settings to reset all of window size/position settings to default upon the next run.

Yes, but shortie had a home directory that somehow made problems and I wanted to know if this is still the case (appearently he fixed it by making a new one). If thats still the case having the folder would make potential fixes testable. Although, seems like no one else really had that problem yet. Its quite possible its already not a problem (since 15th last months more precisely), But since I never figured out how to reproduce it, I dont know.

Thanks for the extra setting, could be useful.
However, since shortie had a problem of the about window popping up behind jriver. Depending on how it where to break you may not be able to get to the settings.
Can you add that option as a startup option "mediacenter25 /resetgui" or something like that? Then I could be adding an environment variable (or similarly) for that to start it with that option, that you can enable to recover from broken ui states.
Logged

balky

  • Junior Woodchuck
  • **
  • Posts: 87
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #52 on: August 02, 2019, 07:22:39 am »

No matter what I do, I can't seem to fix network problems when trying to run this docker image on OpenMediaVault 4.

I need to set the version to 2 in the .yml file, otherwise docker compose won't work, and when it does works, all ports are listening on 0.0.0.0

Has anyone been able to get this to run on any version of OpenMediaVault?

Thanks
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #53 on: August 02, 2019, 09:05:24 am »

No matter what I do, I can't seem to fix network problems when trying to run this docker image on OpenMediaVault 4.

I need to set the version to 2 in the .yml file, otherwise docker compose won't work, and when it does works, all ports are listening on 0.0.0.0

Has anyone been able to get this to run on any version of OpenMediaVault?

Thanks

What does docker inspect have to say about the network configuration of the container you made with v2 and v3?

Either way if v2 works fine. It is perfectly fine to run that since the version in the compose file refers to the version of the configuration file standard. It has no affect on what docker, or docker-compose version you are using. There are newer docker-compose.yml versions, but those are more targeted towards docker-swarm.

Have you tried host networking? That does work? Bridge networking is not really working on my centos ovirt NAS either, because of the firewall rules and networks ovirt setup. But host networking works and bridge networking works in VMs ovirt can host. So it may be the same thing for your openmediavault.

(EDIT: Got this part wrong at first. Now its right. The part where it sais "HostIp" made me check that again. Since that would not really make much sence otherwise, for what I initially believed it to be. Either way, I never needed to specify an IP there.)
When you run docker inspect this is kinda what´s expected when using bridge networking. I mapped the two VNC port(s) to different ports on the host. The 0.0.0.0 part is the host. You (or I) didn´t specify any IP, the 0.0.0.0 means as far as docker is concerned any host IP is valid.
You can specify an IP if you need one. Such as 192.168.1.2:5800:5800 witch would mean it´s only reachable at 192.168.1.2. Meaning if you put an IP there and run a container locally 127.0.0.1:5800 will not work. Accessing 192.168.1.2:5800 would work. With 0.0.0.0 both work. If you have multiple networks, you can restrict what networks have access to it in that way.

Code: [Select]
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "b9018903c4afaf3f46ce32a6881a321a4789b51620074cbb5627a1c142612c7b",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "1900/udp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "1900"
                    }
                ],
                "52100/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "52100"
                    }
                ],
                "52101/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "52101"
                    }
                ],
                "52199/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "52199"
                    }
                ],
                "5800/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "5810"
                    }
                ],
                "5900/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "5911"
                    }
                ]
            }
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13864
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #54 on: August 02, 2019, 09:42:50 am »

Yes, but shortie had a home directory that somehow made problems and I wanted to know if this is still the case (appearently he fixed it by making a new one). If thats still the case having the folder would make potential fixes testable. Although, seems like no one else really had that problem yet. Its quite possible its already not a problem (since 15th last months more precisely), But since I never figured out how to reproduce it, I dont know.

Thanks for the extra setting, could be useful.
However, since shortie had a problem of the about window popping up behind jriver. Depending on how it where to break you may not be able to get to the settings.
Can you add that option as a startup option "mediacenter25 /resetgui" or something like that? Then I could be adding an environment variable (or similarly) for that to start it with that option, that you can enable to recover from broken ui states.
MC child windows shouldn't popup behind the main MC window. We never specify underneath stacking and we don't alter the stacking order. You can get a window to go behind by clicking on the main window while the popup is showing IF there is a window manager since that's out of the control of MC. We've done some preliminary work to restack in that case but it's not as simple as it seems since many windows in MC are a collection of windows.
When there is a window manager ALT-Tab generally cycles through the windows. When we had a QNAP version, their window manager forced every open window to fullscreen so that it was impossible to restack the windows by accident.
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #55 on: August 02, 2019, 10:32:02 am »

MC child windows shouldn't popup behind the main MC window. We never specify underneath stacking and we don't alter the stacking order. You can get a window to go behind by clicking on the main window while the popup is showing IF there is a window manager since that's out of the control of MC. We've done some preliminary work to restack in that case but it's not as simple as it seems since many windows in MC are a collection of windows.
When there is a window manager ALT-Tab generally cycles through the windows. When we had a QNAP version, their window manager forced every open window to fullscreen so that it was impossible to restack the windows by accident.

shortie ended up with a container where the about window popped up behind. Witch should not happen (although Im not saying its necessarily your fault). Even in that version it worked for me. He replaced the home folder and it worked again.

Since it only ever runs one application. The way I did make this work is to write a service script that reads out all the xorg changes. Whenever the window changes it makes the last windows in existence active and thus it will be focused and on top. That didnt really quite fully work back when shortie had this happen though.

If you see any potential problem with that you can tell me. But I believe since there is only one application you really should never get into a situation where the last window you opened isnt the one you want/need to interact with. Clicking JRiver should result in jriver being active for a split second then the other one being set active by the script and it comes back.

There is an option to start windows in fullscreen in openbox too. Works for everything, but the main window (you can still make them smaller though). Maybe its also able to make them stay fullscreen. But I didnt really like the looks of it.

The current script works very well now, though. Or at least nobody has told me to have any problems with it since that one time. It still would be nice to have a plan B should it fail. Right now plan B is to make a library backup, tear down everything. And then restore the library backup. If you could do "docker exec my-jriver-container resetgui" that would be ideal I think. Now I´m not sure if it fixes it. But chances are good that it would. ^^
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13864
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #56 on: August 02, 2019, 11:10:19 am »

shortie ended up with a container where the about window popped up behind. Witch should not happen (although Im not saying its necessarily your fault). Even in that version it worked for me. He replaced the home folder and it worked again.

Since it only ever runs one application. The way I did make this work is to write a service script that reads out all the xorg changes. Whenever the window changes it makes the last windows in existence active and thus it will be focused and on top. That didnt really quite fully work back when shortie had this happen though.

If you see any potential problem with that you can tell me. But I believe since there is only one application you really should never get into a situation where the last window you opened isnt the one you want/need to interact with. Clicking JRiver should result in jriver being active for a split second then the other one being set active by the script and it comes back.

There is an option to start windows in fullscreen in openbox too. Works for everything, but the main window (you can still make them smaller though). Maybe its also able to make them stay fullscreen. But I didnt really like the looks of it.

The current script works very well now, though. Or at least nobody has told me to have any problems with it since that one time. It still would be nice to have a plan B should it fail. Right now plan B is to make a library backup, tear down everything. And then restore the library backup. If you could do "docker exec my-jriver-container resetgui" that would be ideal I think. Now I´m not sure if it fixes it. But chances are good that it would. ^^

Glad to hear you have it working well.
The issues I had with restacking the windows concerned a fight with other apps IIRC so I think that won't apply to you. The other thing to watch for is the windows within the window thing. Suggestion tool tips and the like. You can see with xprop that all of MC's windows have class and class names that make sense if that helps.
Logged

balky

  • Junior Woodchuck
  • **
  • Posts: 87
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #57 on: August 02, 2019, 02:32:03 pm »

What does docker inspect have to say about the network configuration of the container you made with v2 and v3?

Either way if v2 works fine. It is perfectly fine to run that since the version in the compose file refers to the version of the configuration file standard. It has no affect on what docker, or docker-compose version you are using. There are newer docker-compose.yml versions, but those are more targeted towards docker-swarm.

Have you tried host networking? That does work? Bridge networking is not really working on my centos ovirt NAS either, because of the firewall rules and networks ovirt setup. But host networking works and bridge networking works in VMs ovirt can host. So it may be the same thing for your openmediavault.
.
.
.

Thanks a lot for the comments...

I decided to go for a "near bare-bone" setup... i.e. I removed OpenMediaVault, reinstalled Debian minimal with only SSH server, then installed ZFS, samba, docker and docker-compose
That was it... I created docker-compose.yml for host, pulled the jrivermc25 image and that was all...

I am sincerely overjoyed... no more X11, no more desktop... all was done within 45 minutes and I have a running DLNA server...

Many thanks to all those who keep JRiver alive and on the bleeding edge...
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #58 on: August 02, 2019, 05:38:54 pm »

Thanks a lot for the comments...

I decided to go for a "near bare-bone" setup... i.e. I removed OpenMediaVault, reinstalled Debian minimal with only SSH server, then installed ZFS, samba, docker and docker-compose
That was it... I created docker-compose.yml for host, pulled the jrivermc25 image and that was all...

I am sincerely overjoyed... no more X11, no more desktop... all was done within 45 minutes and I have a running DLNA server...

Many thanks to all those who keep JRiver alive and on the bleeding edge...

A bit drastic actions..., but great that it works now!  :)
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #59 on: August 02, 2019, 06:02:01 pm »

I also built a jrivermc24 image now. Not sure if anybody asked for that...  ?

I didn't ask for it either. But I was trying to make the entire build process a bit more modular (not quite there yet. 24 worked right off the bat without a single change required to the image. None of this changed the resulting container other than what JRiver version was installed and what docker repo it was pushed to.

23 didn't work, not gonna try to get that to work. Would not have tried for 24 either tbh. But since it just worked with no effort, there it is.

https://hub.docker.com/r/shiomax/jrivermc24
Logged

balky

  • Junior Woodchuck
  • **
  • Posts: 87
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #60 on: August 03, 2019, 02:57:21 am »

A bit drastic actions..., but great that it works now!  :)

Yes, quite drastic, and I fully agree... I'm at the point where after 10+ years constantly installing / uninstalling / reinstalling, it has become kind of effortless to throw anything that doesn't work as expected out the window...  :)

In the 10+ years, only JRiver (for audio only) survived the constant cleanup / replace process...

The only thing left (for me) now is to have a docker image that will allow JRiver to be set as a DLNA renderer only.
The docker image only needs to be able to use the audio card. I will be all set with JRiver forever if this would be possible.

Logged

shortie

  • Regular Member
  • Junior Woodchuck
  • **
  • Posts: 70
  • reachin' up to touch bottom
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #61 on: August 04, 2019, 12:19:21 pm »

Do you still have that directory that bailed? If so Im curious if the current container would fix that. Any of them. I think with the current container even if a window where to pop up behind something it should be pulled in front right after the window changed.

Otherwise, could you send me said directory confidentially? Just send me a private message then, not a good idea to post folders that potentially contain license information on a public forum.
Well, I was just gonna try with your newest image and find that the trial expired on that directory. I guess I could license it. Thoughts?
Logged
Shortie

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #62 on: August 04, 2019, 05:03:52 pm »

Well, I was just gonna try with your newest image and find that the trial expired on that directory. I guess I could license it. Thoughts?

Have you maybe put the directory on another PC? I'm not sure if the license does stay active then. Never tried that. But otherwise it should stay active when up or downgrading the container. I've done that multiple times on the two installs of that container I have now (that are activated).
Just tried that. The license expires when you put the folder on another PC you'll have to re-enter your license.
Now it does not stay activated on that install where I got the folder from anymore either. I'm not sure yet. Maybe it solves itself. It does not even work on the older container versions where it most definitely worked before. Maybe it solves itself. Otherwise I'll have to look into it.

I also did just rebuild a new container witch would contain all the newest debian updates and all the packages (besides jriver) that's not it either.

And it does not seem to work on jatzoo's image either.
Both (seem) to activate until you shut down the container, then you are back to the trial license.
This is new, I'm not sure what's going on quite yet.

But more importantly. Did it updating that fix the gui? xD
Logged

shortie

  • Regular Member
  • Junior Woodchuck
  • **
  • Posts: 70
  • reachin' up to touch bottom
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #63 on: August 05, 2019, 09:54:49 am »

Did it updating that fix the gui? xD
i haven’t been able to check that yet. Guess I’ll have to install a license but may not be able to get to it until the weekend. I’ll report back when I have a chance to try it.
Logged
Shortie

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #64 on: August 05, 2019, 04:13:12 pm »

I found out why the activation is not persisting. This isn't because the container is recreated, but because when you have a container with the default bridge networking and you recreate the container it will also create a new network. When you create a new network your license will be gone.

Since on my main install I'm using host networking the license persisted when upgrading. (With host networking you use.. well your hosts network, so you never end up creating and removing virtual docker networks).

I'll be updating the readme with those new findings. On my main install I actually use host networking. Hence it always worked. And I didn't feel like messing with it, I usually mess with other installs that are usually not around for long enough to bother activating them.

The only downside of host networking is that you cannot remap ports. And it also is not automatically accessible from the outside (as it is usually the case with bridge networking). You will end up having to configure either firewalld, ufw or just straight iptables. Depending on your distro or preference.

There should be workarounds for this with bridge networking too. At this current time I don't know of any (gotta try that too). R.I.P. my restore keys (not yet, but I've already gone threw 10 or so). But I'm sure there are ways to re-use a network (but not sure how convenient that is to administer without extra tooling). And there may be ways to specify the network in the command and in the compose file in a way that it will recreate a similar enough network for jriver to not throw away your license on re-creation (witch would include every single up and downgrade).

---

I also added a little bit of a firewall configuration section into the readme for ufw and firewalld. Depending on what you are using. Since that would be needed when using host networking. Unless you just don't run any firewall at all.
Funny how <?xml version="1.0" encoding="utf-8"?> breaks markdown on dockerhub, without escaping it and all the rest that looks like html. -.-
Logged

shortie

  • Regular Member
  • Junior Woodchuck
  • **
  • Posts: 70
  • reachin' up to touch bottom
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #65 on: August 05, 2019, 10:49:58 pm »

Hmmm...i already have a service running on port 5900 and can’t change it easily so i guess, given everything, MC won’t be in production for me for a while. Wait, what about changing the container’s VNC port or making it a parameter? The other ports are peculiar to MC so they shouldn’t collide with anything else, right?

I still think, though, that JRiver should distribute an official container...but not at the expense of continued Linux development :)
Logged
Shortie

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #66 on: August 06, 2019, 01:40:58 pm »

Hmmm...i already have a service running on port 5900 and can’t change it easily so i guess, given everything, MC won’t be in production for me for a while. Wait, what about changing the container’s VNC port or making it a parameter? The other ports are peculiar to MC so they shouldn’t collide with anything else, right?

I still think, though, that JRiver should distribute an official container...but not at the expense of continued Linux development :)

Turns out all that needs to be changed for bridge networking is specify a mac-address in the compose file or docker run command.

Code: [Select]
version: '3'
services:
  jrivermc25:
    image: shiomax/jrivermc25
    restart: always
    container_name: jrivermc25
    mac_address: ed:e8:60:2d:65:c1
    ports:
      - "5800:5800"
      - "5900:5900"
      - "52100:52100"
      - "52101:52101"
      - "52199:52199"
      - "1900:1900/udp"
    environment:
      - VNC_PASSWORD=12345
    volumes:
        - /path/to/config:/config:rw
        - /path/to/music:/data/music:rw

Code: [Select]
docker run -d \
    --name=jrivermc25 \
    --net=bridge \
    --restart=always \
    --mac-address=ed:e8:60:2d:65:c1 \
    -p 5800:5800 \
    -p 5900:5900 \
    -p 52199:52199 \
    -p 52101:52101 \
    -p 52100:52100 \
    -p 1900:1900/udp \
    -v config:/config:rw \
    -v /path/to/music:/data/music:rw \
    -e VNC_PASSWORD=12345 \
    shiomax/jrivermc25

As long as your mac address does not change your license does not expire and require re-activation. But keep in mind bad things might happen if you have two machines on the same network with the same mac addresses. So if you are having more than one container. Use different mac addresses. You can find plenty of mac address generators online.

Thanks for the help @bob! ;D I would have tried to keep the entire virtual network alive. This makes it much easier.
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363
Re: JRiver MC25 Docker Image with WebUI as VNC
« Reply #67 on: August 12, 2019, 04:32:30 pm »

Updated the image a bit

Version 2 Changelog
  • xpropspy now uses sh instead of bash (microoptimization sh is faster, but can do less)
  • ascii art on startup and environment variable ENABLE_SIGNATURE (1 by default)
  • specifying debian-9-v3.5.2 instead of latest, witch is currently equivalent (to avoid breaking the image on automated builds)
  • removed layer below for main jriver window from rc.xml as no longer needed (also seems to have fixed some ui gliches in the integrated webgui. The one inside jriver, for cloudplay and so forth.)
  • added option MAXIMIZE_POPUPS to maximize every window that has the name "JRiver Popup Class" (0 by default)
Logged
Pages: 1 [2]   Go Up