As is relatively unfashionable these days I decided to stand up a little box on my own network to tinker with. I figure I can use it to run a few different things, spin up new VMs to learn, tear them down when I need to.
For the hypervisor I went with KVM. You, dear reader, might be asking yourself “Why”? Well, first I’m a cheapskate and didn’t want to pony up for any sort of hypervisor solution. Second, I figured it was probably the better choice in the war between XEN vs. KVM, at least to try for now.
Now, you can run KVM more or less bare are get away with it, but I wanted a way that I could easily manage VMs. Enter Kimchi, which is an HTML5-based management tool for KVM.
Mise en Place
So from my system’s trusty command line, I did the old two-step shuffle of taking an Ubuntu 17.10 instance and updating it.
sudo apt update
sudo apt full-upgrade -y
Once we’re up to date, it’s time to look into To get a hold of Kimchi and Wok, we run the following commands to get their deb files.
Also, we need to get a hold of Gingerbase, which is made by the same people who do Wok and allows for some basic remote host management (Patching, etc.).
Now, you *can* get a hold of Ginger (Which adds more management capabilities) if you want, but you don’t have to and I’m not going to blame you if you don’t.
Something very handy about apt (And something not a lot of people realize) is that it can be used to resolve dependencies of deb files pulled down from elsewhere- assuming of course your repos have the dependencies. Anyway, instead of using dpkg, then forcing apt to fix broken across all of these, there is a simpler way to go through installing these. So let’s dive in.
Installing Wok is dirt simple. Because of some issues with nginx and Wok initially firing off with the install, I’m going to recommend the following:
sudo apt install nginx -y
sudo apt install ./wok-2.5.0-0.noarch.deb -y
Once it’s installed (Dependencies and all), go ahead and start the service.
sudo service wokd start
Next up, Gingerbase. Gingerbase is required for Kimchi, but thankfully installation couldn’t be easier.
sudo apt-get install ./ginger-base.noarch.deb -y
Once that’s installed, go ahead and reboot. We’ve probably caught kernel updates etc. from doing an update and full-upgrade previously, so now’s as good a time as any.
sudo shutdown -r now
Kimchi, it’s the main course
Your box back up? Good. Now let’s pile on Kimchi. Go ahead and run the following.
sudo apt install ./kimchi-2.5.0-0.noarch.deb -y
sudo service wokd restart
After this finishes up, we need to add a firewall rule to Ubuntu’s firewall setup as otherwise nothing’s getting out.
sudo ufw allow 8001/tcp
After everything is said and done you should be able to access your instance by going to https://INSTANCE_IP_HERE:8001/
If it looks like this, you are probably good to go!
Topping it off with ginger
So if you want to extend the features of Gingerbase and add the capability to start/stop services via Wok (Among other things), you can install ginger. Just go through the same process we did before.
sudo apt install ./ginger.noarch.deb -y
sudo service wokd restart
If it complains about the wokd service having changed, do the following-
Then restart the service.
Afterward you get a whole mess of features that you may or may not need, but I leave that for you to decide.