If you've ever tried to run a homelab project, a small team, or even just your own to-do list on sticky notes and spreadsheets, you already know the problem: nothing sticks. Trello is great, but it lives on someone else's server, and the free tier keeps shrinking. Planka is a self-hosted alternative that looks and feels a lot like Trello, and if you already run Proxmox VE, you can have it running in a container in under ten minutes.

This guide walks you through installing Planka in a Linux container (LXC) on Proxmox VE using the community-maintained helper script, then logging in, changing the default password, and building your first board. No Docker knowledge required, no manual PostgreSQL setup — the script handles all of that for you.

What You Will Learn

  • What Planka actually is and how it compares to Trello and Vikunja
  • What an LXC container is and why it's the right way to run Planka on Proxmox
  • How to run the community-scripts installer and pick sensible container settings
  • Where Planka stores its login credentials after install
  • How to log in, change the admin password, and create your first board
  • Common errors people hit during install and how to fix them
  • A few settings worth changing before you put real work into it

What Is This Feature?

Planka is an open-source, Trello-style kanban board. You create a project, add lists (like "To Do," "In Progress," "Done"), and drag cards between them. Each card can hold a description, checklist, due date, labels, and file attachments. If you've used Trello, the interface will feel immediately familiar — that's intentional.

It's different from something like Vikunja, which is more of a traditional to-do list and task manager with due dates and reminders. Planka is built around the visual board-and-card workflow first. If you want a checklist app, Vikunja fits better. If you want a whiteboard full of movable cards, Planka is the one.

An LXC container, in Proxmox terms, is a lightweight virtual environment that shares the host's Linux kernel instead of emulating its own hardware like a full virtual machine does. It starts in a second or two, uses a fraction of the RAM a VM would need, and is the standard way the Proxmox community deploys small self-hosted apps like this one. We'll be creating an unprivileged container, which means the container's root user does not have root privileges on the actual Proxmox host — a meaningful security boundary if the app inside ever gets compromised.

To build the container, we're using a script from community-scripts.org (the actively maintained continuation of the original Proxmox VE Helper-Scripts project). It's not an official Proxmox tool, but it's widely used in the homelab community, and it automates what would otherwise be a fairly involved manual install: pulling Node.js, setting up PostgreSQL, configuring the Planka service, and enabling it to start on boot.

Why Would You Use It?

The obvious reason is privacy — your project data, task notes, and attachments stay on hardware you control. No third party can change the pricing, sunset a feature, or get breached and leak your board full of half-finished side project ideas.

There's also a practical angle. If you're running a homelab with a dozen other services already, adding one more LXC container that boots in seconds and needs roughly 1 GB of RAM is basically free. You get a shared task board for yourself, your household, or a small team, without paying a monthly seat fee.

I'll be honest about the tradeoff too: you're now responsible for backups, updates, and uptime. Trello never goes down because you forgot to patch it. If that responsibility doesn't appeal to you, Planka might not be worth the switch. But if you're already comfortable running Pi-hole or Uptime Kuma in your homelab, this is roughly the same amount of ongoing effort.

Prerequisites

Before you start, make sure you have:

  • A working Proxmox VE 8.x or 9.x host with internet access
  • At least 4 GB of free disk space and 1 GB of free RAM on the node (the default container uses a 4 GB disk and 1024 MB RAM)
  • Root or sudo access to the Proxmox host's shell — either through the web console's Shell option or SSH
  • Basic comfort typing commands into a terminal — you won't need to write any scripts yourself

You do not need Docker installed anywhere. The helper script builds a native Debian container and installs Planka directly onto it.

Step-by-Step Tutorial

Log into the Proxmox VE web interface, click on your node in the left-hand tree (not an existing VM or container), then click >_ Shell in the top-right corner. This opens a root shell running directly on the Proxmox host itself — that distinction matters, because the install script needs to run at the host level to create a new container.

Paste this command and press Enter:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/planka.sh)"

The script will download and start an interactive setup screen. You'll be asked to choose between Default Settings and Advanced Settings.

For a first install, Default is fine. It picks the next available container ID, gives it a DHCP-assigned IP address, and provisions it with:

SettingDefault Value
OSDebian 13
CPU cores1
RAM1024 MB
Disk4 GB
Container typeUnprivileged

If you'd rather set a specific container ID, a static IP, or a bridge other than vmbr0, choose Advanced instead — it walks through each field one at a time and shows you the default before asking for your input.

Once you confirm your choices, the script creates the container, boots it, and starts installing Node.js, PostgreSQL, and Planka itself. This takes somewhere between three and six minutes depending on your internet connection and how fast your storage is. You'll see a scrolling log of apt and npm output — that's normal, let it run.

When it finishes, you'll see a green confirmation with the container's IP address. Note it down, or find it later by running pct list from the host shell and then pct exec <CTID> -- ip a to see its address.

Now open a browser and go to http://<container-ip>:1337. You should see the Planka login screen.

To get the admin credentials, go back to the Proxmox host shell and run:

pct enter <CTID>
cat ~/planka.creds

Replace <CTID> with the container ID shown at the end of the install (it's usually the next free number after your existing containers — check the left sidebar if you're not sure). This prints the admin email and password the installer generated for you. Use those to log in.

Once you're in, click your avatar in the top-right corner, go to Edit Profile, and change the password to something you'll actually remember — the generated one is long and not meant to be typed twice a day.

From the dashboard, click Create new project, give it a name, then add your first board. Add a few lists — To Do, Doing, Done is the classic starting point — and you're ready to create cards.

Commands Explained

A few of the commands above are worth breaking down, since you'll likely use variations of them again:

  • bash -c "$(curl -fsSL <url>)" downloads the script from GitHub and immediately runs it. The -fsSL flags tell curl to fail silently on server errors, stay quiet about progress output, and follow redirects — standard for piping installer scripts.
  • pct list shows every LXC container on the node, along with its ID, status, and name. It's the fastest way to confirm your new container actually exists.
  • pct exec <CTID> -- <command> runs a single command inside a container from the host, without needing to log in first. Useful for quick checks like grabbing the IP address.
  • pct enter <CTID> drops you into a full root shell inside the container, as if you'd SSH'd into it directly. This is what you use for anything more involved than a one-off command.

Common Errors

A few issues come up often enough that they're worth knowing before you hit them:

The container ID is already in use. This happens if you've deleted a container recently but Proxmox still remembers the ID, or if you're running Advanced mode and typed in a number that's already taken. Run pct list first to see what IDs are free, or just let Default mode pick automatically.

The page at port 1337 won't load. Give the install script a few extra minutes — PostgreSQL and the Planka backend both need to fully start before the web server responds. If it's been more than ten minutes, check the container is actually running with pct status <CTID>.

PostgreSQL connection errors during setup. There have been reports of this in the community-scripts GitHub issues, usually tied to the database not being fully initialized before Planka tries to connect to it on first boot. If you see this, entering the container and restarting the service (covered below) usually clears it.

"No route to host" when browsing to the container's IP. Double-check the container actually got an IP from your DHCP server. Run pct exec <CTID> -- ip a — if you see no address on eth0, your bridge or DHCP setup on the Proxmox side needs a look, not Planka itself.

Troubleshooting

If Planka installed but isn't behaving, start inside the container. Run pct enter <CTID> and check the service status:

systemctl status planka

If it shows as failed or inactive, restart it with systemctl restart planka and then check the logs with journalctl -u planka -n 50 to see the last 50 lines. Most first-boot failures show up clearly here — a database not ready, a missing environment variable, or a port conflict.

If the container is sluggish once you've got a real board with dozens of cards and a few people using it, the default 1024 MB of RAM can start to feel tight. Shut the container down from the Proxmox web UI, click on it, go to Hardware, and bump the memory to 2048 MB. Boot it back up — Planka doesn't need to be reinstalled, it just picks up the extra headroom.

If none of that helps, the community-scripts GitHub repository's Issues tab is genuinely useful for this specific script — search for "planka" there before assuming something is broken on your end. A lot of edge cases have already been reported and fixed.

Best Practices

Take a snapshot of the container right after your first successful login, before you start putting real project data into it. It takes a few seconds and gives you an easy rollback point if you break something while poking around the settings.

Don't expose port 1337 directly to the internet. If you want access from outside your home network, put it behind a reverse proxy like Nginx Proxy Manager or Traefik with a proper TLS certificate, or route through a VPN like Tailscale or WireGuard instead.

Add the container to your existing Proxmox backup job. It's a normal LXC container as far as vzdump is concerned, so there's no special configuration needed — just make sure its ID is included in whichever backup job covers the rest of your containers.

Leave it as an unprivileged container unless you have a specific reason not to. The installer defaults to unprivileged for a reason, and Planka doesn't need anything that would require privileged mode.

Frequently Asked Questions

Is Planka free?

Yes. It's open-source and licensed under the AGPL. There's no paid tier, no seat limits, and no feature gate — everything in the self-hosted version is available to everyone who runs it.

Can I access Planka from my phone?

Yes, through any mobile browser. There's no dedicated mobile app, but the web interface is responsive and works fine on a phone screen once you set up remote access through a VPN or reverse proxy.

How do I update Planka later?

Run the same install command again from the Proxmox host shell. The community-scripts installer detects the existing container and offers to update it in place rather than creating a new one, backing up your data first.

Can multiple people use the same Planka instance?

Yes. Log back into the admin account and use the Admin Panel to create additional user accounts. Each person gets their own login and can be added to specific projects.

What happens if I lose the planka.creds file?

As long as you've already logged in once and changed the password, the file doesn't matter anymore — it's just a copy of the original generated credentials. If you never logged in and lost it, you'd need to reset the admin password directly in the database, which is more involved than it's worth. Log in and change the password the first day you install it.

Conclusion

Fifteen minutes from now, you can have a working kanban board that costs nothing but a slice of RAM on hardware you already own. The community-scripts installer does the tedious part — Node, PostgreSQL, service configuration — so the only real work on your end is logging in and building your first board. If it turns out Planka isn't the right fit for how you like to organize work, tearing the container down is just as fast as building it was.