Skip to content
RepoQuarry

Build · Intermediate · A weekend

Build a self-hosted team workspace with open-source software

Projects, docs, chat and calls for a small team, replacing four subscriptions.

Instead of paying for Jira, Linear, Notion, Confluence, Slack or Zoom Workplace Pro.

What you'll build

Everything a small team needs to work together, on servers you control: a project tracker, a shared wiki, team chat and video calls. It replaces Jira or Linear, Notion, Slack and Zoom, which together cost a lot per person each month and hold your company's knowledge on someone else's servers. It suits startups, agencies, clubs and non-profits that want predictable costs and their own data.

Blueprint

Plane holds the work, AFFiNE holds the docs, Rocket.Chat is where people talk, and a Jitsi link starts a call.

  1. You Projects, tasks and sprints Plane
  2. Plane Task updates posted to a channel Rocket.Chat
  3. Rocket.Chat A call link when talking is quicker Jitsi Meet
  4. AFFiNE Specs and notes linked from tasks Plane

The repos

  1. 01 · Projects and tasks Plane

    Self-hostable project management with work items (issues), cycles (sprints), modules, saved views, pages and analytics; also sold as Plane Cloud.

    Setup
    Medium; install script with Docker Compose, or Kubernetes source
    Hardware
    2 CPU cores, 4 GB RAM (8 GB recommended for production) source
    Paid extras
    None required; paid licence keys and Plane Cloud are optional
    ★ 61k AGPL-3.0 Confirmed: 8/8 facts Official docsGitHubReplaces Jira, Linear
  2. 02 · Docs and wiki AFFiNE

    Local-first workspace merging docs, whiteboard canvas and multi-view databases, with real-time sync and a self-hostable server.

    Setup
    Easy desktop installers; server via Docker Compose source
    Hardware
    Not documented in the repo
    Paid extras
    None required; AFFiNE Cloud Pro/Team and Self-Hosted Team are optional
    ★ 74k MIT for most code Partial: 7/8 facts Official docsGitHubReplaces Notion, Confluence
  3. 03 · Team chat Rocket.Chat

    Open core, self-hosted team chat with channels, threads, DMs, apps and federation; free Starter (50 users) and MIT Community editions.

    Setup
    Medium; Docker or Kubernetes plus a separately maintained MongoDB source
    Hardware
    Up to 500 concurrent users - Rocket.Chat 2 vCPU, 4 GiB RAM, 20 GiB disk; plus MongoDB 8.0+ (2 vCPU, 4 GiB per replica) source
    Paid extras
    None required within the free caps; Commercial, Government and Defense plans remove limits and add support
    ★ 46k MIT Confirmed: 8/8 facts Official docsGitHubReplaces Slack
  4. 04 · Video calls Jitsi Meet

    Apache-2.0 browser video conferencing with screen sharing, in-call chat and polls; self-host it for calls alongside a team chat.

    Setup
    Medium; apt packages on Debian/Ubuntu or Docker Compose, plus a domain and open UDP ports source
    Hardware
    8 GB RAM suggested (4 GB for small meetings, 2 GB for tests); 4 dedicated cores for a basic server; 20 GB disk; 1 Gbit/s network for small use source
    Paid extras
    None required
    ★ 30k Apache-2.0 Confirmed: 8/8 facts Official docsGitHubReplaces Zoom Workplace Pro

Step by step

Install commands change, so each step links to the repo's own docs for the exact commands.

  1. Pick one server and a domain

    Plan for one server with enough memory for all four apps (Plane alone asks for 4 GB, 8 GB in production) and a subdomain for each, such as tasks., docs., chat. and meet.

  2. Set up Plane for the work

    Install Plane, create a workspace and one project per team, and import open issues from your old tool.

    Uses Plane · its docs

  3. Move docs into AFFiNE

    Run the AFFiNE server and import your existing pages. Start with the handful of docs people open every week.

    Uses AFFiNE · its docs

  4. Open the chat

    Install Rocket.Chat with its MongoDB database, create channels that match your projects, and invite the team.

    Uses Rocket.Chat · its docs

  5. Add calls

    Install Jitsi Meet on its own server if you can; video needs open UDP ports and good bandwidth. Share one permanent meeting link per team.

    Uses Jitsi Meet · its docs

Watch out

AFFiNE and Rocket.Chat keep some enterprise code under separate licences. Rocket.Chat's free Starter plan caps users at 50.

Take it further

  • Post Plane updates into the matching Rocket.Chat channel with a webhook.
  • Use single sign-on so people log in once for all four.
  • Back up all four databases nightly to a second location.

Shared builds

Nobody has shared one yet. Be the first.

Built your own version and put it on GitHub as open source? Share your build

Questions

How many people can this handle?

Dozens easily on one decent server. Rocket.Chat's free Starter plan caps users at 50; Jitsi needs more bandwidth as calls grow.

Can we try it before switching?

Yes. Run it alongside your current tools with one team for a month, then move the rest.

What about mobile apps?

Plane, AFFiNE, Rocket.Chat and Jitsi all have phone apps or work in the phone browser.

Every repo here is open source, still maintained and checked against its own documentation. How we check →

Cookie preferences

Choose what we may store in your browser. You can change this any time from Cookie settings in the footer.

Essential

Security, and remembering this choice. rq-consent · 12 months

Always on