Page 1 of 1

Using VirtualBox to deploy/manage a Linux VM to users

PostPosted: 22. Jun 2021, 19:48
by noopykat
I work for a nonprofit and we hire students to do programming and web development as part of a Job Grant programme. There is no physical office and everyone works remotely therefore I have to work around the lack of a locally accessible server, everything we do is within Google Docs and we use Google Chat/Meet.

As the students get full time jobs, they aren't able to come back and we need to make sure we have access to all their work after they leave. What I have been working on as a pilot is a Linux VM with all the apps they would need for working and the intention is to have them install VirtualBox and download a prebuilt image to their computer, eliminating the issues with incompatible hardware/software and the need to install and configure multiple apps.

What I am trying to figure out is:

1) How can I update the image with new apps or updates to existing apps without the need to download and "personalize" their VM again.

2) Should I create a separate "Virtual" disk for each user outside the Linux VM to store their work files and how best to do this.

3) As some of the users run Windows hosts and in testing, we've run into issues with files placed in the "Shared Folder" and symlinks, what's the best way to move files between Host and Guest when necessary.

We are a very small nonprofit catering to the local seniors community and don't have a big budget for technology so I would love to find a way to do this using free open source software and without violating any licensing agreements, any advice is greatly appreciated.

Thanks in advance :)

Re: Using VirtualBox to deploy/manage a Linux VM to users

PostPosted: 22. Jun 2021, 23:27
by scottgus1
It is certainly possible to distribute pre-made VMs to your employees. However, VirtualBox does not contain the auto-update-the-VM or the access-employee-data parts. Virtualbox only provides the hardware that runs the VM. The rest must be done with 3rd-party services.

Auto-updating the VMs without requiring a new VM to be passed out, or having access to the VMs' employee data in the event an employee quits, will definitely require a central server and perhaps a VPN.

I don't know exactly how to do what you want, but I'm sure it's been done before. You're essentially setting up remote locations overseen by a (virtual?) central office. You might consider a cloud server rental company like Amazon, or maybe Google has a cloud server program, since you're already into Google's Apps. From that server you could pass out VMs, auto-update them, back up employee data and communication from the VMs, and authenticate users.