[HELP REQUEST] VNC docker with wine - blueiris


Recommended Posts

I still have the exact same problem. Wine64 won't run the 32-bit windows executable. I think there's no way around this other than to use the 32-bit wine. This is the file type I'm trying to run:

 

file blueiris.exe
blueiris.exe: PE32 executable (GUI) Intel 80386, for MS Windows

 

These file types run fine:

file notepad.exe
notepad.exe: PE32+ executable (GUI) x86-64, for MS Windows

Link to comment

I still have the exact same problem. Wine64 won't run the 32-bit windows executable. I think there's no way around this other than to use the 32-bit wine. This is the file type I'm trying to run:

 

file blueiris.exe
blueiris.exe: PE32 executable (GUI) Intel 80386, for MS Windows

 

These file types run fine:

file notepad.exe
notepad.exe: PE32+ executable (GUI) x86-64, for MS Windows

 

you can't run 32bit linux apps in dockers on unraid.

Link to comment

I tried this using the ubuntu:14.04 baseimage instead of phusion since that is what I was working on previously. I'll likely switch to phusion once (/if) I release the docker.

 

I compiled the wine32 executable using your same flags to ignore x and freetype and am still getting the same problem (bash: /usr/local/bin/wine: cannot execute binary file: Exec format error)

 

Were you able to get the 32-bit wine to run in phusion? I'm asking before I take another hour to rebuild.

 

you have to use the 64bit executable.

 

 

it's called wine64 and compiling this way allegedly allows the 64bit wine to run 32 bit apps.

 

whether that works within unraid is the big question.

I was going based on this. Trying to get wine64 to run the 32 bit windows executable.

Link to comment
  • 2 years later...
  • 5 months later...
27 minutes ago, rix said:

I have achieved "something", this runs a Windows Sync-client using wine (not wine64!):

 

https://hub.docker.com/r/rix1337/docker-jottacloud

 

just fork it and try to run your app...

 

Wow that worked great right off the bat. Have you put any thought into how to make this persistent? Mayble mapping the /root/prefix32/drive_c directory to the host would work?

Link to comment
On 11.2.2018 at 3:49 PM, Bungy said:

 

Wow that worked great right off the bat. Have you put any thought into how to make this persistent? Mayble mapping the /root/prefix32/drive_c directory to the host would work?

Sadly for me, any exe crashes upon trying to access a mapped volume. Desperately need a fix for this last issue, but even the official wine community has not been able to help.

Link to comment
  • 3 weeks later...

Think I'm going to have to follow this as I've been running blueiris for about 2 years now on a vm and I'm hating having to dedicate memory, cpu power, and space on a Windows install :(

 

I've never compiled any dockers but if I can help in anyway, let me know

Link to comment
  • 4 weeks later...

I agree. I hate having to devote those resources and manage VMs.

 

I just got a working version of blueiris with persistence working. I just published to dockerhub but I'm not ready to show it to the whole community until I've tested it for a few days. jshridha/blueiris

 

@bigjme Can you give it a shot and let me know how it works for you?

 

@rix Let me know if you're having persistence issues. I can look into it.

Edited by Bungy
Link to comment

@Bungy

Do you have a screen shot of your configuration to ensure I don't miss anything? 

 

I will give this a try when I get home, just want to make sure the paths for recording are passed through correctly

 

 

--Edit

 

Ok so i finally got round to testing this and its not working on my side i'm afraid. Attached is every config screen, the output of accessing the docker via port 8080, and by connecting using vnc. Ooo and this is the docker log if its useful

 

/usr/lib/python2.7/dist-packages/supervisor/options.py:297: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
'Supervisord is running as root and it is searching '
2018-04-03 21:00:55,006 CRIT Supervisor running as root (no user in config file)
2018-04-03 21:00:55,006 WARN Included extra file "/etc/supervisor/conf.d/supervisord.conf" during parsing
2018-04-03 21:00:55,015 INFO RPC interface 'supervisor' initialized
2018-04-03 21:00:55,015 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2018-04-03 21:00:55,015 INFO supervisord started with pid 1
2018-04-03 21:00:56,017 INFO spawned: 'x11vnc' with pid 9
2018-04-03 21:00:56,018 INFO spawned: 'X11' with pid 10
2018-04-03 21:00:56,020 INFO spawned: 'progman' with pid 11
2018-04-03 21:00:56,021 INFO spawned: 'x11vnc-loc' with pid 12
2018-04-03 21:00:56,023 INFO spawned: 'novnc' with pid 13
2018-04-03 21:00:57,051 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-04-03 21:00:57,052 INFO success: X11 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-04-03 21:00:57,052 INFO success: progman entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-04-03 21:00:57,052 INFO success: x11vnc-loc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-04-03 21:00:57,052 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-04-03 21:02:43,909 INFO exited: x11vnc-loc (exit status 0; expected)
2018-04-03 21:02:44,910 INFO spawned: 'x11vnc-loc' with pid 59
2018-04-03 21:02:45,921 INFO success: x11vnc-loc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-04-03 21:02:54,432 INFO exited: x11vnc-loc (exit status 0; expected)
2018-04-03 21:02:55,434 INFO spawned: 'x11vnc-loc' with pid 61
2018-04-03 21:02:56,447 INFO success: x11vnc-loc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-04-03 21:08:50,611 INFO exited: x11vnc (exit status 0; expected)
2018-04-03 21:08:51,614 INFO spawned: 'x11vnc' with pid 62
2018-04-03 21:08:52,624 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

 

Accessing via port 81 does nothing other than connection refused

 

Regards,

Jamie

1.PNG

2.PNG

3.PNG

4.PNG

5.PNG

6.PNG

7.PNG

 

 

-- Follow up number 2

 

So i found out my firewall was preventing the docker from downloading the blueiris exe file which would make sense why nothing worked. So i unblocked this and re-installed the docker from scratch while keeping an eye on network traffic

 

Having started the docker i have seen the blueiris installer download around 25 times now all fully downloaded to completion but nothing happens in the vm still. I've stopped the docker for now as it seems to have some sort of a problem with the downloads ( i can't see where these are downloading to within the docker files )

 

---- followup 3

OK so Ive had a quick look, now I don't know how to write a docker or anything else but as the blueiris file is downloading on repeat I think the issue is in the blueiris.sh file

 

My though is, your using wget to download the file, is it worth putting in full file paths to the installer? 

 

Right now it looks like it finished downloading, fails to install and therefore to run the program and just repeats the loop over and over

 

I do have the path passed through for persistence which makes me think this may be the issue

 

It's currently going via my normal user share so I may move the docker to store on a specific drive instead in case that's causing a problem

 

--- edit 4

 

So I set the docker to store on a specific disk in the array and had the same outcome, the installer downloads, and then a few seconds later another download launches

Edited by bigjme
Link to comment

The way it's supposed to work is if it sees that blueiris is already installed, it'll launch blueiris. If it sees that it's not installed, it downloads and starts the installer. I've only ever launched it using the command line such as below. After it downloads, it takes maybe 10 seconds to start the installer. I can fix how it's downloading multiple times, but the concern is that the installer never launches for you. This is what's causing the multiple downloads.

 

It looks like you have things set up properly. Try to remove the container and run the command below, which sets up the volume mapping to the cache drive. Then connect to port 8080 over http. The port 81 is to expose api access to blueiris, so you can leave that out unless you need it.

 

docker run -d --name blueiris -p 8080:8080 -p 8081:81 -v /mnt/cache/.blueiris:/root/prefix32 jshridha/blueiris

 

Link to comment

Ok so fresh install onto the docker set, i'm mapping this to a specific ip on the network so i stripped out all the port forwarding, this is the command unraid is running

 

docker run -d --name='blueiris' --net='br1.20' --ip='192.168.20.32' -e TZ="Europe/London" -e HOST_OS="unRAID" -v '/mnt/cache/blueiris':'/root/prefix32':'rw' 'jshridha/blueiris'

 

Now that should match your identically besides the extra bits unraid adds

 

Port 8080 loads as normal and vnc loads, but there is nothing on the display. I'm also seeing the blueiris installer downloading on repeat still as its not running

 

For testing purposes, is there any way to get an output from the wine command to echo into the docker log? Or even remove the suppression on the wine installer so we can see in novnc what is happening?

 

Regards,

Jamie

 

 

Edit

Right ok so i got this working by ssh'ing into it manually

 

So i ssh'd into the docker and fetched a copy of the bluriris installer using wget http://blueirissoftware.com/blueiris.exe into the /root/prefix32/drive_c folder

 

All of a sudden the novnc showed the following 2 messages, i clicked install on 1 and 2, then was shown 3. Ok so thats fine

So i manually just ran wine blueiris.exe

 

Followed the installer and it launched without an issue. So next things next, i'm going to delete the docker, re-install it, connect to it via ssh and novnc, and repeating the same again will install it

 

My thought is that the installer may be having trouble due to where its storing (in the docker file not in the user array)

 

One thing i would like to note, the novnc resolution is tiny so setup and usage may be an issue as everything only just fits

 

1.PNG

2.PNG

3.PNG

 

 

Edit 2

 

Ok, more bug checking

 

So i found that after a fresh install onto a disk array, the /root/prefix32 folder is not owned by root, see image 4.png4.PNG.9cca4b7c84292529e6a9ee6b5b70472a.PNG

 

So, i ran chown root:root prefix32, instantly the novnc started to show the above warnings as posted in 1.png and 2.png

 

So i restarted the docker, the installer started immediately however it does not self install. It stops on the screen 5.png

5.PNG.b333aa54ce0c9be42f69c3ab600c36b9.PNG

Doing the install by hand finished fine (although you have to tell it not to launch blue iris 4 from the tick box else it will try to launch it again)

 

I'm now trying the cameras for testing

 

 

Edit 3

Ok so all installed, camera added, and all working

 

I've had to make a few changes to use certain aspects of blue iris properly, run this from command line within the docker

winecfg -> This should open the ui -> Graphics -> Disable everything -> Apply

 

That's all fine and working. Its also recording perfectly fine with a single 3mp camera

 

Its a little glitchy, and i would love if blueiris launches in minimised after the install but it does run...

Edited by bigjme
Link to comment

Wow awesome write up. Thanks for taking the time to dig into it. I'll add a script to chown root:root at startup just to make sure perms are set right. I'm guessing that was the big problem. I didn't have to mess with winecfg at all to get it to work. It seems as though some of this may be system dependent. Can you verify which unraid version you're working on?

 

EDIT: Next step is for me to add a PID/GID variable similar to linuxserver.io's docker containers.

 

Can you elaborate on what wasn't working that caused you to need to run winecfg?

Edited by Bungy
Link to comment

So the part that wasn't working was the addition of a camera

 

The option  to close, minimise, and go full screen were all missing.

 

Removing those options added the options in so everything looked like normal. The main blue iris interface worked fine as the close options are rendered into the app

Link to comment

You may be able to using command line to edit the cfg file but I would need to dig through to find that

I did try to get blueiris tools to install so we could override the Web portal for one... A little nicer but i wasn't able to

 

It seems that it is unable to override the web files so I couldn't get that to work. It launches and runs fine though

 

I think the main things the docker needs are:

  • Potentially blueiris tools install fixing as a side thing as i would imagine a lot of people will use that
  • A higher resolution for the novnc display as the current one is tiny

 

Other than that it worked OK although it was a little resource heavy compared to my native install on server 2016.

 

One thing I did notice was that unless you enabled the blueiris option to allow it to minimise to tray (even without a password), clicking minimise would crash blue iris and you would have to reboot the docker or open task manager to kill blue iris

 

Setting it to create a tray option works without issues though so its just a few user tweaks more than anything

 

 

Edit

Ok digging is done, do the following to force disable the display options mentioned below

 

Put the attached reg file into the /root/prefix32 folder

Run this command: wine regedit /root/prefix32/wine_reg_overrides.reg

 

You can run this on boot if needed. In short it imports registries into wine that overrides the values that set those 2 visual fields to true.

 

If there is anything else you want to tweak, here is a link to useful registry entries :)

https://wiki.winehq.org/Useful_Registry_Keys

 

Ooo and some information for the regedit system

https://wiki.winehq.org/Regedit

 

Edit 2

Here you go, reg edit to set blueiris to automatically go to the system tray on minimize

 

Just like the other one, copy it to the folder and run this

wine regedit /root/prefix32/blueiris_reg_overrides.reg

 

wine_reg_overrides.reg

blueiris_reg_overrides.reg

Edited by bigjme
Link to comment
  • 3 months later...
  • 2 weeks later...
  • 1 month later...

Looks like someone posted about this docker recently..

 

 

I was able to install blueiris by following this, however, I don't have the unraid particulars set correctly because my settings don't persist a reboot. I'm also not entirely confident on the path mappings I created.

 

@bigjme Would you mind posting your path/port mappings? You also mentioned some registry edits in your previous posts...is this still needed?

 

Thanks for your help. Excited to get this off my VM.

 

  • Like 1
Link to comment
4 hours ago, surfshack66 said:

Looks like someone posted about this docker recently..

 

I was able to install blueiris by following this, however, I don't have the unraid particulars set correctly because my settings don't persist a reboot. I'm also not entirely confident on the path mappings I created.

 

@bigjme Would you mind posting your path/port mappings? You also mentioned some registry edits in your previous posts...is this still needed?

 

Thanks for your help. Excited to get this off my VM.

 

 

Attached are the docker settings i used

 

The registry edits do 2 things, i haven't used this in a while so i'm unsure if their still needed or not:

  1. Alter the appearance settings for Wine so the blueiris interfaces look correct. Without it, certain setting boxes didn't render properly (close, minimise, fullscreen)
  2. Tell blue iris to minimise to the system tray. I found that if you kept blue iris open or tried to minimise it then it would often crash by default as wine would get bogged down. This allows it to be minimised and re-opened without the crashes and stops the docker from rendering the video preview in the background

Its been a while since i went through any of this, i turned the docker off after posting the registry fixes as i wasn't sure how to automate them

 

I'm not sure exactly where wine keeps the windows registries stored in the system itself but i believe, as long as the c drive is mapped like in the above screen shot, it should persist everything even with updates

 

Jamie

1.PNG

2.PNG

Link to comment
On 9/25/2018 at 2:42 PM, Bungy said:

Interesting. If people are finding my docker semi-useful, I'll have to devote some time into making it work better and more seamlessly. I'll pick this project back up and continue developing on it. Pull requests are always welcome!

Yes! People (myself included) are definitely finding this docker useful. Let me know how I can help...even if its just testing..

Link to comment
  • 2 weeks later...
  • 2 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.