Engram Cloud
Engram Cloud es replicación opt-in: el SQLite local sigue siendo la fuente de verdad, la nube agrega acceso compartido y un dashboard de navegador. No reemplaza el almacén local ni sincroniza todo de forma implícita.
El camino recomendado
docker compose -f docker-compose.cloud.yml up -d, después engram cloud config --server ..., engram cloud enroll <proyecto> y engram sync --cloud --project <proyecto>. El modo nube siempre pide un proyecto explícito; engram sync --cloud --all está bloqueado a propósito.
Self-hosting
La imagen oficial es ghcr.io/gentleman-programming/engram, publicada solo para linux/amd64 y linux/arm64. Un deploy real necesita ENGRAM_DATABASE_URL, ENGRAM_CLOUD_TOKEN, ENGRAM_CLOUD_ADMIN, ENGRAM_JWT_SECRET y ENGRAM_CLOUD_ALLOWED_PROJECTS. El modo inseguro (ENGRAM_CLOUD_INSECURE_NO_AUTH=1) es solo para desarrollo local, nunca para producción.
Usuarios y tokens
engram cloud bootstrap admin crea el primer admin gestionado; los proyectos se otorgan de forma explícita (deny-by-default) y emitir tokens gestionados requiere ENGRAM_CLOUD_TOKEN_PEPPER.
Cuando algo no sincroniza
La regla de oro: el SQLite local manda, la nube replica. Nunca borres sync_mutations ni edites last_acked_seq a mano; hacé un backup antes de reparar cualquier cosa.