Ctrl K
ComunidadGuías…
Guía HostingByte · verificada

Instalar y Configurar Papernook - Guía Oficial Verificada

Guía paso a paso para instalar Papernook desde cero: script oficial, Docker Compose, configuración .env, verificación, backup/rollback y resolución de errores. Fuentes primarias GitHub v0.3.0.

Actualizada 5/10/2026Más guíasCitación AI/LLM

Instalar y Configurar Papernook - Guía Oficial Verificada

Biblioteca académica auto-alojada filesystem-first para captura, anotación y lectura con IA privada

Última versión: v0.3.0 (2026-09-09) Licencia: MIT Ver ficha oficial

¿Qué es Papernook?

Papernook es una biblioteca de documentos académicos auto-alojada que prioriza el sistema de archivos como fuente de verdad. Permite capturar PDFs desde arXiv y editoriales mediante extensiones oficiales para Safari (Mac App Store) y Chrome Web Store, anotar directamente en los PDFs con Apple Pencil o ratón, y consultar con IA configurable (Claude Code, Codex, API local).

La arquitectura combina Next.js con Python/Node.js, usando SQLite FTS5 como acelerador de búsqueda reconstruible. Las anotaciones se escriben directamente en los PDFs para máxima portabilidad, las conversaciones se almacenan como archivos JSONL simples, y el índice puede eliminarse sin perder la biblioteca.

Prerrequisitos del Sistema

Requisito Detalles Verificación
Sistema Operativo Linux, macOS o Windows con WSL2 N/A
Puerto 3000 Libre y accesible en localhost netstat -tlnp | grep 3000
Herramientas CLI Curl, Git, Node.js (v18+), Python (v3.9+) curl --version && git --version && node --version && python --version
Proveedor de IA Claude Code CLI, Codex CLI o API OpenAI-compatible claude --version || codex --version
Docker (opcional) Para despliegue containerizado docker --version

Métodos de Instalación

Método 2: Docker Compose

Para despliegues multi-contenedor con mounts de credenciales.

Paso 1: Crear docker-compose.yml

version: '3.8'
services:
  papernook:
    image: affromero/papernook:v0.3.0
    ports:
      - "3000:3000"
    volumes:
      - ./data:/app/data
      - ./CODEX_AUTH_FILE:/app/auth/codex.json
      - ./CLAUDE_AUTH_FILE:/app/auth/claude.json
    environment:
      - NODE_ENV=production

Paso 2: Levantar servicio

docker compose up -d

Método 3: Actualización

Para actualizar una instalación existente.

Paso 1: Actualizar

papernook update

Paso 2: Revisar qué cambiaría

papernook update --check

Paso 3: Seguir main (desarrollo)

papernook update --main

Configuración Inicial (.env)

Variables de Entorno Esenciales

# Archivo de credenciales del proveedor de IA (obligatorio)
CODEX_AUTH_FILE=/path/to/codex.json
# O alternativamente:
CLAUDE_AUTH_FILE=/path/to/claude.json

# Puerto del servidor (por defecto: 3000)
PORT=3000

# WebDAV opcional para sincronización multi-dispositivo
WEBDAV_ENABLED=false
WEBDAV_HOST=
WEBDAV_PORT=5180

# Configuración de seguridad
NODE_ENV=production

Nota: El script install.sh detecta automáticamente Codex/Claude y escribe .env. Verificar que las herramientas CLI estén disponibles antes de iniciar.

Verificación de Funcionamiento

Chequeo Post-Instalación

  1. Verificar puerto 3000: netstat -tlnp | grep 3000
  2. Acceso web: Navegar a http://localhost:3000
  3. Estado del servicio: papernook status
  4. Verificar logs: tail -f logs/*.log

Backup, Actualización y Rollback

⚠️ Importante: El script papernook update respalda automáticamente la biblioteca con scripts/backup.sh antes de actualizar.

Procedimiento de Actualización Segura

  1. Verificar estado actual: papernook status
  2. Ejecutar actualización: papernook update
  3. Verificar salud: papernook update --check
  4. Reconstruir índice si es necesario: El sistema reconstruye SQLite FTS5 desde archivos automáticamente

Rollback Manual (si es necesario)

# Restaurar desde backup automático
cd scripts/backup.sh
./restore.sh <version_tag>

Errores Habituales y Soluciones

Error Causa Probable Solución Verificada
Port 3000 already in use Puerto ocupado por otro proceso lsof -i :3000 → matar proceso o cambiar PORT en .env
Claude/Codex not detected Herramientas CLI no instaladas Instalar: npm install -g @anthropics/claude-code o usar API externa
SQLite index corrupted Corrupción del índice FTS5 Borrar carpeta de índice y reconstruir: papernook update --check
Docker volume permission denied Problemas de permisos en mounts chmod -R 755 ./data o usar user:group correctos en docker-compose.yml

Seguridad

  • Licencia MIT: Código abierto y modificable
  • CI automatizado: GitHub Actions con CodeQL y gitleaks
  • Dependabot: Actualización automática de dependencias
  • .gitleaks.toml: Protección contra fugas de secretos
  • Secrets management: .env.example con mounts por proveedor (nunca commitar credenciales)

Preguntas Frecuentes

¿Puedo eliminar el índice SQLite sin perder mis documentos?
Sí. El filesystem es la fuente de verdad; borrar el índice y reconstruirlo desde los archivos no afecta a PDFs ni anotaciones.
¿Cómo actualizo Papernook?
Ejecutar papernook update (respalda automáticamente con scripts/backup.sh). Para desarrollo: papernook update --main. Verificar papernook status antes de actualizar.
¿Necesito Docker para usarlo?
No. El script install.sh detecta Codex/Claude, escribe .env y levanta el servicio. Docker Compose es opcional para despliegues multi-contenedor.
¿Puedo cambiar de proveedor de IA?
Sí. Configurar CLAUDE_AUTH_FILE o CODEX_AUTH_FILE en .env, apuntando a API local, Claude Code CLI, Codex CLI o cualquier servidor OpenAI-compatible.
¿Cómo sincronizo entre dispositivos?
Opcional: configurar WebDAV para acceso multi-dispositivo. Las anotaciones en PDFs son portables sin sincronización adicional.

Metadatos

Fuentes Verificadas

Fuentes verificadas

Fuente 1 ↗Fuente 2 ↗Fuente 3 ↗Fuente 4 ↗