Cómo instalar TimeTagger en Docker - Seguimiento de tiempo en Docker

Imagen
TimeTagger | Productividad | Docker TimeTagger: Seguimiento de tiempo intuitivo en Docker Controla tu tiempo con etiquetas, no proyectos. TimeTagger es un rastreador de tiempo web ligero, rápido y fácil de auto-alojar con Docker para freelancers y profesionales independientes. ¿Qué es TimeTagger? TimeTagger es una solución de seguimiento de tiempo basada en web que puedes ejecutar localmente o en tu propio servidor. Está dirigida a personas que trabajan por su cuenta, como freelancers y profesionales independientes. Utiliza la filosofía de etiquetado en lugar de proyectos rígidos, lo que permite organizar tu tiempo con máxima flexibilidad. En Docker: TimeTagger ofrece una imagen Docker oficial que hace que el auto-alojamiento sea extremadamente sencillo. Solo necesitas un contenedor con acceso a un volumen para la base de datos SQLite, y tendrás tu propio servidor de seguimiento de tiempo con todos los datos bajo tu ...

Cómo instalar Grimmory en Docker - Biblioteca digital en Docker

Grimmory | Biblioteca Digital | Docker

Grimmory: Tu biblioteca digital autoalojada con Docker

Grimmory es un fork comunitario de Booklore. Una potente y elegante biblioteca digital autoalojada que soporta eBooks, PDFs, cómics y audiolibros. Organiza, lee y sincroniza tu colección desde cualquier dispositivo.

¿Qué es Grimmory?


Grimmory es una biblioteca digital autoalojada para personas que toman la lectura en serio. Nace como un fork independiente de Booklore, ofreciendo todas las funcionalidades del original con mejoras y desarrollo comunitario activo. Es la solución ideal para gestionar, leer y sincronizar tu colección de libros digitales desde cualquier lugar.

En Docker: Grimmory se despliega fácilmente mediante Docker Compose con su propia base de datos MariaDB. Solo necesitas unos pocos archivos de configuración para tener una biblioteca digital completa con soporte para múltiples formatos, sincronización de lectura y gestión de metadatos enriquecidos.

Ventaja principal: Grimmory combina la potencia de una biblioteca digital profesional con la comodidad del auto-alojamiento. Compatible con múltiples formatos (EPUB, PDF, CBZ/CBR, audiolibros) y con sincronización con dispositivos Kobo y KOReader. Todo bajo tu control, sin depender de servicios en la nube.

Características principales

Estanterías inteligentes

Estanterías personalizadas y dinámicas con filtrado por reglas, etiquetado y búsqueda de texto completo.

Búsqueda de metadatos

Portadas, descripciones, reseñas y valoraciones extraídas automáticamente de Google Books, Open Library y Amazon.

Lector integrado

Le ePub, PDFs y cómics directamente en el navegador con anotaciones, resaltados y seguimiento de progreso.

Sincronización de dispositivos

Conecta Kobo, apps con OPDS o sincroniza progreso con KOReader. Tu biblioteca siempre contigo.

Multiusuario

Estanterías separadas, progreso y preferencias por usuario con autenticación local u OIDC.

BookDrop

Suelta archivos en una carpeta monitoreada y Grimmory detecta, enriquece metadatos y los encola para importar.

Compartir con un clic

Envía cualquier libro a un Kindle, una dirección de correo o a otro usuario directamente desde la interfaz.

Formatos múltiples

Soporta eBooks (EPUB, MOBI, AZW, AZW3, FB2), PDF, cómics (CBZ, CBR, CB7) y audiolibros (M4B, M4A, MP3, OPUS).

API documentada

API REST con documentación OpenAPI integrada. Integra Grimmory con otras herramientas de forma programática.

Almacenamiento en red

Compatible con almacenamiento en red (NFS, SMB). Opción DISK_TYPE=NETWORK para entornos compartidos.

Healthchecks

Monitoreo de salud del contenedor para asegurar que los servicios funcionan correctamente.

Open Source

Licencia AGPL-3.0. Código completamente abierto y desarrollo comunitario activo.

Requisitos del sistema

  • Docker y docker-compose instalados
  • 2 GB de RAM mínimo (4+ GB recomendado para bibliotecas grandes)
  • 10+ GB de espacio en disco para la base de datos y tu colección
  • Puerto 6060 disponible (acceso web)
  • Base de datos MariaDB (incluida en docker-compose)
  • Acceso a Internet para la búsqueda de metadatos
Nota importante: Grimmory requiere una base de datos MariaDB para funcionar. El docker-compose proporcionado incluye ambos servicios (Grimmory + MariaDB). Asegúrate de tener suficiente espacio para almacenar tu colección de libros.

Instalación rápida con Docker Compose

Paso 1: Crear archivo .env

# Aplicación APP_USER_ID=1000 APP_GROUP_ID=1000 TZ=Etc/UTC # Base de datos DATABASE_URL=jdbc:mariadb://mariadb:3306/grimmory DB_USER=grimmory DB_PASSWORD=ChangeMe_Grimmory_2025! # Opcional API_DOCS_ENABLED=false DISK_TYPE=LOCAL # MariaDB DB_USER_ID=1000 DB_GROUP_ID=1000 MYSQL_ROOT_PASSWORD=ChangeMe_MariaDBRoot_2025! MYSQL_DATABASE=grimmory

Paso 2: Crear docker-compose.yml

version: '3.8' services: grimmory: image: grimmory/grimmory:latest container_name: grimmory restart: unless-stopped environment: - USER_ID=${APP_USER_ID} - GROUP_ID=${APP_GROUP_ID} - TZ=${TZ} - DATABASE_URL=${DATABASE_URL} - DATABASE_USERNAME=${DB_USER} - DATABASE_PASSWORD=${DB_PASSWORD} - API_DOCS_ENABLED=${API_DOCS_ENABLED} - DISK_TYPE=${DISK_TYPE} depends_on: mariadb: condition: service_healthy ports: - "6060:6060" volumes: - ./data:/app/data - ./books:/books - ./bookdrop:/bookdrop healthcheck: test: wget -q -O - http://localhost:6060/api/v1/healthcheck interval: 60s retries: 5 start_period: 60s timeout: 10s mariadb: image: lscr.io/linuxserver/mariadb:11.4.5 environment: - PUID=${DB_USER_ID} - PGID=${DB_GROUP_ID} - TZ=${TZ} - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_USER=${DB_USER} - MYSQL_PASSWORD=${DB_PASSWORD} volumes: - ./mariadb/config:/config restart: unless-stopped healthcheck: test: ["CMD", "mariadb-admin", "ping", "-h", "localhost"] interval: 5s timeout: 5s retries: 10

Paso 3: Iniciar los contenedores

docker compose up -d

Paso 4: Acceder a Grimmory

Abre en tu navegador: http://localhost:6060

Crea tu cuenta de administrador y comienza a construir tu biblioteca.

Tip migración: Si migras desde Booklore, mantén los nombres de servicio, volúmenes y puertos actuales. Solo reemplaza la línea image: por grimmory/grimmory:latest o ghcr.io/grimmory-tools/grimmory:latest.

Configuración avanzada

Usar imagen desde GHCR

Alternativa al registro Docker Hub usando GitHub Container Registry:

image: ghcr.io/grimmory-tools/grimmory:latest

Activar documentación API

API_DOCS_ENABLED=true

Luego accede a http://localhost:6060/api/docs y el OpenAPI JSON en /api/openapi.json.

Almacenamiento en red

Para usar sistemas de archivos de red (NFS, SMB) y desactivar operaciones destructivas:

DISK_TYPE=NETWORK

BookDrop automático

Ssimplemente coloca archivos en la carpeta ./bookdrop:

volumes: - ./bookdrop:/bookdrop

Grimmory detectará, extraerá metadatos y encolará los libros para tu revisión.

Primeros pasos

1. Crear tu cuenta de administrador

  1. Accede a http://localhost:6060 tras iniciar los contenedores
  2. Completa el registro del primer usuario (será automáticamente administrador)
  3. Configura las preferencias generales de la biblioteca

2. Añadir libros con BookDrop

  1. Copia archivos (EPUB, PDF, MOBI, CBZ, etc.) a la carpeta ./bookdrop
  2. Grimmory detectará automáticamente los nuevos archivos
  3. Revisa los metadatos extraídos y confirma la importación
  4. Organiza los libros en estanterías personalizadas

3. Crear estanterías inteligentes

  1. Ve a la sección de Estanterías
  2. Crea una nueva estantería con reglas de filtrado (etiquetas, autor, género)
  3. Usa estanterías dinámicas para agrupaciones automáticas

4. Leer y sincronizar

  1. Haz clic en un libro para abrir el lector integrado
  2. Añade marcadores, resaltados y anotaciones durante la lectura
  3. Sincroniza tu progreso con Kobo vía OPDS o con KOReader
  4. Comparte libros directamente a Kindle o por correo

Precauciones y seguridad

Seguridad de la base de datos

Grimmory usa MariaDB como backend. Asegúrate de:

  • Cambiar las contraseñas por defecto en el archivo .env
  • No exponer el puerto de MariaDB a Internet
  • Realizar backups regulares del volumen de MariaDB

Almacenamiento

La carpeta ./books contiene tu colección completa:

  • El volumen ./data almacena configuración y base de datos SQLite auxiliar
  • Mantén backups de los volúmenes ./data, ./books y ./mariadb
  • Si usas DISK_TYPE=NETWORK, las operaciones de modificación se desactivan
Advertencia: Las credenciales por defecto son inseguras. Cambia todas las contraseñas en el archivo .env antes de exponer Grimmory a la red. Considera usar un reverse proxy con HTTPS para acceso remoto.

Configurar HTTPS con Caddy

grimmory.tudominio.com { reverse_proxy localhost:6060 }

Accede de forma segura desde tu dominio personalizado con certificado SSL válido.

Gestión y mantenimiento

Ver logs

docker compose logs -f grimmory

Reiniciar contenedores

docker compose restart

Detener

docker compose down

Actualizar a la última versión

docker compose pull
docker compose up -d

Backup completo

# Backup datos y base de datos
tar czf grimmory-backup-$(date +%Y%m%d).tar.gz ./data ./books ./mariadb

Casos de uso

  • Biblioteca personal: Centraliza toda tu colección de eBooks, PDFs y cómics en un solo lugar accesible desde cualquier dispositivo
  • Familias: Cada miembro tiene sus propias estanterías, progreso de lectura y preferencias personales
  • Clubs de lectura: Comparte libros entre miembros con la función de compartir con un clic
  • Profesionales: Organiza referencias técnicas, manuales y documentación en PDF de forma estructurada
  • Amantes de los cómics: Gestiona colecciones de cómics en CBZ/CBR con portadas automáticas y metadatos
  • Audiolibros: Almacena y organiza tu biblioteca de audiolibros con soporte para múltiples formatos

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.