briqbriq
Dashboard

cookbook / plane

Plane

A self-hosted Linear/Jira-like board the agent can update, with a link to share.

Run it

briq_run({
  recipe: "plane",
  params: {
    "domain": "localhost",
    "size": "small"
  },
  wait: true
})

Parameters

NameTypeOptionsDefault
domainstring"localhost"
sizeenumsmall, medium"small"

Outputs

Returned by briq_run once the stack is healthy. Hosts resolve inside your team network; secrets are generated per run.

PLANE_URL
http://plane.<stack>.internal
PLANE_DOMAIN
localhost

What it runs

BriqImagePortsSizeVolume
postgrespostgres:165432nano10 GB at /var/lib/postgresql/data
redisredis:7-alpine6379nano
rabbitmqrabbitmq:4-alpine5672nano
minioquay.io/minio/minio:RELEASE.2025-09-07T16-13-09Z9000nano20 GB at /data
planemakeplane/plane-aio-community:stable80small

When to use it

  • The agent is working off a PLAN.md that only it reads, and you want the same plan as a board: columns, status, and a link you can actually watch while the agent works.
  • You want the agent to self-organize a multi-step task — file an issue per step, move it as it finishes, comment on what it found — instead of editing a checklist in a text file no one else opens.
  • You want to hand a teammate a link, not a diff of a markdown file, to see where things stand.

This is a stack, not a single service: makeplane/plane-aio-community needs its own Postgres, Redis, an AMQP broker and S3-compatible storage. The recipe runs all five as one call — Postgres, Redis and RabbitMQ with auth disabled and no port to briq_expose, MinIO for uploads with a generated secret shared with the app.

Tips

  • Set domain before you expose it. DOMAIN_NAME is baked in at boot and used in the links Plane generates. If you already know the hostname you will briq_expose on, pass it as domain; otherwise expose first, note the hostname, and re-run with it.
  • First boot takes longer than the others. The app briq runs a database migration before it starts serving; wait: true accounts for this, but give it a minute on a cold start.
  • Only briq_expose the plane briq, on port 80. Postgres, Redis and RabbitMQ run with no password and no port to expose; treat that as internal-only and never call briq_expose on them.
  • The agent updates it through the same web API a human would use — Plane has a REST API and API-key auth once you have signed in through the exposed URL once to create the first workspace.