Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

container management script for linux and windows #64

Open
stebo85 opened this issue Nov 15, 2021 · 20 comments
Open

container management script for linux and windows #64

stebo85 opened this issue Nov 15, 2021 · 20 comments
Assignees
Labels
easy help wanted Extra attention is needed

Comments

@stebo85
Copy link
Contributor

stebo85 commented Nov 15, 2021

would it make sense to build a little run-script for neurodesktop that

  • checks if a new container version is availabe,
  • checks permissions on consistent storage directory
  • starts neurodesktop with the right settings,
  • asks the user to stop or pause the container
@civier
Copy link
Contributor

civier commented Nov 16, 2021 via email

@thomshaw92
Copy link
Contributor

#67
@stebo85 Brainhack project for me :) Need to find someone with a Mac to help with their startup script.

@civier
Copy link
Contributor

civier commented Nov 23, 2021 via email

@thomshaw92
Copy link
Contributor

OK Windows is done - Linux should be easy (just need to make the script executable and run it - assuming most linux users will be familiar with command line anyway?)

Mac is a pain.... 3 options

  1. make a macOs app and distro on the app store (this is painful and requires a bit of work + $99 per year to host it on the app store.
  2. have a .command script that the user downloads and runs on terminal. This doesn't work out of the box as the script has to be made executable, which requires code and terminal
  3. have an app that is shared privately (needs the IDs of the computers shared with + $99 per year)
  4. create a workflow or app in "Automator" with the executable bash script as the action, and share this as a .dmg file that can be run. https://discussions.apple.com/thread/3033134 https://discussions.apple.com/thread/2339003

Going to go with number 4 and see how we go. @stebo85

@thomshaw92
Copy link
Contributor

@stebo85 do we have a Neurodesk icon that I can use as a package icon for an executable?

@civier
Copy link
Contributor

civier commented Dec 2, 2021

@PJLYONS (Paris Lyons) Do we have an icon-sized version of the Neurodesk logo?

@Paris-Lyons
Copy link

Thanks @aswinnarayanan! @civier if you need the logo in any other format just let me know!

@civier
Copy link
Contributor

civier commented Dec 2, 2021 via email

@stebo85
Copy link
Contributor Author

stebo85 commented Dec 15, 2021

work left:

  • automate building and updating of scripts & binaries and use github release to publish artifacts

@stebo85
Copy link
Contributor Author

stebo85 commented Mar 2, 2022

closing for now: the binaries now start the latest version of the desktop available. This helps us, because a rebuilding of the binaries with a current version would trigger virus scanners and trying to identify the current release needs an additional module for powershell that's not installed by default (webrequests (?))

@stebo85 stebo85 closed this as completed Mar 2, 2022
@stebo85 stebo85 moved this to Completed in NeuroDesk Oct 23, 2022
@thomshaw92
Copy link
Contributor

reopening

@civier
Copy link
Contributor

civier commented Nov 30, 2022

Hi @thomshaw92

I believe you reopened the issue because you'll work on it in the Hackathon.

I'd actually be interested that you check whether the Linux version of the starter app works well on the ARDC virtual desktop. Last time I tested it, it wasn't smooth.
I know that the ARDC virtual desktop already has a neurodesktop desktop, but sometimes people need to use the latest version of Neurodesktop and it is still not available in the ARDC virtual desktop. In this case, they can just run the Neurodesktop docker inside a basic Linux ARDC virtual desktop. This can also help in cases when the built-in Neurodesktop behaves differently than the docker version.

A major problem however with running the Neurodesktop docker within an ARDC virtual desktop is the copy and paste. I didn't manage to fix it so one can copy from the host computer and into the Neurodesktop docker that is running within the ARDC virtual desktop. If somebody in the brainhack wants to look into this, would be super!

Let me know if I'm unclear and good luck!
Oren

@thomshaw92
Copy link
Contributor

Will look into it too @civier ! :D

@stebo85
Copy link
Contributor Author

stebo85 commented Nov 30, 2022

@civier - restarting the nectar desktop should update the neurodesktop version - have you tried that :?

@stebo85 stebo85 reopened this Nov 30, 2022
Repository owner moved this from Completed to New in NeuroDesk Nov 30, 2022
@civier
Copy link
Contributor

civier commented Nov 30, 2022

@civier - restarting the nectar desktop should update the neurodesktop version - have you tried that :?

I don't recommend it to people because I don't know how to check what is the Neurodesktop docker version that the current ARDC VDS Neurodesktop desktop is based on. Is is recorded anywhere online? Or, who should I ask?

@stebo85
Copy link
Contributor Author

stebo85 commented Nov 30, 2022

Dear @civier

Nectar doesn't run the docker container - they run neurocommand natively inside a vm. When starting up the vm the latest version will automatically be loaded. However, you should also be able to update the container versions manually.

Running docker inside this vm and running guacamole inside guacamole what you are proposing is not a good idea.

@civier
Copy link
Contributor

civier commented Nov 30, 2022

Thanks Steffen. I know that the ARDC virtual desktop doesn't run the docker version, but I wasn't aware it's loading the latest version of neurocommand.

By "loading", do you mean that the ARDC virtual desktop clones and builds the latest version of neurocommand every time it starts?
https://www.neurodesk.org/docs/neurocommand/getting-started/linux/

And what about the tools / settings of neurodesktop that are in the latest neurodesktop docker recipe? How do I know if they are already available in the ARDC VDS Neurodesktop desktop?

Best,
Oren

@aswinnarayanan
Copy link
Contributor

aswinnarayanan commented Nov 30, 2022

@stebo85 I think @civier is correct
The VDS desktops pull the latest neurocommand when the VDS image gets build so it might not be latest build of neurocommand (so far its been updated every couple of months)

Any user who needs the latest neurocommand can go in pull the latest version by updating /neurocommand using these steps https://www.neurodesk.org/docs/neurocommand/getting-started/linux/

I'd actually be interested that you check whether the Linux version of the starter app works well on the ARDC virtual desktop. Last time I tested it, it wasn't smooth.
I know that the ARDC virtual desktop already has a neurodesktop desktop, but sometimes people need to use the latest version of Neurodesktop and it is still not available in the ARDC virtual desktop.

@civier, this is managed by the nectar build and not the linux start script, so we can't fix it from there, it'll be something incorporated into the nectar recipe that ARDC manages. This raises a good qn...

We need to hit a fine balance between updates and breaking existing work.

neurocommand has two main components

  1. neurocommand build/installer code
  2. application list contained in apps.json

It seems to me that apps.json needs to be most up to date across all clients as they need access to latest container list.

One suggestion is we move apps.json into its own location as the central "source of truth" for application listing. And have all neurodesk clients (neurocommand, neurodesktops, VDS, jupyters) retrieve apps.json when loading up etc

cvmfs requires a network connection anyways, the machine would be expected to have access to apps.json
And for non-cvmfs installs, we cache a local apps.json

I think this would also simplify the CI on neurocommand

@stebo85
Copy link
Contributor Author

stebo85 commented Dec 1, 2022

Ahh - we discussed a while ago that we wanted to always update to the latest version when the VDS desktop starts - so this wasn't incorporated?

Yes, moving apps.json to cvmfs could be a solution. Another idea: would it make sense to always update when the desktop starts - similar to what we do in the jupyter instances? And in addition, adding a little shortcut to update a running desktop?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
easy help wanted Extra attention is needed
Projects
Archived in project
Development

No branches or pull requests

5 participants