Guía de despliegue

Alojar PhotoPrism en su propio VPS

Desplegar en un VPS Cloud →

Tutorial

Alojar PhotoPrism en su propio VPS

Autoalojamiento8 min de lectura5 pasos

PhotoPrism es un gestor de fotos autoalojado que clasifica automáticamente sus imágenes por lugar, por contenido y por color gracias al machine learning integrado. En su propio VPS, convierte una colección desordenada en una biblioteca consultable, sin ningún servicio de nube externo. Esta guía cubre la instalación completa, la configuración del reverse proxy nginx, la optimización del rendimiento ML en un VPS modesto, la resolución de errores frecuentes y una estrategia de copia de seguridad sólida.

Contenido· Por qué autoalojar PhotoPrism en un VPS1/9
  1. 01Por qué autoalojar PhotoPrism en un VPS
  2. 02Las ventajas de un PhotoPrism autoalojado
  3. 03Requisitos exactos: RAM, CPU, almacenamiento y red
  4. 04Desplegar PhotoPrism paso a paso
  5. 05Acceso móvil: aplicación iOS y Android
  6. 06Optimización ML en VPS sin GPU: las variables clave
  7. 07Resolución de problemas: los errores más frecuentes
  8. 08Estrategia de copia de seguridad: originals, storage y base de datos
  9. 09PhotoPrism o Immich: cuál elegir

Por qué autoalojar PhotoPrism en un VPS

Mientras Immich apunta a una experiencia de nube completa con copia de seguridad móvil en tiempo real, PhotoPrism privilegia la indexación y la organización de una biblioteca de fotos existente, a menudo voluminosa, depositada en un sistema de archivos. Analiza sus carpetas, clasifica las fotos por etiquetas (montaña, playa, coche), detecta rostros, lee los EXIF y geocodifica las imágenes. Todo ello se ejecuta localmente mediante TensorFlow integrado.

Las ventajas de un PhotoPrism autoalojado

  • Etiquetado automático mediante IA local: búsqueda por palabras clave, lugares y colores sin nube.
  • Indexación de archivos existentes depositados en el disco, mediante WebDAV, rsync o montaje de red.
  • Detección de duplicados y de fotos similares para limpiar una colección saturada.
  • Mapas interactivos basados en las coordenadas GPS extraídas de los metadatos EXIF.
  • Modo de solo lectura posible: PhotoPrism indexa sin modificar nunca sus archivos originales.
  • Interfaz PWA instalable, accesible desde cualquier navegador de su red.

Requisitos exactos: RAM, CPU, almacenamiento y red

PhotoPrism consume mucha memoria en cuanto TensorFlow entra en juego. Sin GPU y con el motor ML activo, planifique 2 GB de RAM como mínimo: por debajo, el proceso de indexación desencadena un OOM y el contenedor se reinicia en bucle. Con ML completamente activo (detección de rostros, clasificación de escenas), se recomiendan 4 GB de RAM — el nivel cómodo para una biblioteca de 10 000 a 50 000 fotos. 1 vCPU mínimo basta para navegar, pero la indexación inicial de un archivo voluminoso se beneficia de 2 a 4 núcleos. El puerto por defecto es 2342. En almacenamiento, aprovisione sus originals más un 30 a 40 % para las miniaturas y la caché. Añada una partición swap de 2 GB mínimo si su VPS tiene menos de 4 GB de RAM.

Desplegar PhotoPrism paso a paso

  1. Preparar el VPS y los volúmenes

    Instale Docker y cree después dos carpetas persistentes: /opt/photoprism/originals para sus fotos y /opt/photoprism/storage para la caché y la base del índice.

  2. Declarar PhotoPrism y MariaDB

    En docker-compose.yml, añada un servicio mariadb con un volumen dedicado y un servicio photoprism. Enlácelos mediante PHOTOPRISM_DATABASE_DRIVER=mysql.

  3. Definir el administrador y el modo de indexación

    Indique PHOTOPRISM_ADMIN_PASSWORD y active PHOTOPRISM_READONLY=true si quiere que indexe sin tocar los originales. Levante después la stack con docker compose up -d.

  4. Importar y lanzar la primera indexación

    Copie sus fotos en la carpeta originals mediante rsync o WebDAV y lance el análisis con docker compose exec photoprism photoprism index.

  5. Configurar nginx como reverse proxy con SSL Certbot

    Instale nginx y certbot en el host. Cree un bloque server en /etc/nginx/sites-available/photoprism.conf que escuche en el puerto 80, redirija a 443 y haga proxy a http://127.0.0.1:2342. Añada las directivas proxy_set_header necesarias para que PhotoPrism detecte correctamente el esquema HTTPS. Obtenga el certificado con certbot --nginx -d galeria.sudominio.com.

Acceso móvil: aplicación iOS y Android

PhotoPrism no ofrece una aplicación nativa de copia de seguridad automática como Immich, pero su interfaz PWA está optimizada para móvil: añádala a la pantalla de inicio desde Safari (iOS) o Chrome (Android) para una experiencia casi nativa. El HTTPS es obligatorio para instalar la PWA. Para la copia de seguridad desde el teléfono, la solución complementaria habitual es Syncthing o rclone: configúrelos para enviar la carpeta DCIM al VPS.

Optimización ML en VPS sin GPU: las variables clave

En un VPS estándar sin GPU, TensorFlow funciona en modo CPU. PHOTOPRISM_WORKERS controla el número de hilos de indexación paralelos — configúrelo según el número de vCPU disponibles. PHOTOPRISM_DISABLE_TENSORFLOW (valor true) desactiva completamente el motor ML: la indexación es de 3 a 5 veces más rápida y el consumo de RAM cae por debajo de 1 GB. Útil para la migración inicial de un archivo muy grande. PHOTOPRISM_DETECT_NSFW (valor true) activa el filtro de contenido inapropiado a costa de mayor carga: actívelo solo si lo necesita realmente. Para VPSes entre 2 y 4 GB de RAM: PHOTOPRISM_WORKERS=2, PHOTOPRISM_DETECT_NSFW=false y TensorFlow activo.

Resolución de problemas: los errores más frecuentes

OOM (Out of Memory) al iniciar o durante la indexación. Señal en los logs Docker: Killed o signal: killed. Solución inmediata: añadir swap (fallocate -l 2G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile). Solución definitiva: pasar a un VPS con al menos 2 GB. Indexación interminable. En una biblioteca de 50 000 fotos con 2 vCPU, la primera indexación completa puede tardar de 6 a 24 horas — es normal. Problemas de permisos en los volúmenes. PhotoPrism corre como UID 1000 por defecto; si originals pertenece a root, el acceso falla silenciosamente. Corrija con chown -R 1000:1000 /opt/photoprism. La interfaz carga pero no aparecen fotos. Compruebe que la indexación fue realmente lanzada (photoprism index); arrancar el servicio no lanza el import automáticamente.

Estrategia de copia de seguridad: originals, storage y base de datos

Una copia de seguridad eficaz de PhotoPrism distingue tres componentes. La carpeta originals contiene sus archivos maestros (JPEG, RAW, vídeos): lo irreemplazable. Haga una copia externa diaria con rclone sync. La carpeta storage contiene miniaturas y caché: puede reconstruirse completamente mediante re-indexación; una copia semanal es suficiente. La base MariaDB almacena el índice, los álbumes, las etiquetas manuales y los rostros identificados — todo su trabajo de curación. Haga un dump regular: docker compose exec mariadb mysqldump -u photoprism -p photoprism > /opt/backup/photoprism-db-$(date +%Y%m%d).sql. Prográmelo en cron y cifre el resultado antes de enviarlo fuera del sitio. Con SQLite, copie el archivo .db después de detener PhotoPrism.

PhotoPrism o Immich: cuál elegir

Desplace la tabla

CriterioPhotoPrismImmich
Objetivo principalIndexar y organizar una biblioteca de fotos existenteNube de fotos completa con copia de seguridad móvil
Aplicación móvilPWA, sin copia automática nativaApps iOS/Android con copia de seguridad automática
Base de datosMariaDB o SQLitePostgreSQL con extensión vectorial
Búsqueda por IAEtiquetas TensorFlow por contenido y colorBúsqueda semántica y reconocimiento facial avanzado
RAM recomendada4 GB (2 GB mínimo sin GPU)6 a 8 GB
Modelo de archivosLee una carpeta originals, con modo de solo lectura posibleGestiona su propia estructura de subida
MultiusuarioLimitado, orientado a una colección únicaBibliotecas aisladas por usuario
Caso de uso idealArchivar y explorar grandes carpetas de fotosSustituir Google Photos en el día a día

Monte su carpeta originals en solo lectura (:ro en el volumen Docker) y active PHOTOPRISM_READONLY=true. PhotoPrism indexará y generará etiquetas y miniaturas en el volumen storage separado, sin riesgo alguno de modificar o eliminar un archivo original.

Organice su archivo fotográfico con total autonomía

El VPS Cloud de ServOrbit pone a su disposición la RAM, el almacenamiento y Docker necesarios para PhotoPrism, su motor TensorFlow y MariaDB. Indexe miles de fotos y encuéntrelas con unas pocas palabras clave, sin nube de terceros.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva