Affine

App in the BluixApps catalog

What it is

AFFiNE is an open-source, unified workspace that merges document editing, whiteboarding, and databases into a single, real-time collaborative platform. Often described as "Notion + Miro + Airtable in one tool", it's actively developed by ToEverything and is the most ambitious self-hosted Notion alternative in pre-1.0 stable status.

Unlike Notion, AFFiNE keeps your data on your infrastructure — pages, whiteboards, attachments live in the Postgres + Redis stack you deploy. No upstream telemetry, no per-seat SaaS billing, no cloud dependency.

What it's for

  • Personal knowledge bases — multi-format notes that mix free-form text, structured databases, and visual whiteboards in the same page
  • Team docs & wikis — real-time multiplayer editing with conflict-free merges, similar to Notion's collaborative model
  • Product / design boards — Miro-style infinite canvas for diagrams, user flows, sprint planning
  • Embedded databases — inline tables that link to docs, perfect for OKR tracking, content calendars, project portfolios
  • Privacy-first organizations — companies in regulated industries (legal, healthcare, finance) that can't push data to US SaaS clouds

Who it's for

  • Indie teams & OSS maintainers — small groups who want one tool for docs, planning, and whiteboards without paying per seat
  • Privacy-conscious agencies — legal, healthcare, finance, consulting firms blocked from US-hosted Notion/Miro by data residency rules
  • Schools & education orgs — learning workspaces under GDPR/FERPA where student data can't leave the institution's infrastructure
  • Engineering departments at scale — teams of 20-200 needing collaborative docs without the Confluence pricing tax
  • Side-project founders — bootstrappers wanting workspace tooling without recurring per-user cost as the team grows

Why teams pick AFFiNE over alternatives

  • Open source (MIT) — full audit + fork rights
  • Local-first sync — works offline, syncs when reconnected
  • AI built-in (optional) — workspace-level LLM assistant with BYOK (your OpenAI/Anthropic key)
  • Mature editor — block-based, slash commands, embeds (Figma, GitHub, YouTube)
  • Modern stack — Node.js + GraphQL + Yjs CRDT for collaboration
  • Same product for self-host and cloud — no feature gating between OSS and SaaS

Integrations

  • Postgres 17 + Redis 7 — primary persistence + sync state (shipped together in our stack)
  • Yjs CRDT — real-time multiplayer engine, automatic conflict resolution
  • BYOK LLMs — OpenAI, Anthropic, custom OpenAI-compatible endpoints (incl. Ollama on same VPS)
  • External embeds — Figma, GitHub, YouTube, Twitter, Loom render inline in docs
  • S3-compatible object storage — attachments offload to MinIO, Backblaze B2, R2, AWS S3
  • WebDAV / SFTP backup access — supplements BluixApps backup hook for off-VPS archival
  • OAuth identity — Google, GitHub providers for team sign-in (LDAP via reverse proxy)

Notable users & community

  • 50k+ GitHub stars, top-10 trending self-host project on awesome-selfhosted
  • Active Discord + GitHub Discussions community with daily contributor activity
  • Used by indie teams, OSS maintainers, privacy-conscious agencies, schools running their own learning workspace
  • Public roadmap on GitHub; weekly release cadence in 2025-2026
  • Backed by ToEverything (HK-based) with EU+APAC contributor base

Tips & operations

  • Pin a specific image tag — pre-1.0 means upstream breaking changes happen; we ship :stable but our pinned tag is what survives upgrades
  • Schedule weekly Postgres dumps independent of BluixApps backup hook — gives you a second-line restore point at zero cost
  • Reverse-proxy with HTTP/2 + gzip — large whiteboards benefit substantially from on-the-wire compression
  • Disable the AI assistant if you're not paying for OpenAI/Anthropic credentials — drops attack surface and removes a dead UI button
  • Bound invite link TTLs when sharing externally — default is forever; many privacy regimes want a concrete expiry
  • Limit attachment size at proxy level — AFFiNE doesn't cap by default; nginx client_max_body_size 100M is a sane starting point

What we ship in BluixApps

  • Docker compose stack: AFFiNE app + Postgres 17 + Redis 7 + migration helper
  • Idempotent install (re-running won't break existing data)
  • :stable image pinned at install time (pre-1.0 means breaking changes possible — we track upstream + push catalog updates when needed)
  • Pre-configured admin user — you change the password on first login
  • SSL via Let's Encrypt on Enterprise tier
  • Backup hook integrates with BluixApps auto-backup before each update
Read this app's deep dive on bluix.app ↗

Get this app — pick a BluixApps plan

Same catalog. Scaling tenant isolation, white-label and support tier.

TierTenantsCatalogSupportWhite-labelMonthly
Stacks119 curated stacksStandard$19/moDetailDeploy
Starter10Full catalogStandard+$15–25/mo$49/moDetailDeploy
Pro25Full catalogPriority bugfix+$15–25/mo$149/moDetailDeploy
Growth100Full catalogPriority bugfix+$15–25/mo$349/moDetailDeploy
Scale500Full catalog7-day window+$15–25/mo$799/moDetailDeploy
EnterpriseUnlimitedFull catalogPriority 7-dayBundled$1,499/moDetailDeploy

Powered by WHMCompleteSolution