Plane is een open-source platform voor projectbeheer, in dezelfde categorie als Jira en Linear. De zelfgehoste Community Edition is zwaarder dan de interface doet vermoeden, en een VPS op gevoel dimensioneren is de meest voorkomende manier waarop een Plane-installatie strandt.
De gedocumenteerde vereisten
De officiële zelfhostingdocumentatie van Plane vermeldt:
| Resource | Vereiste |
|---|---|
| CPU | 2 kernen (x64/AMD64 of AArch64/ARM64) |
| RAM | minimaal 4 GB, 8 GB aanbevolen voor productie |
| Besturingssysteem | Ubuntu, Debian, CentOS, Amazon Linux 2 of 2023 |
| Runtime | Docker Engine 20.10+, Docker Compose v2 |
| Netwerk | Poorten 80 en 443, plus een domein dat resolvet |
Waarom de ondergrens van 4 GB echt is
Plane is niet één proces. De Compose-stack van de Community Edition start dertien containers:
- Applicatie: de frontends
web,admin,spaceenlive, plus de Django-api - Achtergrond:
worker,beat-workerenmigrator - Data:
postgres:15.7-alpine,valkey/valkey:7.2.11-alpine,rabbitmq:3.13.6-management-alpine,minio/minio - Rand: de
proxy-container, eigenaar van poort 80 en 443
Dertien containers in rust vullen het grootste deel van 4 GB voordat de eerste issue is aangemaakt. Daarom werken pakketten van 1 en 2 GB niet - niet omdat Plane inefficiënt zou zijn, maar omdat je naast de applicatie een database, een message broker, een cache en een objectopslag draait.
RAM: dimensioneren naar teamgrootte
| Scenario | RAM | Opmerkingen |
|---|---|---|
| Evaluatie of team van 2 tot 5 personen | 4 GB | Het gedocumenteerde minimum; werkbaar, maar zonder speling |
| 5 tot 30 mensen die Plane dagelijks gebruiken | 8 GB | De gedocumenteerde aanbeveling voor productie |
| Lopende migratie van een grote Jira-achterstand | 8 GB of meer | Bulkimports vragen veel geheugen, zij het kortstondig |
Twijfel je tussen twee maten, neem dan de grootste. Bij te weinig geheugen bezwijkt Plane doordat de kernel een container middenin een verzoek afschiet, en dat oogt als willekeurige fouten in plaats van een duidelijke melding over geheugentekort.
CPU: twee kernen zijn echt genoeg
Werken met issues gaat met pieken. Iemand opent een board, de API antwoordt, en daarna wordt de server weer stil. Twee vCPU vangen dat moeiteloos op voor een gewoon team.
Vier kernen verdienen zich in één specifiek geval terug: het importeren van een bestaande achterstand. Tijdens een bulkimport vechten de Django-API, de Celery-worker en PostgreSQL om de machine, en de klus loopt merkbaar sneller af met meer kernen. Dat is eenmalig, dus permanent loont het zelden - tenzij het pakket met 4 kernen toevallig ook het pakket met 8 GB is, wat bij Contabo het geval is.
Opslag: let op MinIO, niet op Postgres
De database blijft klein. Issues, reacties en activiteitsregels zijn tekst, en zelfs bij een druk team groeit het Postgres-volume traag.
De bijlagen zijn de variabele. Elke schermafbeelding en elk document dat bij een issue wordt geüpload belandt in het MinIO-volume, en teams die kwistig schermafbeeldingen plakken lopen een schijf van 40 GB vol lang voordat de database meetelt.
Begin met 40 GB, houd het MinIO-volume in de gaten en kies bij voorkeur NVMe of SSD - de prestaties van PostgreSQL hangen aan de I/O, en het verschil merk je op boardweergaven die veel issues samenvoegen.
VPS-pakketten die aan deze vereisten voldoen
| Aanbieder | Pakket | vCPU / RAM / Schijf | Prijs | Oordeel | Link |
|---|---|---|---|---|---|
| Contabo | Cloud VPS 4 | 4 / 8 GB / 100 GB SSD | 5.50 EUR/mnd excl. btw | Haalt de aanbeveling van 8 GB | Contabo |
| Hetzner Cloud | CX23 | 2 / 4 GB / 40 GB NVMe | 5.49 EUR/mnd excl. btw | Haalt het minimum; CX33 voor 8.49 met 8 GB | Hetzner |
| DigitalOcean | Basic 4 GB | 2 / 4 GB / 80 GB SSD | 24 USD/mnd | Haalt het minimum; beste snapshotgereedschap | DigitalOcean |
| Vultr | Regular 4 GB | 2 / 4 GB / 80 GB SSD | 20 USD/mnd | Haalt het minimum; ruimste keuze aan regio’s | Vultr |
| Linode | Linode 4 GB | 2 / 4 GB / 80 GB SSD | 24 USD/mnd | Haalt het minimum; voorspelbare prestaties | Linode |
De instappakketten van 1 GB bij elke aanbieder ontbreken bewust. Die liggen onder het door Plane gedocumenteerde minimum, en geen enkele afstelling verandert daar iets aan.
Een noot over bouwen uit de broncode
De docker-compose.yml in de GitHub-repository van Plane bouwt elke dienst uit zijn eigen Dockerfile in plaats van de gepubliceerde images op te halen. Het compileren van de Next.js-frontends vraagt aanzienlijk meer geheugen dan ze draaien, en de build laat een VPS van 4 GB swappen of mislukt ronduit.
De ondersteunde route haalt kant-en-klare images op:
curl -fsSL https://prime.plane.so/install/ | sh -
Dimensioneer de server om Plane te draaien, niet om het te bouwen.
Plannen voor groei
- Kijk met
docker statsvoordat je besluit op te schalen; dat toont welke container werkelijk onder druk staat. - Maak een snapshot van de VPS vóór elke versie-upgrade - de
migrator-container voert bij het starten schemawijzigingen door. - Back-up het PostgreSQL-volume en het MinIO-volume samen. Los van elkaar herstellen ze een onvolledige instantie.
- De meeste aanbieders verhogen het geheugen ter plekke, dus van 4 GB naar 8 GB gaan is een herstart en geen migratie.
Voor een breder overzicht van de pakketten bij aanbieders, zie onze volledige VPS-vergelijking.
Communitybronnen die het volgen waard zijn: de lijst awesome-selfhosted en het subreddit r/selfhosted.
Frequently asked questions
Hoeveel RAM heeft een zelfgehoste Plane-instantie werkelijk nodig?
Het officiële minimum is 4 GB en de gedocumenteerde aanbeveling voor productie is 8 GB. De Community Edition draait dertien containers, waaronder PostgreSQL, Valkey, RabbitMQ en MinIO, en die vullen op zichzelf al het grootste deel van 4 GB voordat iemand inlogt. Neem 4 GB voor een klein team of een proef, en 8 GB zodra Plane de tracker is die je team elke ochtend opent.
Hoeveel CPU-kernen vraagt Plane om te kunnen draaien?
Twee kernen zijn het gedocumenteerde minimum, op x64/AMD64 of AArch64/ARM64. Twee volstaan voor het dagelijkse werk met issues omdat de belasting in pieken komt in plaats van constant te zijn. Vier kernen zijn de moeite waard als je een grote achterstand uit Jira wilt importeren, want dan vechten de Django-API en de achtergrondworkers om de processor.
Hoeveel schijfruimte moet ik voor Plane reserveren?
Begin met 40 GB en houd rekening met groei. De PostgreSQL-database blijft bescheiden, maar MinIO bewaart elk bestand dat aan een issue wordt gehangen, en dat volume vult de schijf. Schermafbeeldingen en documenten bij tickets stapelen zich gestaag op, dus let eerder op het MinIO-volume dan op de database wanneer je overweegt op te schalen.