immich Docker Compose (Cómo funciona para desarrolladores)
Immich Docker es la configuración de Immich, una solución de copia de seguridad de fotos y videos de código abierto y autohospedada dentro de un contenedor Docker. Docker es una plataforma liviana y ampliamente adoptada para desarrollar, distribuir y ejecutar aplicaciones tanto en servidores físicos como virtualizados. Gracias a Docker, Immich se puede instalar fácilmente en la mayoría de los sistemas y estar operativo sin configuraciones complejas y dolores de cabeza relacionados con las dependencias. Este enfoque de contenedor para gestionar Immich lo hace más fácil, lo que permite a los usuarios almacenar, respaldar y administrar sus archivos multimedia de manera segura.
Además, Docker asegura la consistencia en diferentes entornos, por lo que los usuarios pueden mover o escalar fácilmente su instancia de Immich con el mínimo de complicaciones. Esto significa que Immich Docker presentaría las formas más eficientes y sin problemas en que cualquiera que espere autohospedar su solución de respaldo de medios habría hecho usando Docker.
Características de Immich
Immich Docker instala varias características predeterminadas que hacen que implementar y gestionar la solución de respaldo de fotos y videos Immich sea mucho más fácil. Esto, a su vez, lo hace bastante atractivo para aquellos que autohospedarán sus archivos multimedia de manera segura y efectiva. Entre las principales características de Immich Docker se encuentran las siguientes:
Fácil de implementar: Immich Docker ha proporcionado imágenes estándar de Docker, lo que facilita la implementación. Además, mantiene a los usuarios alejados de paquetes dependientes y configuraciones complicadas; por lo tanto, los usuarios pueden implementar Immich de inmediato.
Multiplataforma: Cada contenedor Docker se asegura de que el dispositivo pueda ejecutarse en la mayoría de los sistemas con Docker en Linux, macOS y Windows. Eso hace que el proyecto sea altamente portátil en diferentes entornos.
Aislamiento: Además, los servicios de Immich que se ejecutan en el contenedor Docker se mantendrían aislados de otras aplicaciones y servicios en la máquina anfitriona. Esto reduciría conflictos, problemas de compatibilidad, y definitivamente haría el entorno operativo mucho más estable para Immich.
En general, la escalabilidad es muy fácil, sobre todo cuando hay muchos volúmenes de datos de medios involucrados con la implementación para los usuarios de Immich Docker. Dado que Docker es intrínsecamente escalable, actualizar o aumentar los recursos puede ser realmente bastante fácil.
Seguridad: La razón es que los contenedores Docker introducen una capa de aislamiento lejos del sistema subyacente, lo que brinda seguridad adicional. Además de esto, el autohospedaje de Immich ofrece la posibilidad de permitir a los usuarios el control total sobre sus datos y la ubicación de almacenamiento de la base de datos, aumentando así la privacidad y seguridad.
Actualizaciones Automáticas: Los contenedores son relativamente ligeros, fáciles de actualizar y de mantenimiento sencillo; por lo tanto, los usuarios de Docker cambian fácilmente a nuevas características con los últimos parches de seguridad con muy pocas o ninguna interrupción.
Copia de seguridad y restauración: Immich Docker crea una única fuente de veracidad cuando se trata de respaldar medios para que se puedan restaurar fotos y videos. Docker se asegura de que todas las implementaciones tengan los mismos datos.
Personalizable: Immich es autohospedado, por lo que los usuarios pueden modificarlo de acuerdo con sus requisitos para una integración más efectiva con otros servicios y opciones de escalado.
Soporte de la Comunidad: Es un proyecto de código abierto; por lo tanto, la comunidad proporciona mejoras continuas, solución de errores y soporte a sus usuarios.
Instalar Immich Docker
Prerrequisitos
- Instalar Docker y Docker Compose en tu sistema.
- Asegúrate de que tu máquina tenga suficientes recursos: se recomiendan 4GB o más de RAM.
Repositorio de clones de Immich
Descargar el archivo docker-compose desde GitHub.
git clone https://github.com/immich-app/immich.git
cd immichgit clone https://github.com/immich-app/immich.git
cd immichConfigurar variables de entorno
Para alterarlo, haz una copia del archivo de entorno de ejemplo y de los archivos docker-compose.yml:
cp .env.example .envcp .env.example .envAbre el archivo .env y configura las variables (como el puerto, la ubicación del almacenamiento y las credenciales de la base de datos). En la mayoría de las configuraciones, los valores predeterminados son suficientes.
# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables
# The location where your uploaded files are stored
UPLOAD_LOCATION=./library
# The location where your database files are stored
DB_DATA_LOCATION=./postgres
# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
# TZ=Etc/UTC
# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release
# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres
# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=postgresLanzamiento de Immich
Usa Docker Compose para iniciar el servidor Immich:
docker-compose up -ddocker-compose up -d
Este comando descarga todas las imágenes requeridas y comienza los contenedores necesarios:
- Backend
- Frontend
- Base de datos (PostgreSQL)
- Redis (para almacenamiento en caché)
- Modelos de aprendizaje automático (para características como reconocimiento facial)

Acceda a Immich en su navegador
Cuando se hayan descargado todos los archivos, asegúrate de actualizar el entorno. Una vez que los contenedores estén en funcionamiento, abre el navegador y escribe la URL a continuación.
http://localhost:2283Sustituye 2283 por el puerto especificado si alteraste el puerto en el archivo .env.
Crear o iniciar sesión en una cuenta de Immich
Primer uso: cuando accedas por primera vez a la URL de Immich, se mostrará la interfaz web.

Se te pedirá que crees una cuenta de administrador.

Completa la información requerida, y Immich te guiará a través de la configuración.

Configurar Immich en la interfaz web
- Configuraciones: Accede a la configuración detallada de Immich a través del panel de administración.
- Subir Medios: Ahora sube algunas fotos/videos para pruebas.
- Explore Funciones: Disfruta de otras funciones como detección de rostros, etiquetado de objetos y más.

Una vez configurado, podrás acceder a Immich directamente desde tu navegador y comenzar a gestionar tu biblioteca de fotos y videos.
¿Qué es IronSecureDoc?
IronSecureDoc es una utilidad avanzada para la gestión y seguridad de documentos, que cuenta con encriptación robusta, manipulación avanzada de PDF y firma digital. Proporciona a las empresas y desarrolladores confidencialidad e integridad documental, junto con un acceso fluido y, por lo tanto, simplifica el procesamiento de documentos PDF. También se puede llamar una API de PDF agresiva en casos cuando sus características permiten a los desarrolladores crear, subir, manipular y asegurar archivos y documentos PDF de manera programática.

Aparte de eso, IronPDF es una API de PDF que permite la creación de PDFs a partir de cualquier entrada de datos, añadiendo y editando contenido con parámetros como texto, imágenes y metadatos. Esto incluye la capacidad de combinar varios PDFs para componer archivos, dividir documentos e incluso anotar comentarios, destacados o marcas de agua.
Entre sus características de seguridad se encuentran la protección con contraseña, encriptación AES y controles de acceso basados en certificados que aseguran toda la información y datos sensibles. Además de esto, permite la firma digital para autenticar documentos y la no repudio, una característica muy importante en industrias como la financiera, médica y legal. La funcionalidad de registro de auditoría le permite llevar un seguimiento de todas las actividades realizadas en los documentos para mejor cumplimiento y responsabilidad.
Instalar y ejecutar IronSecureDoc
Obten la imagen Docker de IronSecureDoc del repositorio a continuación ejecutando este comando en el Símbolo del sistema o en una ventana de terminal abierta.
docker pull ironsoftwareofficial/ironsecuredocdocker pull ironsoftwareofficial/ironsecuredoc
Usa otro comando para iniciar IronSecureDoc, un contenedor en funcionamiento.
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latestdocker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latestEl comando Docker run anterior iniciará una instancia contenedora de IronSecureDoc.
Descargue la Firma de Immich y agregue el documento PDF firmado
La API REST en IronSecureDoc es una moderna interfaz web que permite a los desarrolladores interactuar de manera segura con las características de gestión documental y procesamiento de PDF del software. Usando principios RESTful, esta API permite a los usuarios entender fácilmente y estandarizar la integración de las funcionalidades de IronSecureDoc en sus aplicaciones personalizadas independientemente del stack tecnológico utilizado.

Descargar la imagen de Immich

A continuación se muestra un archivo de firma de muestra que se sube a Immich.
using System;
using System.Net.Http;
using System.Threading.Tasks;
class ImmichIntegration
{
private static readonly HttpClient client = new HttpClient();
public async Task<string> GetImageFromImmich(string imageId, string immichBaseUrl, string apiKey)
{
// Add authorization header
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
// Make a GET request to the Immich server
var response = await client.GetAsync($"{immichBaseUrl}/api/media/{imageId}");
response.EnsureSuccessStatusCode();
// Read and return the response data
var responseData = await response.Content.ReadAsStringAsync();
Console.WriteLine("Image data retrieved successfully!");
return responseData; // Contains image metadata or downloadable URL
}
}using System;
using System.Net.Http;
using System.Threading.Tasks;
class ImmichIntegration
{
private static readonly HttpClient client = new HttpClient();
public async Task<string> GetImageFromImmich(string imageId, string immichBaseUrl, string apiKey)
{
// Add authorization header
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
// Make a GET request to the Immich server
var response = await client.GetAsync($"{immichBaseUrl}/api/media/{imageId}");
response.EnsureSuccessStatusCode();
// Read and return the response data
var responseData = await response.Content.ReadAsStringAsync();
Console.WriteLine("Image data retrieved successfully!");
return responseData; // Contains image metadata or downloadable URL
}
}El código nos permite descargar la imagen del servidor de Immich. Asegúrate de generar una clave de API desde el servidor de Immich.
Subir imagen a IronSecureDoc
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
class IronSecureDocIntegration
{
private static readonly HttpClient client = new HttpClient();
public async Task UploadImageToIronSecureDoc(string imagePath)
{
var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost:8080/v1/document-services/pdfs/sign?sign_specific_page=0&signature_image_x=100&signature_image_y=150&signature_image_w=300&signature_image_h=400&certificate_password=********&certificate_permissions=1");
// Set headers to simulate a browser request
request.Headers.Add("sec-ch-ua-platform", "\"Windows\"");
request.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36");
request.Headers.Add("accept", "*/*");
request.Headers.Add("sec-ch-ua", "\"Google Chrome\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"");
request.Headers.Add("sec-ch-ua-mobile", "?0");
request.Headers.Add("Sec-Fetch-Site", "same-origin");
request.Headers.Add("Sec-Fetch-Mode", "cors");
request.Headers.Add("Sec-Fetch-Dest", "empty");
request.Headers.Add("host", "localhost");
// Create and add image and certificate files to the request content
var content = new MultipartFormDataContent();
content.Add(new StreamContent(File.OpenRead(imagePath)), "signature_image_file", Path.GetFileName(imagePath));
content.Add(new StreamContent(File.OpenRead("IronsecureDoc.pfx")), "certificate_file", "IronsecureDoc.pfx");
content.Add(new StreamContent(File.OpenRead("Input.pdf")), "pdf_file", "Input.pdf");
request.Content = content;
// Send the request and ensure success
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
// Output the result of the PDF signing
Console.WriteLine(await response.Content.ReadAsStringAsync());
}
}using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
class IronSecureDocIntegration
{
private static readonly HttpClient client = new HttpClient();
public async Task UploadImageToIronSecureDoc(string imagePath)
{
var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost:8080/v1/document-services/pdfs/sign?sign_specific_page=0&signature_image_x=100&signature_image_y=150&signature_image_w=300&signature_image_h=400&certificate_password=********&certificate_permissions=1");
// Set headers to simulate a browser request
request.Headers.Add("sec-ch-ua-platform", "\"Windows\"");
request.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36");
request.Headers.Add("accept", "*/*");
request.Headers.Add("sec-ch-ua", "\"Google Chrome\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"");
request.Headers.Add("sec-ch-ua-mobile", "?0");
request.Headers.Add("Sec-Fetch-Site", "same-origin");
request.Headers.Add("Sec-Fetch-Mode", "cors");
request.Headers.Add("Sec-Fetch-Dest", "empty");
request.Headers.Add("host", "localhost");
// Create and add image and certificate files to the request content
var content = new MultipartFormDataContent();
content.Add(new StreamContent(File.OpenRead(imagePath)), "signature_image_file", Path.GetFileName(imagePath));
content.Add(new StreamContent(File.OpenRead("IronsecureDoc.pfx")), "certificate_file", "IronsecureDoc.pfx");
content.Add(new StreamContent(File.OpenRead("Input.pdf")), "pdf_file", "Input.pdf");
request.Content = content;
// Send the request and ensure success
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
// Output the result of the PDF signing
Console.WriteLine(await response.Content.ReadAsStringAsync());
}
}Llamando a Immich y IronSecureDoc
El siguiente código nos ayudará a integrarlo.
using System.Threading.Tasks;
class Integration
{
public async Task IntegrateImmichWithIronSecureDoc(string immichImageId, string immichBaseUrl, string immichApiKey, string imagePath)
{
var immich = new ImmichIntegration();
var ironSecureDoc = new IronSecureDocIntegration();
// Step 1: Fetch image metadata or download from Immich
string imageData = await immich.GetImageFromImmich(immichImageId, immichBaseUrl, immichApiKey);
// Step 2: Optionally download the image locally using imageData URL (not shown here)
// Assume imagePath is the downloaded image file path
// Step 3: Upload the image to IronSecureDoc
await ironSecureDoc.UploadImageToIronSecureDoc(imagePath);
}
}using System.Threading.Tasks;
class Integration
{
public async Task IntegrateImmichWithIronSecureDoc(string immichImageId, string immichBaseUrl, string immichApiKey, string imagePath)
{
var immich = new ImmichIntegration();
var ironSecureDoc = new IronSecureDocIntegration();
// Step 1: Fetch image metadata or download from Immich
string imageData = await immich.GetImageFromImmich(immichImageId, immichBaseUrl, immichApiKey);
// Step 2: Optionally download the image locally using imageData URL (not shown here)
// Assume imagePath is the downloaded image file path
// Step 3: Upload the image to IronSecureDoc
await ironSecureDoc.UploadImageToIronSecureDoc(imagePath);
}
}Usa la API de IronSecureDoc para adjuntar fotos y aplicar firmas digitales. Añade la llamada API necesaria en la clase IronSecureDocIntegration para completar el documento. A continuación se encuentra el PDF de muestra generado por IronSecureDoc después de añadir la firma.

Conclusión
Mientras que tanto Immich como IronSecureDoc hacen un gran trabajo respondiendo a necesidades específicas, sirven mejor diferentes casos de uso. Immich hace bien la gestión de fotos y videos autohospedados y ricos en características, como el reconocimiento facial, la detección de objetos y la organización optimizada de archivos multimedia. Es ideal para la gestión de ubicación de almacenamiento de medios personales o a pequeña escala donde uno quiere una solución adaptada exactamente a sus necesidades.
IronSecureDoc es una solución segura de documentos y firma a nivel de organización que integra los fantásticos beneficios del cifrado avanzado con la simplicidad de integrar flujos de trabajo para permitir que la seguridad, la escalabilidad y el manejo profesional de documentos se unan.
Fiable y Cumplido: Como ofrece completas capacidades de auditoría con fuerte seguridad, es fiable y cumplido. Usando la API REST de IronSecureDoc, los desarrolladores de sistemas web, móviles y corporativos ahora pueden integrar fácilmente la impresión segura y el formato y manejo eficientes de PDF en sus aplicaciones. Para saber más sobre la licencia de IronSecureDoc, consulte la página de licencias. Para aprender más sobre las ofertas de Iron Software, visita la página de Iron Suite.
Preguntas Frecuentes
¿Cómo puede Docker simplificar el despliegue de Immich?
Docker simplifica el despliegue de Immich proporcionando un entorno containerizado, lo que permite una fácil instalación y gestión a través de varias plataformas sin configuraciones complejas o problemas de dependencias.
¿Cuáles son los beneficios de usar Immich para la gestión de medios?
Immich ofrece beneficios como el autohospedaje, un conjunto de características extensas que incluyen reconocimiento facial y etiquetado de objetos, y un alto nivel de personalización, permitiendo más control sobre la gestión y almacenamiento de datos.
¿Cómo mejora Docker la seguridad de Immich?
Docker mejora la seguridad de Immich al aislar la aplicación en contenedores, lo que reduce el riesgo de vulnerabilidades del sistema y asegura un entorno consistente, protegiendo así los archivos multimedia.
¿Qué pasos se involucran en la instalación de Immich usando Docker Compose?
Para instalar Immich usando Docker Compose, debes clonar el repositorio de Immich, configurar las variables de entorno y ejecutar el comando Docker Compose para iniciar el servidor de Immich.
¿Cómo utiliza IronSecureDoc Docker para la gestión de documentos?
IronSecureDoc utiliza Docker para facilitar un despliegue e integración sin fisuras, permitiendo características avanzadas de gestión de documentos y seguridad como la manipulación de PDF y firma digital dentro de una configuración containerizada.
¿Pueden integrarse Immich e IronSecureDoc para mejorar la funcionalidad?
Sí, Immich puede integrarse con IronSecureDoc para descargar imágenes de Immich y realizar acciones como la firma digital usando APIs REST, mejorando la funcionalidad general de la gestión de medios y documentos.
¿Qué características ofrece IronSecureDoc para la seguridad de documentos?
IronSecureDoc ofrece características como robusto cifrado, protección por contraseña y manipulación avanzada de PDF, asegurando altos niveles de confidencialidad e integridad de documentos.
¿Qué papel juega el soporte comunitario al usar Immich?
El soporte comunitario juega un papel crucial al usar Immich al proporcionar a los usuarios recursos, ayuda para solucionar problemas y actualizaciones, mejorando así la fiabilidad de esta solución de copia de seguridad de medios autohospedada.
¿Cómo pueden beneficiarse los desarrolladores al usar Immich e IronSecureDoc juntos?
Los desarrolladores pueden beneficiarse al usar Immich e IronSecureDoc juntos aprovechando las capacidades de gestión de medios de Immich junto con las características de seguridad de documentos de IronSecureDoc, creando una solución integral para el manejo de datos.
¿Cuáles son las principales diferencias entre Immich e IronSecureDoc?
Las principales diferencias son que Immich se centra en la gestión y almacenamiento de medios para uso personal, mientras que IronSecureDoc proporciona características avanzadas de seguridad y gestión de documentos, adecuadas para flujos de trabajo organizacionales.








