PDF Manager: Gestor de PDF autohospedado con anotaciones y OPDS

Publicado por


Self-hosted PDF Manager

PDF Manager: Gestor de PDF autohospedado con anotaciones y OPDS

Organiza, anota y comparte tus documentos PDF con una interfaz web moderna y soporte multi-usuario

Vídeo tutorial en YouTube

Mira el vídeo completo sobre cómo instalar y usar PDF Manager: Gestor de PDF autohospedado con anotaciones y OPDS en el canal GENBYTE:

¿Qué es PDF Manager: Gestor de PDF autohospedado con anotaciones y OPDS?

PDF Manager es una aplicación web de código abierto diseñada para la gestión de documentos PDF en entornos autohospedados. Desarrollada en TypeScript y distribuida bajo licencia MIT, ofrece una solución completa para organizar bibliotecas personales o compartidas con capacidades de anotación, búsqueda full-text y acceso mediante protocolo OPDS para lectores electrónicos. El proyecto se centra en la simplicidad y la privacidad, permitiendo a cada usuario mantener su propia biblioteca con control de acceso granular.

Combina organización jerárquica de colecciones, anotaciones enriquecidas buscables y compatibilidad OPDS nativa en una única imagen Docker lista para producción.

Características principales

Anotaciones enriquecidas

Permite añadir comentarios, resaltados y etiquetas en cualquier página del PDF. Todas las anotaciones son indexadas para búsqueda full-text.

Organización de biblioteca

Soporta colecciones anidadas, etiquetas, favoritos y seguimiento del estado de lectura de cada archivo.

Autenticación flexible

Cuentas locales y soporte para Single Sign-On mediante OIDC (OpenID Connect).

Entorno multi-usuario

Cada usuario dispone de su propia biblioteca aislada con gestión independiente de colecciones y anotaciones.

Compartición con permisos

Invita a otros usuarios a colecciones específicas con control de permisos de acceso.

Búsqueda unificada

Busca por metadatos de archivo, contenido de páginas, cuerpo de anotaciones y etiquetas en una sola consulta.

Soporte OPDS

Expone la biblioteca mediante catálogo OPDS para navegar y descargar desde cualquier aplicación de lectura compatible.

Requisitos del sistema

  • Docker y Docker Compose instalados
  • Variables de entorno JWT_SECRET definidas en archivo .env
  • Puerto 8080 disponible en el host

Instalación con Docker Compose

Despliegue rápido de prueba

Ejecuta una instancia efímera para evaluación. Requiere definir secretos JWT temporales.

docker run -e APP_ACCESS_JWT_SECRET='change_me' -e APP_REFRESH_JWT_SECRET='change_me' -p 8080:8080 –rm ghcr.io/g0rsthir/pdfmanager:latest

Despliegue persistente con Docker Compose

Configuración recomendada para producción con volumen persistente y variables de entorno en archivo .env.

services:
app:
restart: unless-stopped
image: ghcr.io/g0rsthir/pdfmanager:latest
volumes:
– app-storage:/app/storage
env_file:
– .env
environment:
– APP_ACCESS_JWT_SECRET=${JWT_SECRET?Variable not set}
– APP_REFRESH_JWT_SECRET=${JWT_SECRET?Variable not set}
ports:
– 8080:8080
volumes:
app-storage:

Acceder al proyecto

Interfaz web

Accede a la aplicación en http://localhost:8080/ tras iniciar el contenedor.

Casos de uso

  • Gestión personal de biblioteca de documentos PDF con anotaciones y seguimiento de lectura
  • Entorno colaborativo para equipos que requieren compartir colecciones con control de permisos
  • Servidor OPDS para sincronizar lectores electrónicos (Kobo, PocketBook, aplicaciones móviles) con biblioteca centralizada
  • Archivo documental con búsqueda full-text en contenido, anotaciones y metadatos
  • Alternativa autohospedada a servicios en la nube para privacidad de documentos sensibles

Configuración avanzada

Configuración de secretos JWT

Genera claves seguras para los tokens de acceso y refresco. El archivo .env debe contener JWT_SECRET con valor criptográficamente seguro.

# Ejemplo de generación de secreto
openssl rand -base64 32

# Contenido de .env
JWT_SECRET=tu_secreto_generado_aqui

Configuración OIDC (SSO)

La documentación del repositorio menciona soporte OIDC pero no detalla variables de entorno ni pasos de configuración en los archivos proporcionados. Consulta el código fuente o issues del repositorio para parámetros específicos.

# No documentado en README ni archivos raíz proporcionados

Gestión y mantenimiento

Actualización de imagen

Actualiza a la última versión tirando de la etiqueta latest y recreando el contenedor.

docker compose pull
docker compose up -d

Backup de datos

El volumen app-storage contiene la base de datos, archivos subidos y configuración. Realiza copias de seguridad de este volumen Docker.

docker run –rm -v pdfmanager_app-storage:/data -v $(pwd):/backup alpine tar czf /backup/pdfmanager-backup-$(date +%F).tar.gz -C /data .

Logs de la aplicación

Consulta los logs del contenedor para diagnóstico.

docker compose logs -f app

Stack técnico

  • TypeScript
  • Docker
  • Docker Compose
  • OPDS (Open Publication Distribution System)
  • OIDC (OpenID Connect)
  • JWT (JSON Web Tokens)

Referencias oficiales

Apoya el canal GENBYTE

Sígueme en mis redes sociales

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *