Instantbox: Spins up temporary Linux systems with webshell access from a browser
github.com
github.com
I don't mean to be negative about this project, but it feels worth a reminder of the risks that this kind of install mechanism present.
Whilst this is a common install mechanism, blindly piping shell scripts to bash from a remote source is really not a good idea, in general.
It's not even that easy to review to confirm what's happening as it first runs a shell script that runs a Docker compose script that then runs a Docker image which mounts the Docker Socket (effectively giving control over the host) into the container.
It would make a great teaching tool or even a great interview tool with a customized image. I see a lot of potential for this project!
It seems like it'd be pretty simple accomplish. You could continually pre-boot a number of Linux containers proportional to the amount of traffic you expect. When a user attempts to connect via SSH, just pop them into the next available instance, FIFO style.
Users could either log in as 'anon' with no password, or they could pick a username and then set up an account just by SCPing their public key, allowing them to persist their instance or save the state for later.
Come to think of it, I basically just described Google Cloud shell, which I really never use, but maybe a lite version with a very simple usage model would be more desirable. I know there's also Docker, but I think the appeal of this idea to me is that I don't need to use any of my local system resources, and I can log in instantly rather than waiting for a container to spin up.
And I can choose CPU cores, Memory and duration (default 24 hours). No surprises there.