Some time ago, I wanted to run a virtual web server on a machine with not enough storage to hold another complete OS.
I decided to aim at the smallest possible Linux distribution, and I found MicroCore, a ~8MB system at the base of TinyCore. Beautiful! I created a starting environment following this guide, and then installed NodeJS.
There are pros and cons in using this solution:
Pros:
- ~29MB VM image size
- Boots in a few of seconds
- Can create many VMs in the same machine before running out of memory
- It runs in memory, so if you break something just reboot to revert to the last state (see cons)
- CLI only
Cons:
- It runs in memory, so a script must be run to persist the changes to the storage (see pros, if you haven't already done it!)
- Not recommended for beginners
I wonder how would it perform if mounted on the instances of a distributed system!
Here you can download the .ova file:
I'm not sure if stuff like this requires a license, in any case I wrote a bunch of files including a README and a cron file. In doubt, they are released under the WTFPL.
Hopefully it can be used for something good!