Over the years, I've deployed myriad servers and services onto local area networks for use at home, for businesses, for clients, and more. I've also had to install such software to either review or use on my home LAN.
Also: How to create a Linux virtual machine with VirtualBox
There are times when I'm too busy to install an operating system, install the service in question on the OS, and then configure the service to run properly. When I find myself in such a situation, I'll often turn to virtual appliances.
A virtual appliance is essentially an operating system pre-configured with certain server-based services included for a single purpose. For example, you might want to install the open-source cloud platform Nextcloud, but you don't want to first install an OS, then install the necessary dependencies, create a database, and then install the software.
Why do all of that when you can deploy a virtual appliance that already has Nextcloud installed? All you would have to do is install a simple-to-use app and launch the Nextcloud instance.
Virtual appliances really do make the process that easy.
This is pretty simple: A virtual machine is an operating system that's installed as a guest on a host running a virtual machine manager. WIth virtual machines, you create a host on the manager, connect a downloaded ISO to the guest, start the guest, install the operating system, reboot, login, and install the software that you need. A virtual appliance, on the other hand, skips most of that because everything is pre-installed for you.
Also: How to spin up a Linux virtual machine quickly with Boxes
The pros of using a virtual appliance over a virtual machine are:
The cons of using a virtual appliance are:
There are a couple of ways to deploy VirtualAppliances: via a virtual machine manager or the Multipass virtual machine manager. Once upon a time, it was easy to find virtual appliances for managers like VirtualBox, but those files are becoming sparse. The best way now is via the Multipass command line tool, which can be installed on Linux, MacOS (via Homebrew), and Windows (via Linux Subsystem for Windows).
Don't let the idea of a command line virtual machine manager keep you from using virtual appliances because they aren't that hard to use. Most virtual appliances can be deployed with a single command, so they are quick and easy.
To that end, you'll need Multipass installed. I'll show you how to install Multipass on an Ubuntu-based distribution (it can be installed on any distribution that supports Snap).
What you'll need: To get all of this up and running, you'll need an instance of Linux and a user with sudo privileges. I'll also offer the commands to install Multipass on MacOS. To install it on Windows, you need to install the Mulitpass installer.
First, open your default terminal window app.
On your Snap-based Linux distribution, issue the command:
sudo snap install multipass
If you're on a MacOS machine, you have to first install homebrew and then install Multiplass. The commands for installation are:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install --cask multipass
You can now deploy Nextcloud with the command:
multipass launch appliance:nextcloud
This can take some time because it has to download the appliance. Give it 2-10 minutes (depending on the speed of your network).
To find the IP address for the appliance, run the command:
multipass list
You should see Nextcloud listed with an IP address.
Open your web browser and point it to the IP address listed from the multipass list command. You should be greeted by a window requiring you to create an admin account for Nextcloud. Once you've done that, click "Finish setup." When the setup is complete, you can start using Nextcloud.
In less than 10 minutes, you can have Nextcloud up and running on your home network.
That's how easy it is to deploy a virtual machine. If you want to know what other appliances are available, you can issue themultipass findcommand to see a full list.