Instalar COGO
COGO es un contenedor (o un binario). Las únicas dos cosas que importan: monta un volumen en
/vault para que tus notas sobrevivan a las actualizaciones, y — en un servidor —
define un token.
En tu máquina (local, 2 minutos)
Sección titulada «En tu máquina (local, 2 minutos)»Con Docker Desktop instalado:
docker run -d --name cogo -p 127.0.0.1:8095:8080 \ -v cogo-vault:/vault -e COGO_ALLOW_INSECURE=1 \ ghcr.io/diegoparras/cogoAbre http://localhost:8095. Listo — ves tu vault pintado por confianza, capturas y editas notas, todo desde el navegador.
-p 127.0.0.1:8095:8080lo publica solo en tu máquina — nadie en tu red lo ve.-v cogo-vault:/vaultguarda tus notas en un volumen para que no se borren.-e COGO_ALLOW_INSECURE=1significa “sé que es local, no me pidas token”. Solo local.
Sin Docker — un único binario estático, sin runtime:
cogo serve -http 127.0.0.1:8080 -vault ./vaultEn un servidor con EasyPanel (recomendado)
Sección titulada «En un servidor con EasyPanel (recomendado)»EasyPanel no se lleva bien con docker-compose — no uses el tipo “Compose”. Usa el tipo App, que es más simple y agrega HTTPS por su cuenta.
- En tu proyecto de EasyPanel, + Add Service → App, llámalo
cogo. - Source — o bien GitHub (repo
diegoparras/cogo, ramamain, Build = Dockerfile; siempre funciona), o Docker Imageghcr.io/diegoparras/cogo:latest(requiere que el paquete sea público). - Environment:
(COGO_MCP_TOKEN=TU-TOKENCOOKIE_SECURE=1
COGO_VAULT=/vaultya es el valor por defecto.) - Mounts → Add Mount — tipo Volume, nombre
cogo-vault, ruta de montaje/vault. Si te lo saltas, cada actualización borra tus notas. - Domains → Add Domain — tu dominio, puerto
8080(el puerto interno de COGO). EasyPanel emite el certificado HTTPS por sí mismo. Ruta de health check, si la pide:/healthz. - Deploy, abre tu dominio y pega TU-TOKEN cuando el visor te lo pida.
Si la app se cae al arrancar, olvidaste COGO_MCP_TOKEN — COGO se niega, a propósito, a
quedarse en internet sin protección.
En un VPS a mano
Sección titulada «En un VPS a mano»La forma más segura (grado bancario): no expongas el puerto en absoluto — átalo a loopback y alcánzalo a través de un túnel.
# en el VPS:docker run -d --name cogo -p 127.0.0.1:8080:8080 \ -v cogo-vault:/vault -e COGO_MCP_TOKEN=TU-TOKEN \ ghcr.io/diegoparras/cogo
# en tu máquina (túnel SSH):ssh -N -L 8080:127.0.0.1:8080 usuario@tu-vpsAbre http://localhost:8080. El detalle del despliegue endurecido (túnel/VPN, TLS vía proxy,
límites) está en docs/seguridad.md.
Conectar Claude Code (MCP)
Sección titulada «Conectar Claude Code (MCP)»Local — lo más simple: sin red, cada sesión arranca su propio COGO. En un .mcp.json:
{ "mcpServers": { "cogo": { "command": "cogo", "args": ["serve", "-vault", "./vault"] } } }Remoto — por HTTP, con tu token en la cabecera:
{ "mcpServers": { "cogo": { "type": "http", "url": "https://tu-dominio/mcp", "headers": { "Authorization": "Bearer TU-TOKEN" } } }}Desde ahí, en cualquier sesión pides pack "<tema>" y obtienes contexto coloreado, o
capturas un hallazgo con capture. Lo que Claude aprende hoy, Cursor lo lee mañana: el
mismo vault.
Actualizar
Sección titulada «Actualizar»- EasyPanel: presiona Deploy (o Rebuild) de nuevo. Tus notas se quedan, gracias
al volumen
/vault. - Docker plano:
docker pull ghcr.io/diegoparras/cogoy recrea el contenedor con el mismo-v cogo-vault:/vault.
Opcional: un modelo de IA
Sección titulada «Opcional: un modelo de IA»COGO funciona perfectamente sin modelo. Si quieres que detecte contradicciones entre notas y afile el Guard, abre el visor → menú → Ajustes · Modelo de IA y conecta un modelo local (Ollama) o remoto (OpenRouter, DeepSeek). El gasto de tokens se muestra en el mismo menú.
Leer la documentación