---
title: Colanode
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, wiki, collaboration, crdt, local-first, typescript, postgres, redis, docker]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Wiki, https://github.com/colanode/colanode, https://colanode.com/]
---

# 🤝 Colanode

> **Workspace collaboratif open source et local-first** : un concurrent self-hosted à Notion + Slack combinant pages wiki, bases de données, chat en temps réel et gestion de fichiers dans une seule application.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [colanode.com](https://colanode.com/) |
| **GitHub** | [colanode/colanode](https://github.com/colanode/colanode) |
| **Licence** | Apache-2.0 |
| **Langage** | TypeScript |
| **Étoiles GitHub** | 4.9k ⭐ |
| **Dernière MAJ** | 2026-04-03 (v0.4.7) |
| **Catégorie** | [[cat-wiki]] |

## 📝 Description

**Colanode** est une plateforme de collaboration **tout-en-un** qui réunit dans une seule application ce que d'autres éditeurs découpent en plusieurs produits : un wiki structuré façon Notion, des bases de données personnalisables, un chat temps réel et un gestionnaire de fichiers. Le projet se distingue par son approche **local-first** : toutes les modifications sont d'abord sauvegardées dans une base SQLite locale, puis synchronisées avec le serveur en arrière-plan, ce qui permet de continuer à travailler même hors ligne.

La collaboration multi-utilisateur repose sur des **CRDT (Conflict-free Replicated Data Types)** propulsés par [Yjs](https://docs.yjs.dev/), ce qui garantit que plusieurs personnes peuvent éditer simultanément une page ou un enregistrement de base de données sans conflit, avec fusion automatique des changements. Les messages de chat et les opérations sur fichiers, eux, n'ont pas besoin de CRDT et utilisent des tables PostgreSQL classiques. Côté backend, Colanode supporte plusieurs backends de stockage (filesystem local par défaut, S3, Google Cloud Storage, Azure Blob) et s'appuie sur **PostgreSQL avec l'extension pgvector** plus **Redis** (ou Valkey) pour la coordination.

L'application se destine aux équipes qui veulent **regrouper leurs outils** (docs + chat + tâches + fichiers) sans dépendre d'un SaaS propriétaire. C'est un choix pertinent pour des PME, des associations ou des collectifs qui cherchent une alternative self-hosted à Notion + Slack, avec une philosophie open source assumée (Apache 2.0). Le revers de la médaille : le projet est encore jeune (v0.4.x) et l'écosystème de plugins/extensions reste limité.

## 🚀 Installation

### Option recommandée : Docker Compose

Le dépôt officiel fournit un `docker-compose.yaml` complet dans `hosting/docker/` qui démarre Postgres + Redis + le serveur Colanode, avec un profil optionnel pour MinIO (stockage S3-compatible).

```yaml
# docker-compose.yml
services:
  postgres:
    image: postgres:16-alpine
    container_name: colanode-postgres
    restart: unless-stopped
    environment:
      POSTGRES_USER: colanode
      POSTGRES_PASSWORD: change-me-strong-password
      POSTGRES_DB: colanode
    volumes:
      - colanode-pg:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U colanode"]
      interval: 10s
      timeout: 5s
      retries: 5

  redis:
    image: redis:7-alpine
    container_name: colanode-redis
    restart: unless-stopped
    command: ["redis-server", "--appendonly", "yes"]
    volumes:
      - colanode-redis:/data

  storage:
    image: minio/minio:latest
    container_name: colanode-minio
    restart: unless-stopped
    command: ["server", "/data", "--console-address", ":9001"]
    environment:
      MINIO_ROOT_USER: colanode
      MINIO_ROOT_PASSWORD: change-me-strong-secret
    volumes:
      - colanode-minio:/data
    profiles: ["s3"]

  server:
    image: ghcr.io/colanode/colanode-server:latest
    container_name: colanode-server
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_started
    environment:
      POSTGRES_URL: postgresql://colanode:change-me-strong-password@postgres:5432/colanode
      REDIS_URL: redis://redis:6379
      STORAGE_TYPE: local
      COLANODE_JWT_SECRET: change-me-long-random-secret
    volumes:
      - colanode-data:/app/data
      - ./config.json:/app/config.json:ro
    ports:
      - "3000:3000"

volumes:
  colanode-pg:
  colanode-redis:
  colanode-minio:
  colanode-data:
```

> Pour activer MinIO, lance avec `docker compose --profile s3 up -d` et règle `STORAGE_TYPE=s3` avec les credentials MinIO dans `config.json`.

### Option 2 : Kubernetes (Helm)

Le dépôt officiel fournit un chart Helm :

```bash
git clone https://github.com/colanode/colanode.git
cd colanode/hosting/kubernetes
helm install colanode ./chart \
  --set-file colanode.configFile.data=./config.json
```

### Option 3 : Cloud géré

Pour évaluer rapidement, [app.colanode.com](https://app.colanode.com/) propose une instance d'aperçu, et **Colanode Cloud** (EU/US) est en bêta.

## ⚙️ Configuration

- **`config.json`** : fichier de configuration unique, mounté dans le conteneur. Contient les paramètres de stockage, l'URL publique, les origines CORS autorisées, etc.
- **`env://VAR_NAME`** : dans le `config.json`, on peut référencer des variables d'environnement pour les secrets — le loader les résout au démarrage.
- **`POSTGRES_URL`** et **`REDIS_URL`** : seules deux variables strictement obligatoires hors `config.json`.
- **Stockage** : `STORAGE_TYPE` accepte `local`, `s3`, `gcs`, `azure`.
- **Auth** : JWT géré côté serveur ; pour activer un IdP externe (OIDC, LDAP), voir la documentation.
- **Premier compte** : le premier utilisateur enregistré devient automatiquement administrateur.

## 🔄 Alternatives

### Open Source
- [[app-outline]] — Wiki d'équipe moderne en TypeScript, plus mature
- [[app-affine]] — Workspace Notion-like open source, sans chat
- [[app-appflowy]] — Alternative Notion en Dart/Rust
- [[app-trilium-notes]] — PKM personnel hiérarchique, pas d'équipe
- [[app-xwiki]] — Wiki d'entreprise Java, beaucoup plus lourd
- **Docmost** — Wiki collaboratif Confluence-like, plus simple

### Propriétaires
- **Notion** — Cible directe, même positionnement
- **Slack + Notion** — Combinaison que Colanode cherche à remplacer
- **Microsoft Loop** — Approche concurrente de Microsoft 365
- **ClickUp** — Tout-en-un propriétaire avec wiki intégré

## 🔐 Sécurité

- ✅ Authentification par **JWT**, premier compte = admin (à verrouiller rapidement).
- ✅ Chiffrement des données en transit via **HTTPS obligatoire** (reverse proxy).
- ✅ Stockage local des secrets via `env://` : pas dans le `config.json` committé.
- ⚠️ L'extension **pgvector** est requise sur Postgres : vérifier la compatibilité avec vos sauvegardes.
- ⚠️ Les CRDT impliquent une réconciliation automatique ; auditer les permissions sur les espaces.
- ✅ Activer les **backups PostgreSQL** (pg_dump / WAL-G) + backup du dossier de stockage.
- ✅ Mettre à jour régulièrement : v0.4.x évolue vite, des correctifs de sécurité sortent fréquemment.
- ⚠️ Le mode local-first signifie que les clients gardent une copie de données sensibles : durcir les postes clients.

## 📚 Ressources

- [Site officiel Colanode](https://colanode.com/)
- [Dépôt GitHub colanode/colanode](https://github.com/colanode/colanode)
- [Documentation self-hosting](https://github.com/colanode/colanode/blob/main/hosting/docker/README.md)
- [Démo en ligne app.colanode.com](https://app.colanode.com/)
- [Reddit — retour d'expérience self-hoster](https://www.reddit.com/r/selfhosted/comments/1khpftl/i_built_colanode_an_opensource_localfirst_slack/)

## Pages Liées

- [[cat-wiki]] — Vue d'ensemble de la catégorie Wiki
- [[app-outline]] — Alternative plus mature pour wiki d'équipe
- [[app-affine]] — Workspace open source concurrent
- [[app-trilium-notes]] — PKM personnel, autre vision local-first
- [[recettes-docker-compose]] — Templates Docker Compose
- [[securisation-home-lab]] — Bonnes pratiques de sécurité
