Summary

  • SPICE offers superior display quality and features but requires setup on the client machine.
  • Ansible automates VM deployment using YAML scripts and is suitable for Proxmox clusters.
  • Docker enables container creation, and Portainer offers an extensive container management UI.

On its own, Proxmox has enough features to satisfy even the most hardcore home lab enthusiasts. But its utility goes up by a whole notch once you factor in the massive set of apps you can use in tandem with Proxmox. Better yet, many of these tools have FOSS origins, making them perfect for DIY tinkerers who value privacy over all else. So, here’s a list of all the cool and unique tools, apps, and services that can make your Proxmox experience even better.

👁 Running pfSense inside Proxmox
4 services you can host on Proxmox to secure your home network

Safeguard your local network and all the devices in your computing setup by self-hosting these useful services on Proxmox

6 SPICE

A highly useful remote display protocol

When you’re a newcomer to Proxmox, you’d probably use noVNC to access the GUI elements of your virtual guests – and there’s nothing wrong with that. Since it’s built into the Proxmox web UI, noVNC provides a quick and easy means to experiment with virtual machines.

However, curious tinkerers may have already noticed that the Console output includes two other options besides noVNC. SPICE is one of them, and is objectively superior to noVNC thanks to its performance and quality-of-life benefits. Unfortunately, this utility can’t run directly on your web browser. Instead, you must install this open-source tool on your client machine, modify certain settings under the VM’s hardware tab, and download the pve-spice.vv file associated with the virtual guest to gain access to its UI. Nevertheless, SPICE is a great addition to your Proxmox toolkit thanks to its shared clipboard, USB redirection, and a bunch of other neat features.

5 Ansible

For all your automation needs

The ability to build cumbersome projects inside virtual guests without worrying about package conflicts on the host machine is a major reason why many coders (including myself) use virtualization platforms. However, you can take this convenience to the next level with the help of the automation provisions available in Ansible.

If you’re familiar with YAML scripting, you can record entire virtual machine configurations as templates, and use them to automate the VM deployment procedure. While it’s already useful for single server setups, Ansible is an amazing tool for overseeing VM provisioning for entire Proxmox clusters. While it’s not exactly open-source, Terraform pairs exceedingly well with the FOSS-based Ansible Playbook, and you can run both of them in tandem for some impressive (often downright ridiculous) VM automation projects.

4 Cockpit

Perfect for a Proxmox-only NAS setup

Besides Ansible, Cockpit is another name you’ll often hear in the DevOps and sysadmin fields. At its core, Cockpit provides an easy way to manage, update, and keep tabs on all your host machines. Considering that many home lab lovers tend to use a single server PC, Cockpit doesn’t really seem all that useful when Proxmox has a rock-solid management UI – at least in theory.

However, Cockpit shines when you wish to turn your Proxmox machine into a NAS. Since PVE already supports ZFS pools, all you have to do is create a Cockpit container and use it to manage your Proxmox file-sharing server using a simple GUI. Plus, Cockpit’s utility skyrockets once you throw nested virtualization into the mix. If you’ve been following my home lab articles, you know it’s possible to grant virtualization privileges to your VMs, even those running other hypervisors. As such, you access all your hypervisors from a single interface by pairing them with the Cockpit instance.

3 Docker

The be-all-and-end-all container deployment platform

The default Proxmox installation includes support for LXC containers, which are quite useful once you combine them with easy-to-configure TurnKey templates. However, they can’t replace the myriads of images you can deploy inside Docker containers. Unlike Unraid, Proxmox doesn’t support Docker functionality out-of-the-box, meaning you’ll have to spin up a dedicated guest (preferably a virtual machine) to run apps inside containerized Docker environments.

As someone whose workflow is heavily reliant on Docker, I can confirm that it’s well worth the extra effort. Plus, you can even leverage nested virtualization to configure the beginner-friendly Docker Desktop on top of a Linux distro to access your containers from a GUI app.

2 Portainer

Great for container-heavy workloads

While we’re on the subject of simple interfaces for containers, Portainer has a more extensive set of utilities to help you manage containers, images, networks, and a host (pun intended) of other facilities. Besides supporting Docker, Portainer is also compatible with any containers deployed using Kubernetes. Heck, if you’ve split your home lab workloads between Proxmox and Microsoft Azure, you can even control the finer aspects of your ACI environments from the Portainer UI.

1 InfluxDB + Grafana

Monitor your services like a pro

Creating a self-hosting workstation on your Proxmox server may be a fun project, but you’ll have a hard time tracking everything once your arsenal of apps and services starts to build up. That’s where the InfluxDB and Grafana duo comes in handy, as it lets you monitor uptime, resource usage, and detailed stats for all your deployed instances.

In this setup, InfluxDB serves as the data aggregator and stores time-stamped records of your services inside databases. Meanwhile, Grafana is responsible for displaying the information recorded by InfluxDB inside an organized dashboard. While InfluxDB and Grafana are arguably the best tools to monitor your Proxmox machine, Uptime Kuma is a decent alternative if you’re overwhelmed by the complexity of these apps.

Expanding the functionality of Proxmox with open-source tools

If you’re still not satisfied by these tools, there are a couple of other FOSS applications worth considering. Although Pi.Alert is often hosted on Raspberry Pi boards, you can also run them inside containers on your Proxmox machine to reinforce the security of your home server. For frequent travelers who want to access their home lab from an external connection, you can deploy a Wireguard container and set up a reverse proxy via Nginx to safely access your favorite services without exposing them to security threats.