I Tried Tainer for Proxmox and It Feels Like Portainer for VMs

Proxmox ui like portainer

I am constantly surprised by the number of new tools that are getting cranked out for Proxmox. It is hard to keep up sometimes with the growth and expansion of the ecosystem. Many projects have been focused on improving the management experience of Proxmox. We all know and are used to the default Proxmox UI, but it is not known for being the most modern interface that you can use. Over the past few months I ahve been testing more tools that sit on top of Proxmox and enhance management. One project I came across recently is a project called Tainer. It caught my attention right away as it now offers a fully self-hosted version that you can run with Docker. This is a super interesting tool that feels a bit like what Portainer did for Docker but applied to VMs in Proxmox.

What is “tainer” and what problem does it solve?

So what is Tainer exactly? Tainer is an interesting one. It is basically a management layer that sits on top of your Proxmox environment. It like many others out there interacts with the API. The core idea I think is to give you a more modern interface and workflow when managing virtual machines and infrastructure tasks in Proxmox.

If you think about how you use Proxmox today, you are often clicking through nodes, storage, and VM settings. It is very powerful, but it is also clunky in ways. Tainer abstracts some of that and gives you a cleaner, more application-like experience.

It reminds me a lot of how Portainer changed the way many people interact with Docker. Instead of dealing directly with CLI commands or raw configuration, you get a UI that is focused on actions and workflows. This becomes especially useful in home labs where you are experimenting, deploying quickly, and often repeating similar tasks over and over again.

Deploying tainer with Docker

The creators of tainer have been trying to get off the ground with a SaaS version of the solution. However, recently, which I think is a good move, they released it as a self-hostable version that you can run in your own Docker environment.

So, if you don’t trust or want to rely on a hosted platform to manage your Proxmox environment, this is a tool that you can self-host and you have control over all the data using your own dedicated Docker host.

This can be done using Docker run from the command line or Docker Compose. The Docker run command as an example is the following:

docker run -d \
  --name tainer \
  --restart unless-stopped \
  -p 3000:3000 \
  -v tainer-data:/app/data \
  tainersh/tainer:latest

Then, for Docker Compose, you can use the following as an example. Also, the APP_URL is used for password resets. You will want to add the SMTP environmen variables as well for your email communications

APP_URLPublic base URL for password reset purposes
SMTP_HOST / SMTP_PORT / SMTP_USER / SMTP_PASS / SMTP_FROMSMTP for password reset emails

The code:

services:
  tainer:
    image: tainersh/tainer:latest
    ports:
      - "3000:3000"
    volumes:
      - tainer-data:/app/data
    restart: unless-stopped
    environment:
      APP_URL: http://localhost:3000

volumes:
  tainer-data:

If you want to do a bind mount, you can do something like this:

services:
  tainer:
    image: tainersh/tainer:latest
    container_name: tainer
    restart: unless-stopped

    ports:
      - "3000:3000"

    environment:
      APP_URL: http://10.1.149.25:3000

    volumes:
      - /home/linuxadmin/homelabservices/tainer/data:/app/data

After you get your Docker compose file in place, just run the normal:

docker compose up -d
Running docker compose up d for tainer
Running docker compose up d for tainer

After this, browse out to the IP of your container host that is housing tainer. The first visit, you will be prompted with the following workflow to create the first administrator account.

Create the first admin account in tainer
Create the first admin account in tainer

The next step is to connect your first Proxmox cluster. Here you fill in the basic info required to get connected, including the API URL, username, password, default node, TLS verification, etc.

Connect your first proxmox server in tainer
Connect your first proxmox server in tainer

After you click the button above, initialize workspace, it will take you to the dashboard.

The tainer dashboard after creating admin account and connecting to proxmox
The tainer dashboard after creating admin account and connecting to proxmox

First impressions of the tainer interface and features

I really like the look and feel of the tainer interface. It is modern and sleek and has a lot of really good functionality in this early release version. The dashboard gives you a high level view of the key performance metrics in the environment, including CPU, memory, storage, and network traffic.

Tainer dashboard showing the key performance metrics for proxmox cluster nodes
Tainer dashboard showing the key performance metrics for proxmox cluster nodes

On the deployments page, you have the ability to create containers from templates or just a new container, and the same with virtual machines.

Creating a deployment using tainer in proxmox ve server
Creating a deployment using tainer in proxmox ve server

The backups dashboard displays a detailed look at the health of your backups for your Proxmox environment.

Viewing backups in tainer for my proxmox environment
Viewing backups in tainer for my proxmox environment

Tainer also lets you setup alerts for the environment. You can alert based on many different metrics and factors. Some of these include:

  • High CPU
  • High memory
  • High disk
  • Storage unhealthy
  • Storage low space
  • Backup stale
  • Node high CPU
  • Node high memory
Tainer alerts engine helps to monitor your proxmox environment
Tainer alerts engine helps to monitor your proxmox environment

One of the interesting options that is at least in the interface is the Node Configs menu. Here you can take a “snapshot” of the Proxmox host. You select the host you want to “snapshot” and then click the Take snapshot button. It will save the snapshot of the host. I noticed though you can’t really do anything with the snapshot currently or see what it contains. In reaching out to the developer, he mentioned this feature has not been fully developed as of yet but is still being worked on. Very cool though at what this will be able to do for host-level configuration backups.

Node configs allow you to take a backup of your proxmox node configuration
Node configs allow you to take a backup of your proxmox node configuration

For your security posture, tainer also includes a CVE scanner that is useful to spot vulnerabilities in your hosts, vms, and containers. It also uses debscan for more thorough security scanning.

Cve scanner with debscane in tainer
Cve scanner with debscane in tainer

Tainer is also implementing their own load balancing here if you choose to turn on the module. I confirmed with the developer, this isn’t just another implementation of ProxLB, but is their own version of load balancing they are implementing in tainer.

Tainer load balancer keeps your proxmox workloads balanced across your proxmox environment
Tainer load balancer keeps your proxmox workloads balanced across your proxmox environment

On the templates screen you can manage your deployments quickly and easily. This is more than what you might think. We think of a template as a image of another virtual machine or container for quick deployments. But this takes it a step further in that you can setup all the configuration needed for generating a new VM or container, including the ISO, CPU, memory, disk, network, and other configuration.

Tainer deployment template that includes all settings you need for quickly spinning up a vm or container
Tainer deployment template that includes all settings you need for quickly spinning up a vm or container

On the images screen you have a full image management solution where you can query and search Docker hub, etc.

Images dashboard in tainer
Images dashboard in tainer

On the ISOs management screen you can manage your ISO images and download images from URLs.

Iso dashboard for managing and downloading iso images
Iso dashboard for managing and downloading iso images

These are just some of the highlights of the tainer Proxmox management solution that makes it a worthwhile deploy in the home lab environment.

Pros and cons

I think there is a lot to like about this project. But, here are some of the pros and cons to make note of as you consider whether this is a project you want to deploy in your home lab environment.

ProsCons
Simple but modern UILimited advanced features
Quick to deploy with DockerNot as mature as other tools and some of the functionality doesn’t fully work in the interface as of yet
Gives you easy visibility on VMs and containersSmaller community support
Minimal configuration requiredNot many if any integrations at this point
Good for small environmentsMaybe not ideal for large scale setups
Some functionality not contained in other tools (node snapshots, etc)Lacks deep monitoring capabilities

Wrapping up

After spending quite a bit of time with Tainer, I can say that it is one of the more interesting new tools in the Proxmox ecosystem that I have seen. I don’t think it is a full replacement for the Proxmox UI, but it’s not really meant to be that either. But, this is absolutely a great interface that also looks really good on a mobile device if you are looking for a solution that presents your environment with a great mobile management experience. I think the Portainer comparison is not totally a perfect comparison, but it gives me that same “vibe” of abstraction and helps you to have a clean and smooth workflow for many things we want to do in the home lab. How about you? Is this one that you are going to try out in your home lab? Let me know in the comments.

Google
Add as a preferred source on Google

Google is updating how articles are shown. Don’t miss our leading home lab and tech content, written by humans, by setting Virtualization Howto as a preferred source.

About The Author

Brandon Lee

Brandon Lee

Brandon Lee is the Senior Writer, Engineer and owner at Virtualizationhowto.com, and a 7-time VMware vExpert, with over two decades of experience in Information Technology. Having worked for numerous Fortune 500 companies as well as in various industries, He has extensive experience in various IT segments and is a strong advocate for open source technologies. Brandon holds many industry certifications, loves the outdoors and spending time with family. Also, he goes through the effort of testing and troubleshooting issues, so you don't have to.

5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments