coppit / docker-xeoma

A docker container for Xeoma surveillance software
GNU General Public License v2.0
16 stars 18 forks source link

Add ability to specify a version to install/run #1

Closed skylord123 closed 7 years ago

skylord123 commented 7 years ago

Would be awesome to specify what version of Xeoma to run then download that version (instead of latest).

I ran into this issue because one of their recent releases has bugs in it. Would like to downgrade for now until they are resolved. Adding the ability to specify a version would help with this as well as for users that have to use an older version cause their key has expired.

skylord123 commented 7 years ago

You can get old versions here: http://felenasoft.com/xeoma/en/changes/

Example download URL: http://felenasoft.com/xeoma/downloads/xeoma_previous_versions/?get=xeoma_linux64_16.12.26.tgz&x=66&y=12

coppit commented 7 years ago

Thanks for your follow-up. I was about to ask about how to get the old versions. :) I'll see what I can do to add this feature. I'll have to install Xeoma on the fly, rather than baking it into the image, but maybe that's actually better, since I wouldn't have to release a new version of the container every time a new version is released. e.g. I could default the version to "latest", and auto-upgrade Xeoma.

skylord123 commented 7 years ago

By installing Xeoma on the fly do you mean by copying the xeoma.app over to the container (still getting used to docker lingo)? I just got an email from felenasoft giving me a URL to a pre-beta image that may fix the archive issue I was experiencing in 17.5.5. They would like me to test it but I have no clue how to get this to install in this container: http://felenasoft.ru/shared/modules/xeoma_beta/2017-06-14/xeoma-linux64-23327.tgz (since this is pre-beta it's using a different URL then older versions).

I moved from Ubuntu to Unraid over the weekend. Before the switch would upgrade by using the prompts inside Xeoma and downgrade by replacing /root/bin/Xeoma/xeoma.app. Over the weekend I made a fork of this repository and just modified the download URL to download version 16 instead of 17. This works but is a terrible workaround hah.

Maybe make a config file that you can specify your version you want to run. If the version is latest, download latest. If it's a version download that version. If it is a URL then download the given URL. (still getting used to dockers so I don't know if you will do it using a config file, env variable, or some other method).

Could even make it so when the container gets started and a xeoma.tgz exists in the config directory then install that .tgz and either delete or rename the tgz file so it doesn't get processed again (just sort of spitballing ideas to solve the above issue despite my lack of knowledge on containers).

coppit commented 7 years ago

These are all excellent ideas! I'll see about implementing them soon.

Your forked container is the best WAR for now. There are ways to do things in the container, but they're more trouble.

coppit commented 7 years ago

Xeoma auto-updates itself, and they told me that there was no way to prevent that. I don't suppose that came up when you were discussing downgrading with them, did it? Downgrading would only work until Xeoma decides to do a self-update...

skylord123 commented 7 years ago

It doesn't auto update for me. I always get a dialog that comes up asking if I want to update or not. I have actually been able to use the 17.5.5 client with the latest version of 16 by just clicking "Ignore and connect anyways".

What type of Xeoma license do you have? I am using standard x8 cameras. I could see them making you have the latest version if you are using lite. But if you are using standard or pro then that is strange.

coppit commented 7 years ago

Hm... I think that message was about the client needing an update. Here's what they said:

I asked> is there a way to disable to auto-update check from the command line when starting the server?

They replied> Unfortunately, for now you can disable this only via the interface (by connecting to the server remotely): Main menu –> Information –> Check for updates and UNCHECK the box Automatically check for updates.

So I guess that as long as you don't restart the server (or disable the auto-update in the GUI), you should be fine. I've updated the README.

coppit commented 7 years ago

Okay, I just pushed a new version that replaces USE_BETA with VERSION. Version can be like "16.12.26" or "latest" or a URL. If it's "latest", then the container will detect new versions and auto-update itself.

Closing this. Let me know if you have any issues with it.

skylord123 commented 7 years ago

I believe they think you were talking about the auto update dialog that shows up whenever you connect to a server running a different version or if there is a new server version.

The update dialog that displays in the client is for updating the server and client (as long as your user has the settings privledge I believe otherwise they can only update client). I've updated the Xeoma server from my phone several times. It will download and the server will become unavailable then when it comes up again my client will try to connect and it will then have me update my client to match the server.

I always get the update dialog showing I just always hit ignore and connect anyways (if I am trying to stay on my current version).

Thanks for getting these updates. I will try them out here in a bit :)