DEV.co
Open-Source Databases · toeverything

OctoBase

OctoBase is an open-source, offline-first collaborative database written in Rust, designed to power applications like AFFiNE. It combines CRDT-based P2P synchronization, full-text indexing, and binary storage in a single embedded or standalone engine.

Source: GitHub — github.com/toeverything/OctoBase
2k
GitHub stars
138
Forks
Rust
Primary language
AGPL-3.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorytoeverything/OctoBase
Ownertoeverything
Primary languageRust
LicenseAGPL-3.0 — OSI-approved
Stars2k
Forks138
Open issues35
Latest releasep20230904 (2023-09-04)
Last updated2025-03-05
Sourcehttps://github.com/toeverything/OctoBase

What OctoBase is

A Rust-based CRDT database with native support for WebSocket and WebRTC sync, pluggable storage backends (SQLite, Postgres), schemaless data modeling, and multilingual full-text indexing. Embedded as a library or deployable as a standalone server.

Quickstart

Get the OctoBase source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/toeverything/OctoBase.gitcd OctoBase# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Offline-first collaborative document/knowledge applications

Build rich-text editors, wikis, or note-taking apps that sync seamlessly across devices and support real-time collaboration with CRDT guarantees.

Local-first mobile and desktop applications

Embed OctoBase directly into mobile (iOS/Android) or desktop clients for automatic offline functionality and eventual consistency across platforms.

P2P and decentralized data platforms

Leverage WebRTC and planned libp2p connectors to build peer-to-peer applications without central servers, with built-in permission control.

Implementation considerations

  • AGPL-3.0 copyleft terms: any proprietary use requires separate license or CLA acceptance. Review your deployment model (SaaS vs. embedded).
  • Project under heavy development; expect API instability and breaking changes before 1.0. Pin versions carefully and monitor issues/PRs.
  • Requires Rust toolchain and Cargo for compilation. WebAssembly support and language bindings are incomplete; plan integration work.
  • Storage backend choice (SQLite vs. Postgres) and sync transport (WebSocket vs. WebRTC) must be decided upfront; switching later may be costly.
  • Fine-grained permission model is present but full-text indexing and S3 adapters still work-in-progress; validate against feature checklist.

When to avoid it — and what to weigh

  • Production systems requiring high stability — Project explicitly states most components are not production-ready. Latest release is from Sep 2023; version 1.0 not reached. Major breaking changes possible.
  • Proprietary or permissive-license-only requirements — AGPL-3.0 requires source disclosure of modifications and derivative works. Stated plan to switch to MPL 2.0 post-1.0, but currently AGPL-locked.
  • Need for Java/Swift bindings in production — Java and Swift bindings are still in progress (marked 🚧). Only Rust and FFI integrations are stable.
  • Simple relational data models only — OctoBase is optimized for schemaless, unstructured, and rich-media data with CRDT semantics; not a traditional RDBMS replacement.

License & commercial use

Licensed under AGPL-3.0 (GNU Affero General Public License v3.0). This is a copyleft license: any derivative work or SaaS deployment must publish source code and make modifications available to users. Not a permissive OSI license like MIT or Apache-2.0.

Commercial use is possible only under these conditions: (1) internal/private use without SaaS distribution, or (2) obtain a separate commercial license from ToEverything. Deployment as a cloud service triggers AGPL disclosure obligations. Contributor License Agreement required. Planned license migration to MPL 2.0 post-1.0 may relax terms, but no timeline given.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationLimited
License clarityClear
Deployment complexityHigh
DEV.co fitPossible
Assessment confidenceMedium
Security considerations

No security audit data, penetration test results, or vulnerability disclosure policy provided in documentation. CRDT sync and permission control are implemented, but security posture is unverified. AGPL copyleft may provide visibility into modifications. Recommend independent security review before production deployment and evaluation of blob encryption (not mentioned).

Alternatives to consider

y.js / Yjs + Postgres

Established CRDT library with MIT license, more mature ecosystem, and flexible backend options. Requires more custom integration but less production risk.

Firebase Realtime Database / Firestore

Managed cloud-first collaborative database with SaaS, strong docs, and no license concerns. Suitable if vendor lock-in acceptable and offline-first not critical.

WatermelonDB / Realm

Production-ready embedded mobile databases with simpler schema and licensing. Less full-featured than OctoBase but lower risk for MVP.

Software development agency

Build on OctoBase with DEV.co software developers

Review the production-readiness checklist, test the latest build in a sandbox environment, and assess AGPL licensing impact on your business model before committing.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

OctoBase FAQ

Can I use OctoBase in a commercial SaaS product?
Not without a separate commercial license or publishing your source code. AGPL-3.0 requires SaaS deployments to disclose modifications. Contact ToEverything for licensing terms.
Is OctoBase production-ready?
No. The README explicitly states most components are not yet production-ready and major changes may occur before v1.0. Full-text indexing and S3 adapters are still in-progress (🚧).
What storage backends are supported?
Currently stable: SQLite and Postgres adapters for CRDT and blob storage. In-progress: S3 adapter. Choice depends on deployment model (embedded vs. server).
How do I sync data across devices?
OctoBase provides WebSocket and WebRTC connectors. A collaboration backend (e.g., keck) or custom sync server is required. Plan for operational overhead.

Software development & web development with DEV.co

Adopting OctoBase is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source databases software in production.

Ready to evaluate OctoBase for your project?

Review the production-readiness checklist, test the latest build in a sandbox environment, and assess AGPL licensing impact on your business model before committing.