Colanode is an all-in-one platform for easy collaboration, built to prioritize your data privacy and control. Designed with a local-first approach, it helps teams communicate, organize, and manage projects—whether online or offline. With Colanode, you get the flexibility of modern collaboration tools, plus the peace of mind that comes from owning your data.
- Real-Time Chat: Stay connected with instant messaging for teams and individuals.
- Rich Text Pages: Create documents, wikis, and notes using an intuitive editor, similar to Notion.
- Customizable Databases: Organize information with structured data, custom fields and dynamic views (table, kanban, calendar).
- File Management: Store, share, and manage files effortlessly within secure workspaces.
Built for both individuals and teams, Colanode adapts to your needs, whether you're running a small project, managing a team, or collaborating across an entire organization. With its self-hosted model, you retain full control over your data while enjoying a polished, feature-rich experience.
This branch focuses on a local-first client workflow. Data is stored on-device and used directly by the desktop/web clients so you can collaborate locally without requiring a remote server runtime.
All changes you make are saved to a local SQLite database first. Reads also happen locally, ensuring immediate access to any content you have permissions to view and smooth offline usage.
Colanode relies on Conflict-free Replicated Data Types (CRDTs) - powered by Yjs - to allow real-time collaboration on entries like pages or database records. This means multiple people can edit at the same time, and the system gracefully merges everyone's updates. Deletions are also tracked as specialized transactions. Messages and file operations don't support concurrent edits and use simpler database tables.
To run Colanode locally in development mode:
-
Clone the repository:
git clone https://github.com/colanode/colanode.git cd colanode -
Install dependencies at the project root:
npm install
-
Start the apps you want to run locally:
Web
cd apps/web npm run devDesktop
cd apps/desktop npm run devTo store desktop local data (SQLite databases, workspace files, images, etc.) in a custom directory, set
COLANODE_STORAGE_DIRbefore starting the app:COLANODE_STORAGE_DIR=/absolute/path/to/your/local-repo npm run dev --workspace @colanode/desktop
You can also pass a CLI flag:
npm run dev --workspace @colanode/desktop -- --colanode-storage-dir=/absolute/path/to/your/local-repo
Colanode includes tests for web.
From apps/web:
npm run testColanode is released under the Apache 2.0 License.

