v2.0.0Tainer 2.0 is here, and now open source

Your Proxmox.
Your dashboard. Your code.

Tainer is an open-source, self-hosted dashboard for Proxmox VE. Teams deploy containers and VMs from a curated catalog, admins decide who can touch which cluster, and the whole thing runs from one Docker image on your own hardware.

docker pull tainersh/tainer
58k+ pulls on Docker Hub
v2.0.0
Tainer overview map with all sites

Every Proxmox site on one map, with live node and deployment counts.

Open source

Every line, out in the open.

Tainer was closed source until 2.0. Now the full codebase is on GitHub under the GNU Affero General Public License v3.0: the dashboard, the load balancer, Tainy and every security fix.

Hack on it tonight.

All you need is Node.js 24. Clone the repo, install and start the dev server. Security issues go through a private advisory, not a public issue.

Meet the contributors
zsh
git clone https://github.com/wiflow/Tainer.git
cd Tainer
npm ci
npm run dev

What's inside

One image. Your whole Proxmox estate.

One Tainer instance manages any number of Proxmox clusters. Teams get self-service, and admins keep control over who touches what.

Workloads

Everything your team runs, in one list.

  • Create, start, stop, migrate and delete containers and VMs
  • Edit resources and env vars, open a console in the browser
  • Template catalog with a launch form
  • Pull Docker Hub, OCI and Gitea images as container templates
  • Backup policies, restore, snapshots and Storage Box copies
  • Tags to start or stop guests in bulk

Operations

Know what changed before anyone asks.

  • Live dashboard, updated as guests change state
  • Load balancer with dry runs, drains and rebalance plans
  • Alerts to Slack, Teams, Discord or any webhook
  • Node config snapshots with restore
  • Pending updates and CVEs per node and guest

IP pools

Addresses handed out, not guessed.

  • Named IP pools for new deployments
  • Static address allocation when you deploy
  • phpIPAM integration

Access and security

Hand out access without handing out root.

  • Users, groups and per-site permissions
  • 2FA, OIDC SSO and LDAP or Active Directory
  • Scoped API tokens for scripts and CI
  • Per-guest Proxmox firewall rules
  • Audit log of every sign-in and admin action
  • Encrypted backups of Tainer's own state

Tainy

An assistant that asks before it acts.

  • Answers questions about your clusters
  • Carries out actions after you approve them
  • DeepInfra or any OpenAI-compatible endpoint you host

Install

Running in three steps. About five minutes.

Tainer ships as a single Docker image. No accounts, no licence keys, nothing that phones home.

  1. 01

    Generate a secret

    AUTH_SECRET encrypts sessions and stored credentials. Put it in .env and keep it the same across upgrades.

    echo AUTH_SECRET=$(openssl rand -base64 32) > .env
  2. 02

    Start the container

    Save the compose file next to .env and bring it up. Images are built for linux/amd64 and linux/arm64.

    docker compose up -d
  3. 03

    Add your cluster

    Open Tainer in the browser, create the first admin account, then add your Proxmox cluster under Platform > Sites.

docker-compose.yml
services:
  tainer:
    image: tainersh/tainer:latest
    ports:
      - "3000:3000"
    volumes:
      - tainer-data:/app/data
    restart: unless-stopped
    environment:
      AUTH_SECRET: ${AUTH_SECRET}
      APP_URL: https://tainer.example.com

volumes:
  tainer-data:

The honest version

How Tainer stacks up.

Different tools, different priorities. Tainer manages multiple Proxmox sites from one install and focuses on container lifecycle, templates, and IPAM. PegaProx leans into cross-cluster orchestration. Here is the side-by-side, gaps and all.

Capability
TTainer
PPegaProx
Plain Proxmox
Self-hostable
Open source
AGPL-3.0
AGPL
GPL
Single Docker image
Compose stack
Stays on your network
LXC templates with env vars
Named IP pools (IPAM)
Backup SLA tracking
Monitoring
Audit trail of every API call
Limited
Multi-site dashboard
Cross-cluster live migration
ESXi import wizard
SSO (LDAP / OIDC)
Cost
Free / OSS
Free / OSS
Time

Sources: PegaProx feature claims based on public documentation at pegaprox.com. If anything here is out of date, open an issue and we'll fix it.

Our Story

The history behind Tainer

It started with a backup problem

On June 4th, the idea for Tainer was born out of pure necessity. At the company we worked for, we urgently needed a reliable platform to manage and back up our LXC containers.

Crucially, we needed a way to use Veeam to back them up. Because Veeam didn't offer native support for Proxmox LXC containers at the time, we decided to build the bridge ourselves.

That bridge became Tainer - designed to give operations teams the container workflow and data protection they actually need for Proxmox.

Nicklas McKinlay Sørensen

Founder & Developer

Connect on LinkedIn

Christian Josiassen

Founder & Head of Product

Connect on LinkedIn

Build it with us.

Tainer is made by two operators in Copenhagen and, from today, by everyone who opens a pull request.