Hakan Shehu 3e4c8b8125 Implement new routing with tanstack router and mobile app kickoff (#248)
* Init mobile app
* Minor fixes and improvements
* Improve assets loading
* Fix event bus proxy
* Improve emojis and icons loading
* Improve app initialization in web
* Init tanstack router
* Refactor components
* Refactor some more components
* Refactor layouts
* Improve routing
* Improve routing
* Routing improvements
* Make sidebar work in mobile
* Refactor container and breadcrumb
* Fix some packages and warnings
* Encode and decode yjs update for ipc communication
* Refactor servers in client
* Fix some errors and warnings in editor and sidebar
* Add route masking for web
* Improve container layout
* Improve ui for mobile
* Improve mobile ui
* Create custom link component
* Router improvements
* Implement tabs for desktop
* tabs improvements
* Refactor routes
* Layout improvements
* Improve desktop tabs
* Use tanstack-db for global collections
* Improve tanstack db collections
* Refactor workspaces and accounts databases and routes locally
* Use tanstackdb for users
* Use tanstackdb for uploads and downloads
* Use tanstackdb for temp files
* Rename database to collections
* Improve tabs
* Fix packages
* Improve local file handling
* Rename sync cursor keys
* Save some bootstrap data in a file
* Reset all data on new version update in desktop
* Minor refactor
* Implement app reset on startup
* UI fixes and improvements
* More Ui improvements
* Fix logout
* Add tab in route contexts for workspace routes
* Store last used workspace id as metadata
* Fix account logout
* Fix file preview
* Fix file thumbnail loading in tabs
* Fix chat tab loading
* Fix some redirect handling
* Disable staletime for icon.svg.get query
* Fix not found pages and throws
* add readme for mobile
* fix some keys
* Improve add tab handler
* Fix path
2025-11-11 07:00:14 -08:00
2025-09-30 00:57:53 +02:00
2025-06-11 00:14:17 +02:00
2024-11-04 23:16:44 +01:00
2024-11-05 22:33:43 +01:00
2024-12-08 20:31:55 +01:00
2025-10-15 09:37:45 +02:00
2024-11-10 11:54:15 +01:00

Colanode

Open-source & local-first collaboration workspace that you can self-host

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.

What can you do with Colanode?

  • 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.

Colanode preview

How it works

Colanode includes a client app (web or desktop) and a self-hosted server. You can connect to multiple servers with a single app, each containing one or more workspaces for different teams or projects. After logging in, you pick a workspace to start collaborating—sending messages, editing pages, or updating database records.

Local-first workflow

All changes you make are saved to a local SQLite database first and then synced to the server. A background process handles this synchronization so you can keep working even if your computer or the server goes offline. Data reads also happen locally, ensuring immediate access to any content you have permissions to view.

Concurrent edits

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.

Get started for free

The easiest way to start using Colanode is through our web app, accessible instantly at app.colanode.com. Simply log in to get started immediately, without any installation. Please note, the web app is currently in early preview and under testing; you may encounter bugs or compatibility issues in certain browsers.

For optimal performance, you can install our desktop app, available from our downloads page. Both the web and desktop apps allow you to connect to any of our free beta cloud servers:

  • Colanode Cloud (EU) hosted in Europe.
  • Colanode Cloud (US) hosted in the United States.

Both cloud servers are currently available in beta and free to use; pricing details will be announced soon.

Self-host

If you prefer to host your own Colanode server, check out the hosting/ folder which contains the Docker Compose file and deployment configurations. For Kubernetes deployments, see the hosting/kubernetes/ folder which includes Helm charts and additional documentation. Here's what you need to run Colanode yourself:

  • Postgres with the pgvector extension.
  • Redis (any Redis-compatible service will work, e.g., Valkey).
  • Storage backend for user files. Colanode defaults to local filesystem storage, but you can switch to S3-compatible, Google Cloud Storage, or Azure Blob Storage backends by setting STORAGE_TYPE.
  • Colanode server API, provided as a Docker image.

All required environment variables for the Colanode server can be found in the hosting/docker/docker-compose.yaml file or hosting/kubernetes/README.md for Kubernetes deployments.

Running locally

To run Colanode locally in development mode:

  1. Clone the repository:

    git clone https://github.com/colanode/colanode.git
    cd colanode
    
  2. Install dependencies at the project root:

    npm install
    
  3. Start the apps you want to run locally:

    Server

    cd apps/server
    
    # Copy the environment variable template and adjust values as needed
    cp .env.example .env
    
    npm run dev
    

    To spin up the local dependencies (Postgres, Redis, and Mail server) with Docker Compose—using filesystem storage by default—run this from the project root:

    docker compose -f hosting/docker/docker-compose.yaml up -d
    

    When you prefer an S3-compatible backend locally, enable the optional MinIO service with the s3 profile:

    docker compose -f hosting/docker/docker-compose.yaml --profile s3 up -d
    

    The compose file includes a server service. When you want to run the API locally with npm run dev, comment out (or override) that service so only the supporting services are started.

    Web

    cd apps/web
    npm run dev
    

    Desktop

    cd apps/desktop
    npm run dev
    

License

Colanode is released under the Apache 2.0 License.

Languages
TypeScript 98.8%
HTML 0.5%
CSS 0.3%
Smarty 0.2%
Dockerfile 0.1%