Independent testing Updated August 2026 387 self-hosting guides 5 VPS providers tested

guide

Plane VPS Requirements: RAM, CPU & Storage Guide

Plane's documented floor is 2 cores and 4 GB RAM, 8 GB for production. Here is what the 13-container stack actually consumes and which VPS specs match it.

Plane is an open-source project management platform in the same category as Jira and Linear. Its self-hosted Community Edition is heavier than its interface suggests, and sizing a VPS by guesswork is the most common way a Plane install fails.

The Documented Requirements

Planeโ€™s own self-hosting documentation states:

ResourceRequirement
CPU2 cores (x64/AMD64 or AArch64/ARM64)
RAM4 GB minimum, 8 GB recommended for production
OSUbuntu, Debian, CentOS, Amazon Linux 2 or 2023
RuntimeDocker Engine 20.10+, Docker Compose v2
NetworkPorts 80 and 443, plus a resolving domain

Why the 4 GB Floor Is Real

Plane is not one process. The Community Edition compose stack starts thirteen containers:

Thirteen containers idling consume most of 4 GB before a single issue is created. This is why 1 GB and 2 GB plans do not work - not because Plane is inefficient, but because you are running a database, a message broker, a cache and an object store alongside the app itself.

RAM: Sizing by Team Size

ScenarioRAMNotes
Evaluation or a 2-5 person team4 GBThe documented minimum; workable but with little headroom
5-30 people using Plane daily8 GBThe documented production recommendation
Large Jira migration in progress8 GB+Bulk imports are memory-hungry, though only briefly

If you are between sizes, take the larger one. Planeโ€™s failure mode on insufficient memory is the kernel killing a container mid-request, which looks like random errors rather than an obvious out-of-memory message.

CPU: Two Cores Is Genuinely Enough

Issue tracking is bursty. Someone opens a board, the API answers, and the server goes quiet again. Two vCPU handles that comfortably for a normal team.

Four cores earn their keep in one specific case: importing an existing backlog. During a bulk import the Django API, the Celery worker and PostgreSQL all compete, and the job finishes materially faster with more cores. That is a one-off, so it is rarely worth paying for permanently - unless the plan with 4 cores also happens to be the plan with 8 GB, which at Contabo it is.

Storage: Watch MinIO, Not Postgres

The database stays small. Issues, comments and activity records are text, and even a busy teamโ€™s Postgres volume grows slowly.

Attachments are the variable. Every screenshot and document uploaded to an issue lands in the MinIO volume, and teams that paste screenshots liberally will outgrow a 40 GB disk long before the database matters.

Start at 40 GB, monitor the MinIO volume, and prefer NVMe or SSD - PostgreSQLโ€™s performance is I/O-bound and the difference is noticeable on board views that aggregate a lot of issues.

VPS Plans That Match These Requirements

ProviderPlanvCPU / RAM / DiskPriceVerdictLink
ContaboCloud VPS 44 / 8 GB / 100 GB SSD5.50 EUR/mo netMeets the 8 GB production recommendationContabo
Hetzner CloudCX232 / 4 GB / 40 GB NVMe5.49 EUR/mo netMeets the minimum; CX33 at 8.49 for 8 GBHetzner
DigitalOceanBasic 4 GB2 / 4 GB / 80 GB SSD24 USD/moMeets the minimum; best snapshot toolingDigitalOcean
VultrRegular 4 GB2 / 4 GB / 80 GB SSD20 USD/moMeets the minimum; widest region choiceVultr
LinodeLinode 4 GB2 / 4 GB / 80 GB SSD24 USD/moMeets the minimum; predictable performanceLinode

Every providerโ€™s 1 GB entry plan is excluded on purpose. Those plans sit below Planeโ€™s documented minimum and no amount of tuning changes that.

A Note on Building From Source

The docker-compose.yml in Planeโ€™s GitHub repository builds each service from its Dockerfile rather than pulling published images. Compiling the Next.js frontends needs considerably more memory than running them does, and the build will thrash or fail outright on a 4 GB VPS.

The supported path pulls prebuilt images:

curl -fsSL https://prime.plane.so/install/ | sh -

Size the server for running Plane, not for building it.

Planning for Growth

For a broader look at plans across providers, see our full VPS comparison.

Community references worth following: the awesome-selfhosted list and the r/selfhosted subreddit.

Frequently asked questions

How much RAM does a self-hosted Plane instance really need?

The official minimum is 4 GB and the documented production recommendation is 8 GB. The Community Edition runs thirteen containers, including PostgreSQL, Valkey, RabbitMQ and MinIO, and those alone occupy most of 4 GB before anyone signs in. Use 4 GB for a small team or a trial, and 8 GB once Plane is the tracker your team opens every morning.

How many CPU cores does Plane require?

Two cores is the documented minimum, on either x64/AMD64 or AArch64/ARM64. Two is adequate for day-to-day issue tracking because the load is bursty rather than sustained. Four cores are worth having if you plan to import a large backlog from Jira, since the Django API and the background workers compete for CPU during bulk operations.

How much disk space should I allocate for Plane?

Start at 40 GB and plan for growth. The PostgreSQL database itself stays modest, but MinIO stores every file attachment uploaded to an issue, and that volume is what fills a disk. Screenshots and documents attached to tickets accumulate steadily, so watch the MinIO volume rather than the database when deciding whether to resize.