Self-Hosted Project Management for Tiny Teams
Published 2026-06-20 · Updated 2026-08-21 · 14 min read · By Ben Liu
Match PM ceremony to team size: one tracker, light templates, attachment hygiene, and restores that include file stores.
Ceremony budget
Tiny teams die under enterprise workflows. If you will not groom a backlog weekly, do not install a suite that assumes you will. Start with issues + milestones.
Default fields: title, owner, due date. Cut templates ruthlessly — empty fields train people back into chat.
Single source of truth
One tracker. Parallel boards + git issues + chat tasks guarantees lost work. Chat notifications should link to the canonical issue URL, not duplicate the task body.
Attachments and retention
Tickets accumulate customer-ish data. Set retention, expire guest access, know how to purge one project's attachments.
Backups include file stores
Issue text without attachment volumes is a partial restore. Map mounts; drill by reopening one issue **with** its screenshot.
docker inspect pm-app-1 --format '{{json .Mounts}}'Lab notes pending — replace with measured values before publishing claims.
[Add real environment data here]
PM tool + version:
DB volume:
Uploads volume:
Last restore drill (date):Templates that fit on-call
Incident: impact, start, status, next update, owner. Release: version, rollback note, backup confirmed. Keep them short.
Day-30 review
Are open tasks in the tracker? Are notifications muted from spam? Can a new member find the roadmap alone? Any "no" → simplify before adding integrations.
Failure modes
Zombie Kanban, webhook noise, attachment disk fill, forgotten guest accounts.
Related reading
See Wiki for small teams, Docker Compose hardening, and Restore drill playbook.
Explore more
Related guides
- Self-Hosted Wiki for Households and Tiny Teams
Pick BookStack vs Wiki.js vs Outline for the job, structure pages people will actually use, and back up content before the wiki becomes the only copy.