Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

gpb

gpb es un daemon autoalojado que replica la biblioteca de Google Photos a almacenamiento local persistente. Utiliza una sesión de navegador real para evitar limitaciones de la API, ofreciendo curación granular y gestión de duplicados mediante interfaz web y CLI en Go.

Ficha actualizada 23 sept 2026, 21:50 · upstream 23 sept 2026, 21:48 · release v0.4.2

00

Qué es gpb

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

gpb es un daemon autoalojado que replica la biblioteca de Google Photos a almacenamiento local persistente. Utiliza una sesión de navegador real para evitar limitaciones de la API, ofreciendo curación granular y gestión de duplicados mediante interfaz web y CLI en Go. El software actúa como un appliance siempre activo que copia la librería a un disco propio, con capacidad de supervivencia ante expiración de sesiones mediante calentamiento programado.

Ofrece una interfaz web para decidir qué copiar, incluyendo vistas de álbumes y biblioteca completa con navegación por fechas. Soporta integración nativa con Home Assistant vía MQTT Discovery, permitiendo control remoto sin escribir YAML. La herramienta incluye comandos CLI robustos para verificación de integridad, reparación de archivos dañados y gestión de enlaces duros para optimizar el uso del disco.

El despliegue soporta Docker Compose o Podman rootless con systemd Quadlet. Requiere un volumen inicial para descargar Google Chrome (~1GB) al primer arranque, pero garantiza que los metadatos EXIF y GPS se preserven intactos en la copia local sin transcoding de videos.

CASOS DE USO
  • Backup local de biblioteca completa o selectiva
  • Curación granular por álbumes o elementos individuales
  • Integración con ecosistema Home Assistant vía MQTT
  • Verificación y reparación de integridad de archivos almacenados
  • Gestión de duplicados mediante enlaces duros para ahorrar espacio
  • Interfaz web para gestión sin intervención de la API de Google
PUNTOS DESTACADOS
  • Utiliza sesión de navegador real, evitando la obsolescencia de la API de Librería
  • CLI en Go con comandos específicos para verificación (verify) y reparación
  • Soporte nativo para Home Assistant mediante MQTT Discovery
  • Preservación completa de metadatos EXIF y GPS sin transcoding
  • Gestión eficiente de duplicados mediante creación de enlaces duros
  • Persistencia de datos en disco local con reanudación de copias interrumpidas
PRECAUCIONES
  • Requiere ~1GB de espacio inicial para descargar Google Chrome al primer arranque
  • Dependencia de una sesión activa de Google que puede caducar periódicamente
  • Configuración HTTPS manual necesaria si se desea cifrar el tráfico web
  • No soporta ejecución sin intervención humana inicial (configuración de credenciales)
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

The overview page: what is backed up, what is running, and whether the Google session is still goodThe album listAn album's grid, with per-item state and sizesThe photo page: the whole library as one grid, with the years down the right edgeThe activity page: the run in flight above, the history belowThe settings page, with the broker's connection state under the Home Assistant fields
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

Utilizar docker-compose.yml o podman con systemd Quadlet. Crear directorios data y photos con permisos 700 y dueño 1000:1000. Ejecutar gpb passwd para establecer contraseña web antes de iniciar el daemon. Configurar variables de entorno si se requiere HTTPS o broker MQTT personalizado. El primer inicio tardará más debido a la descarga de Chrome.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsGo
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
80908080
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.