Aller au contenu

Installer COGO

COGO est un conteneur (ou un binaire). Les deux seules choses qui comptent : monter un volume sur /vault pour que vos notes survivent aux mises à jour, et — sur un serveur — définir un jeton.

Avec Docker Desktop installé :

Fenêtre de terminal
docker run -d --name cogo -p 127.0.0.1:8095:8080 \
-v cogo-vault:/vault -e COGO_ALLOW_INSECURE=1 \
ghcr.io/diegoparras/cogo

Ouvrez http://localhost:8095. C’est fait — vous voyez votre coffre peint par confiance, vous capturez et modifiez des notes, le tout depuis le navigateur.

  • -p 127.0.0.1:8095:8080 ne le publie que sur votre machine — personne sur votre réseau ne le voit.
  • -v cogo-vault:/vault garde vos notes dans un volume pour qu’elles ne soient pas supprimées.
  • -e COGO_ALLOW_INSECURE=1 signifie « je sais que c’est local, ne demande pas de jeton ». Local uniquement.

Sans Docker — un seul binaire statique, sans runtime :

Fenêtre de terminal
cogo serve -http 127.0.0.1:8080 -vault ./vault

EasyPanel ne s’entend pas avec docker-compose — n’utilisez pas le type « Compose ». Utilisez le type App, plus simple, qui ajoute le HTTPS tout seul.

  1. Dans votre projet EasyPanel, + Add Service → App, nommez-le cogo.
  2. Source — soit GitHub (dépôt diegoparras/cogo, branche main, Build = Dockerfile ; fonctionne toujours), soit Docker Image ghcr.io/diegoparras/cogo:latest (exige que le paquet soit public).
  3. Environment :
    COGO_MCP_TOKEN=VOTRE-JETON
    COOKIE_SECURE=1
    (COGO_VAULT=/vault est déjà la valeur par défaut.)
  4. Mounts → Add Mount — type Volume, nom cogo-vault, chemin de montage /vault. Sautez cette étape et chaque mise à jour efface vos notes.
  5. Domains → Add Domain — votre domaine, port 8080 (le port interne de COGO). EasyPanel émet lui-même le certificat HTTPS. Chemin de health check, si demandé : /healthz.
  6. Deploy, ouvrez votre domaine, et collez VOTRE-JETON quand le visualiseur vous le demande.

Si l’application plante au démarrage, vous avez oublié COGO_MCP_TOKEN — COGO refuse, à dessein, de rester sur Internet sans protection.

La forme la plus sûre (niveau bancaire) : n’exposez pas le port du tout — liez-le au loopback et atteignez-le via un tunnel.

Fenêtre de terminal
# sur le VPS :
docker run -d --name cogo -p 127.0.0.1:8080:8080 \
-v cogo-vault:/vault -e COGO_MCP_TOKEN=VOTRE-JETON \
ghcr.io/diegoparras/cogo
# sur votre machine (tunnel SSH) :
ssh -N -L 8080:127.0.0.1:8080 user@votre-vps

Ouvrez http://localhost:8080. Le détail du déploiement durci (tunnel/VPN, TLS via proxy, limites) se trouve dans docs/seguridad.md.

Local — le plus simple : pas de réseau, chaque session démarre son propre COGO. Dans un .mcp.json :

{ "mcpServers": { "cogo": { "command": "cogo", "args": ["serve", "-vault", "./vault"] } } }

Distant — via HTTP, avec votre jeton dans l’en-tête :

{
"mcpServers": {
"cogo": {
"type": "http",
"url": "https://votre-domaine/mcp",
"headers": { "Authorization": "Bearer VOTRE-JETON" }
}
}
}

À partir de là, dans n’importe quelle session, vous demandez pack "<sujet>" et obtenez du contexte coloré, ou vous capturez une découverte avec capture. Ce que Claude apprend aujourd’hui, Cursor le lit demain : le même coffre.

  • EasyPanel : cliquez à nouveau sur Deploy (ou Rebuild). Vos notes restent, grâce au volume /vault.
  • Docker seul : docker pull ghcr.io/diegoparras/cogo et recréez le conteneur avec le même -v cogo-vault:/vault.

COGO fonctionne parfaitement sans modèle. Si vous voulez qu’il détecte des contradictions entre notes et qu’il affûte le Guard, ouvrez le visualiseur → menu → Réglages · Modèle d’IA et connectez un modèle local (Ollama) ou distant (OpenRouter, DeepSeek). La dépense en tokens s’affiche dans le même menu.

Lire la documentation