SSD Nodes Learn 🎉 VPS desde $5.50/mes
Guías Matt ConnorPor Matt Connor · Actualizado 2026-08-07

PhotoPrism frente a Immich: ¿qué servidor de fotos elegir?

Compara PhotoPrism e Immich con cifras reales de RAM, aplicaciones móviles, mapas y los comandos exactos de copia de seguridad para cada servidor en un VPS.

PhotoPrism frente a Immich: respuesta breve

PhotoPrism frente a Immich es una elección entre dos funciones diferentes, no entre dos versiones del mismo producto. Immich sustituye a Google Photos: una aplicación del teléfono hace copias de seguridad automáticas del carrete, y la línea de tiempo resultante resulta familiar para cualquiera que deje atrás una galería del teléfono. PhotoPrism organiza una biblioteca de fotos que ya tiene: indexa carpetas de archivos en el disco, lee sus metadatos, los sitúa en un mapa y deja los archivos exactamente donde estaban.

Elija Immich si el problema es «el teléfono está lleno y quiero dejar de usar Google Photos». Elija PhotoPrism si el problema es «tengo 400 GB de fotos en una unidad y no encuentro nada». Ambos son de código abierto, ambos se ejecutan como contenedores Docker en un VPS normal y ambos indexan y permiten buscar en su biblioteca sin enviar nada a terceros.

La diferencia de filosofía y por qué lo decide todo

Immich administra los archivos. Se le indica una ubicación de carga, la aplicación del teléfono o el cargador web envía los originales y Immich los almacena en su propia ruta con sus propios nombres. La base de datos contiene la información de referencia sobre los álbumes, los rostros y las búsquedas. Este diseño permite ofrecer una buena experiencia en el teléfono, porque el servidor siempre conoce el estado completo de cada recurso.

PhotoPrism lee los archivos. Se monta una carpeta originals que ya se administra y PhotoPrism crea un índice sobre ella. El árbol de directorios sigue siendo suyo. Si mañana se elimina PhotoPrism, las fotos permanecen en las mismas carpetas y con los mismos nombres, y PhotoPrism habrá creado archivos YAML auxiliares a su lado para describir la información que obtuvo.

Esta única diferencia explica la mayor parte de lo demás. Immich ofrece una integración móvil sólida porque controla la incorporación de archivos. PhotoPrism facilita la organización de bibliotecas porque no entra en conflicto con la estructura existente. Immich es la mejor opción para una familia cuyas fotos están en los teléfonos. PhotoPrism es la mejor opción para un archivo almacenado en un disco.

Consumo de hardware: Immich exige más

Los mínimos de memoria documentados son muy diferentes y, en un VPS pequeño, este suele ser el factor decisivo.

ChartDocumented memory requirement, as of July 2026
The data behind this chart
[
  {
    "label": "Immich",
    "min_ram_gb": 6,
    "recommended_ram_gb": 8
  },
  {
    "label": "PhotoPrism",
    "min_ram_gb": 3,
    "recommended_ram_gb": 4
  }
]

Immich documenta 6 GB de RAM como mínimo y 8 GB como cantidad recomendada. También indica que una máquina con 4 GB sólo puede ejecutarlo si se desactiva el aprendizaje automático. PhotoPrism documenta 3 GB de memoria física y dos núcleos de CPU. Además, indica que la cantidad de RAM debe corresponderse con el número de núcleos.

La diferencia es real y se debe al contenedor de aprendizaje automático. Immich ejecuta sus modelos en un servicio immich-machine-learning independiente que carga en memoria CLIP (contrastive language image pretraining) y modelos de detección facial. En un equipo con 2 GB, el kernel termina ese contenedor. Docker muestra entonces que salió con el código 137, que es el resultado habitual de una terminación por falta de memoria. Los modelos de TensorFlow de PhotoPrism son más pequeños y el programa reduce funciones en lugar de terminar. En máquinas con 1 GB o menos, desactiva la conversión RAW y TensorFlow en vez de bloquearse.

Ambos proyectos recomiendan usar swap. La documentación de PhotoPrism indica explícitamente que el servidor debe tener al menos 4 GB de swap. Añádalo antes de instalar cualquiera de las dos aplicaciones.

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -h

free -h debería mostrar ahora una línea Swap: que indique 4.0Gi. Si muestra 0B, significa que swapon ha fallado, normalmente porque el sistema de archivos no admite fallocate. En ese caso, sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 es la alternativa. Los límites de memoria de los contenedores también son importantes aquí. Configurar límites de memoria en Docker Compose permite evitar que un servicio con un consumo excesivo deje fuera de servicio todo el equipo.

Hay otro requisito que suele pasarse por alto. La base de datos Postgres de Immich debe estar en un sistema de archivos Unix normal, con propietarios y permisos reales, y en almacenamiento local. Nunca debe estar en un recurso compartido de red. PhotoPrism indica lo mismo para sus archivos de base de datos. Ninguna de las dos aplicaciones debe ejecutarse con la base de datos en un almacén de objetos montado.

Cómo instalar cada uno

Ambas instalaciones consisten en un archivo Compose del proveedor y un comando. Configure primero Docker Engine y el plugin Compose, como se explica en nuestra guía de Docker Compose en un VPS.

Immich publica su archivo Compose y un archivo de entorno de ejemplo con cada versión.

sudo mkdir -p /opt/immich && cd /opt/immich
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

Edite .env antes de iniciar cualquier cosa. UPLOAD_LOCATION es la ubicación donde se almacenarán los originales, y DB_PASSWORD debe cambiarse del valor predeterminado usando sólo los caracteres A-Za-z0-9, porque los caracteres especiales rompen la cadena de conexión. Después, inícielo.

docker compose up -d
docker compose ps

La interfaz web responde en el puerto 2283. La primera cuenta registrada desde esa página se convierte en la cuenta de administrador. Acceda a ella y regístrese de inmediato, en lugar de dejar una instancia abierta en Internet.

PhotoPrism incluye un archivo Compose que ya incorpora MariaDB.

sudo mkdir -p /opt/photoprism && cd /opt/photoprism
wget https://dl.photoprism.app/docker/compose.yaml

Abra compose.yaml y cambie PHOTOPRISM_ADMIN_PASSWORD antes del primer inicio. La documentación lo indica claramente: la aplicación se inicia con la contraseña inicial que figura en ese archivo, la longitud mínima es de 8 caracteres y el valor predeterminado nunca debe usarse en un servidor público. Configure al mismo tiempo el volumen originals para que apunte a la carpeta que contiene las fotos.

docker compose up -d
docker compose logs -f photoprism

PhotoPrism responde en el puerto 2342 con el usuario admin. Ninguna de las dos aplicaciones debe exponerse directamente. Coloque delante un reverse proxy con TLS (seguridad de la capa de transporte), siguiendo el mismo esquema que se usa para un Nextcloud autoalojado con Docker, TLS y copias de seguridad.

Cuál tiene la mejor aplicación para el teléfono

Aquí es donde más se diferencian los dos proyectos y es la razón por la que la mayoría termina usando Immich.

Immich publica aplicaciones oficiales para Android e iOS. Hacen copias de seguridad en segundo plano del carrete de la cámara, por lo que las fotos nuevas salen del teléfono sin que nadie tenga que abrir nada. La aplicación necesita un endpoint HTTPS, así que el reverse proxy no es opcional si piensa usarla fuera de casa.

PhotoPrism no tiene una aplicación nativa oficial. Publica una aplicación web progresiva, que se añade a la pantalla de inicio desde el navegador, y documenta WebDAV (creación y control de versiones distribuidos en la web) como método para sincronizar desde un teléfono. El proyecto recomienda una aplicación de terceros llamada PhotoSync para esto, configurada para usar el directorio /import/ o /originals/ mediante WebDAV. Funciona, pero es una aplicación de terceros de pago que realiza una tarea que Immich integra en su propio cliente.

Si el requisito es hacer copias de seguridad automáticas del teléfono para varios miembros de la familia, la decisión está clara: Immich.

Qué aporta realmente el aprendizaje automático

Immich realiza búsquedas semánticas en la biblioteca mediante CLIP, por lo que una consulta como "bicicleta roja en la nieve" encuentra fotos que nadie etiquetó. También detecta y agrupa rostros, y detecta duplicados. La indexación de una importación grande en la CPU puede tardar horas y se ejecuta en segundo plano. Esto es normal y no requiere una GPU (unidad de procesamiento gráfico).

PhotoPrism clasifica las imágenes con TensorFlow mediante etiquetas, detecta rostros y los agrupa por personas, y lee los metadatos de ubicación para crear un mapa de lugares. El mapa es la función que hace que muchos usuarios sigan utilizando el producto: una biblioteca indexada por el lugar donde se tomaron las fotos ofrece una forma realmente distinta de explorar veinte años de fotografías. El reconocimiento facial está incluido en la edición Community gratuita. Las suscripciones Essentials y Plus de pago añaden funciones como capas de mapa más completas, más roles de usuario y una interfaz de gestión de usuarios. En julio de 2026, su precio parte de unos pocos euros al mes.

Immich es completamente gratuito y no tiene un nivel de pago. El núcleo de PhotoPrism es gratuito, con funciones adicionales de pago opcionales.

Las copias de seguridad determinan si conserva sus datos

Un servidor de fotos sin copias de seguridad puede perder todo el contenido de una familia por un solo fallo de disco. Ambas aplicaciones necesitan dos copias de seguridad: la base de datos y los archivos.

En Immich, vuelque la base de datos desde el contenedor de Postgres y copie la ubicación de carga.

docker exec -t immich_postgres pg_dump --clean --if-exists --dbname=immich --username=postgres | gzip > /backup/immich-db.sql.gz

Después, haga una copia de seguridad de UPLOAD_LOCATION. Las carpetas que contienen datos irreemplazables son upload, library y profile. Las carpetas thumbs y encoded-video se pueden regenerar, aunque esto puede consumir horas de CPU. Un volcado de la base de datos por sí solo no restaura nada, porque sólo contiene metadatos.

En PhotoPrism, el índice tiene su propio comando.

docker compose exec photoprism photoprism backup -i -f

Esto escribe un volcado SQL en storage/backup/. Después, copie la carpeta originals y la carpeta storage. PhotoPrism también escribe archivos YAML auxiliares que describen cada foto. Por eso, el índice perdido se puede reconstruir sólo a partir de los archivos. Esto supone una ventaja importante para un archivo que piensa conservar durante décadas.

Sea cual sea la aplicación elegida, envíe las copias de seguridad fuera del servidor según un calendario mediante copias de seguridad restic cifradas y con deduplicación en almacenamiento remoto. Una copia de seguridad que está en el mismo disco que la biblioteca no es una copia de seguridad.

Cuál deberías ejecutar

Ejecuta Immich si tus fotos están en teléfonos, si más de una persona necesita hacer una copia de seguridad del carrete de la cámara y si puedes asignar al servidor 6 GB de RAM o más. Es lo más parecido a Google Photos que puedes alojar por tu cuenta, y la experiencia móvil es su principal ventaja. Nuestra guía paso a paso para instalar Immich explica en detalle los cierres por falta de memoria y los problemas habituales durante las actualizaciones.

Ejecuta PhotoPrism si ya tienes un archivo fotográfico en el disco, si te interesan los mapas y los metadatos y quieres conservar tu propia estructura de carpetas, o si tu VPS tiene 4 GB de RAM y prefieres una biblioteca operativa en lugar de una que use swap continuamente. Es una herramienta de curación mejor y consume menos recursos en hardware limitado.

También es razonable ejecutar ambos. Immich gestiona la incorporación diaria de fotos desde los teléfonos. Una vez al año, clasificas las fotos que quieres conservar en tu archivo y dejas que PhotoPrism las indexe. No entran en conflicto porque PhotoPrism lee las carpetas, mientras Immich gestiona su propio almacenamiento.

FAQ

¿Pueden PhotoPrism e Immich compartir la misma carpeta de fotos?

No de forma segura en ambas direcciones. PhotoPrism lee una carpeta originals y escribe archivos YAML auxiliares junto a las imágenes, mientras que Immich espera controlar el contenido de su ubicación de carga. Puede apuntar PhotoPrism a una copia de sólo lectura de la carpeta library de Immich para explorarla, pero no permita que ambas aplicaciones gestionen los mismos archivos, porque la plantilla de almacenamiento de Immich puede mover o cambiar el nombre de los recursos mientras PhotoPrism los indexa.

¿Es Immich lo bastante estable para almacenar la única copia de mis fotos?

Ninguna aplicación autoalojada debería almacenar la única copia de nada. Immich publica cambios incompatibles con frecuencia, y un docker compose pull realizado sin cuidado puede impedir que la base de datos se inicie, así que fije la versión y lea las notas de la versión antes de actualizar. Mantenga los archivos originales respaldados fuera del servidor y el riesgo será reducido.

¿Por qué el contenedor de aprendizaje automático de Immich se reinicia continuamente?

El sistema lo está terminando porque usa demasiada memoria. Ejecute docker compose ps y busque que el servicio de aprendizaje automático termine con el código 137, que corresponde al terminador de procesos por falta de memoria del kernel. Añada swap, establezca un límite de memoria para el contenedor para que se ralentice en lugar de terminar, o desactive por completo el aprendizaje automático en una máquina con 4 GB. La búsqueda deja de funcionar sin este componente, pero el resto de Immich funciona correctamente.

¿PhotoPrism necesita MariaDB o funcionará con SQLite?

SQLite funciona y es adecuado para una biblioteca personal, pero PhotoPrism se limita a cuatro workers cuando lo utiliza, y la documentación recomienda cambiar a MariaDB porque gestiona mejor una alta concurrencia. El archivo compose que distribuye el proyecto ya incluye MariaDB, por lo que la opción recomendada también es la predeterminada.

¿Cuánto espacio en disco debo reservar por encima del tamaño de mi biblioteca?

Añada entre 10 y 20 por ciento al tamaño de los originales, con cualquiera de las dos aplicaciones. Esto cubre las miniaturas generadas y las previsualizaciones de vídeo transcodificadas. Una colección de 200 GB necesita aproximadamente un volumen de 300 GB cuando se deja espacio para la base de datos, la copia de seguridad local y el crecimiento.