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
:stablebut 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 100Mis 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)
:stableimage 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
Get this app — pick a BluixApps plan
Same catalog. Scaling tenant isolation, white-label and support tier.
| Tier | Tenants | Catalog | Support | White-label | Monthly | |
|---|---|---|---|---|---|---|
| Stacks | 1 | 19 curated stacks | Standard | — | $19/mo | DetailDeploy |
| Starter | 10 | Full catalog | Standard | +$15–25/mo | $49/mo | DetailDeploy |
| Pro | 25 | Full catalog | Priority bugfix | +$15–25/mo | $149/mo | DetailDeploy |
| Growth | 100 | Full catalog | Priority bugfix | +$15–25/mo | $349/mo | DetailDeploy |
| Scale | 500 | Full catalog | 7-day window | +$15–25/mo | $799/mo | DetailDeploy |
| Enterprise | Unlimited | Full catalog | Priority 7-day | Bundled | $1,499/mo | DetailDeploy |