Plane on my own server
I wanted a project tracker on my own server, one that my coding agents can write to. I chose Plane Community Edition. The official Plane MCP server lets an agent file and update work items.
Trial first
I ran a trial on my laptop before the VPS. The stack has these services: web,
admin, api, worker, beat-worker, migrator, a database, Redis, RabbitMQ, MinIO,
and a proxy. I dropped the space and live services. I do not need public
boards or live editing.
RAM, measured after the migrations:
- Trial on the laptop: about 1.8 GiB for the whole stack.
- On the VPS: about 1.1 GiB.
Sign-up off, one login
Public sign-up is off. I set ENABLE_SIGNUP=0 through the instance
configuration endpoint. I never turn it on while the app is public.
Plane CE has no OIDC. My single sign-on service cannot log me into Plane. So
Plane keeps its own login. Caddy puts single sign-on in front of /god-mode
only, the instance admin area.
plane.example.com {
@admin path /god-mode*
handle @admin {
import sso
reverse_proxy plane-proxy:80
}
handle {
reverse_proxy plane-proxy:80
}
}
The localhost trap
Open the trial at http://localhost:8180, not by the numeric loopback address. Plane
redirects to its WEB_URL. On a different host name, the browser drops the
session cookie, and the login loops.
The MCP server
The official server runs over stdio:
PLANE_API_KEY=... PLANE_WORKSPACE_SLUG=my-workspace \
PLANE_BASE_URL=https://plane.example.com \
uvx plane-mcp-server stdio
I checked the tool count. Version 3.2.0 exposes 30 tools, and each tool takes
an action argument. A web search had told me 77. That was wrong for this
version.
Two limits
- The MCP tool
workitem_relationreturns HTTP 404 on CE. The REST path/work-items/<id>/relations/works. - The API allows 60 requests a minute per key. Failed requests count. I never poll in a tight loop.
What is still open
- The password change endpoint returns 404 on this version. I set the password in the Django shell.
- I should copy the compose file and the Caddy block into my infra repo. They live only on the server today.