Plane
Open-source project management - issues, cycles, modules, roadmap. A Jira / Linear / ClickUp alternative, flat-priced.
One-click deploy, from $49/mo on a Miget plan.
Plane is open-source project management with the modern feel teams expect: issues, cycles (sprints), modules, a roadmap, Gantt and kanban boards, pages, and analytics. It is the self-hosted answer to Jira, Linear, and ClickUp.
This template runs the community all-in-one image, which bundles the API, web app, background workers, and real-time collaboration behind a Caddy proxy in one container, bound to port 5000. It needs a few supporting services: managed Postgres and managed Valkey, plus a RabbitMQ sidecar for Celery tasks and an in-stack MinIO for file storage (private, like the catalogue’s Langfuse).
It is flagged experimental because it is a heavier, multi-service stack (~4 GB total) with more moving parts than a single-binary app - treat it as a power-user deploy. The payoff is escaping per-seat pricing: Plane is one flat plan for an unlimited team.
Upstream project: Plane
#what you get
- Issues, cycles, modules, roadmap, Gantt and kanban views
- Pages, analytics, and a public API
- Community AIO image bound to port 5000 (SITE_ADDRESS)
- Managed Postgres + Valkey; RabbitMQ + MinIO as private sidecars
- Flat pricing for an unlimited team - no per-seat metering
- AGPL-3.0 (community edition)
#topology
| Service | Role | Public |
|---|---|---|
| plane | AIO: api + web + workers + proxy (:5000) | yes |
| db / redis | managed Postgres / managed Valkey | no |
| rabbitmq / minio | Celery broker / file storage | no (private) |
#miget sizing
// this stack needs
6.5 GiB RAM · 32 GB disk · 5 services
Give the stack at least 4 GB of usable RAM: the AIO wants ~3 GB, with RabbitMQ and MinIO ~0.5 GB each. Issues live in Postgres; uploaded files on the MinIO volume.
Hobby - recommended fit
$49/mo
4 vCPU · 8 GiB · 160 GiB disk
Headroom for your own apps: 16 GiB at $97/mo
Professional - production
$85/mo
4 vCPU · 8 GiB · 50 GiB disk
Dedicated resources, production SLOs - plan details
One Miget plan is a fixed pool of compute - the whole stack (managed databases included) deploys inside it, and anything left over runs your other apps. No per-service or per-seat math.
#vs. the managed service
What the hosted equivalents charge, against the flat Miget plan this stack fits on. Prices as of June 2026, sources linked.
| Service | Plan | Monthly | What you get |
|---|---|---|---|
| Plane on Miget ★ | 8 GiB plan | $49 | this whole stack, flat - no usage meters, and room left for your own apps |
| Linear | Business | ~$160 | $16/user/mo at 10 users |
| ClickUp | Unlimited | ~$70 | $7/user/mo at 10 users |
| Jira | Standard | ~$75 | ~$7.53/user/mo at 10 users |
Project tools meter every seat; Plane self-hosted is one flat plan for the whole team.
#vs. other PaaS
Estimated monthly cost of running this exact stack (6.5 GiB RAM, 32 GB disk, 5 containers) elsewhere, from published June 2026 rates.
| Platform | Est. monthly | Notes |
|---|---|---|
| Miget ★ | $49 flat | compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan |
| Heroku | ~$325 | no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown |
| Render | ~$89 | per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service |
| DO App Platform | ~$83 | no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here) |
| Railway | ~$70 | usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top |
| Fly.io | ~$43 | cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra |
Estimates assume RAM fully allocated at published on-demand rates - and sticker price isn't the whole comparison: the cheaper rows buy burstable shared CPUs, per-service wiring instead of a compose deploy, and managed databases billed separately. Heroku and DO App Platform have no persistent volumes at all - stateful stacks like this one need workarounds there.
#deploy it
On Miget
- Create a Compose Stack in app.miget.com pointing at the templates repository
- Set the stack path to
plane -
Set the required variables:
SECRET_KEY, Django secret (openssl rand -hex 32)WEB_URL / CORS_ALLOWED_ORIGINS, the https domainMINIO_ROOT_PASSWORD / RABBITMQ_PASSWORD, sidecar credentials
- Deploy. Miget layers
compose.miget.yaml(RAM, privacy, volumes, managed services) automatically
Locally first?
Every template is portable, vanilla Docker Compose - the Miget overrides are ignored locally:
git clone https://github.com/deployable-sh/stacks
cd miget-compose-templates/plane
docker compose up -d Same files, same behavior. The template README covers connection strings and scaling notes.
#faq
What does this save vs Jira, Linear, or ClickUp?
Jira Standard is about $7.53/user/month, Linear runs $8-16/user, and ClickUp Business is $12/user - all per seat. A 10-person team is roughly $75-160/month on those; Plane self-hosted is one flat plan for the whole team, with your data on your own infrastructure.
Why is this marked experimental?
It is a five-service stack (AIO, Postgres, Valkey, RabbitMQ, MinIO) around 4 GB, versus the catalogue’s single-binary apps. Everything is wired and validated, but there are more parts to watch and upgrades occasionally need care - hence the power-user flag.
Does it need a proxy wrapper for port 5000?
No. The community AIO image binds its Caddy proxy with SITE_ADDRESS, which this template sets to :5000 - Miget’s public port - so no extra wrapper is required.
Ship Plane today
One compose stack, 6.5 GiB of RAM, from $49/month flat, and it runs on your laptop with the same files.