App - Immich

Instalación y configuración de Immich

Versión 1.0

Última modificación: 25/08/2026 21:00

Objetivo ⮴

Instalar y configurar un contenedor con Immich accesible desde la WAN a través de Nginx Proxy Manager.

Notas ⮴

  1. Si se en algún momento se cambia la ubicación de la base de datos a un disco HDD hay que incluir en el environment de database lo siguiente:

    
    DB_STORAGE_TYPE: 'HDD'
    

Instalación y Configuración ⮴

Se usan el archivo de yaml y .env que se muestran a continuación.

Enlaces ⮴

Archivo .env ⮴


DB_PASSWORD=dk3ErrIwwpo998nmduien
DB_USERNAME=immich-1
DB_DATABASE_NAME=immich-1

Archivo yaml ⮴


# Date: 2025-11-25
# https://github.com/immich-app/immich
services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:v3.1.0
    volumes:
      - ${{ sf:"docker - data" }}/immich/data:/data
      - /etc/localtime:/etc/localtime:ro
    environment:
      DB_PASSWORD: ${DB_PASSWORD}
      DB_USERNAME: ${DB_USERNAME}
      DB_DATABASE_NAME: ${DB_DATABASE_NAME}
    # ports:
    #   - '2283:2283'   # no se publica: se accede vía red compartida con NPM
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false
    networks:
      - default
      - proxy

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:v3.1.0
    volumes:
      - ${{ sf:"docker - data" }}/immich/cache:/cache
    environment:
      DB_PASSWORD: ${DB_PASSWORD}
      DB_USERNAME: ${DB_USERNAME}
      DB_DATABASE_NAME: ${DB_DATABASE_NAME}
    restart: always
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/valkey/valkey:9@sha256:8e8d64b405ce18f41b8e5ee20aa4687a8ed0022d1298f2ce31cdcf3a76e09411
    #image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
      # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
      # DB_STORAGE_TYPE: 'HDD'
    volumes:
      - ${{ sf:"docker - data" }}/immich/postgresql/data:/var/lib/postgresql/data
    shm_size: 128mb
    restart: always

networks:
  proxy:
    external: true
    name: proxy_net

Configuración Proxy Host en Nginx Proxy Manager ⮴

  1. Activar: Websockets Support

  2. Incluir en settings:

    
    client_max_body_size 0;
    proxy_read_timeout 600s;
    proxy_send_timeout 600s;
    proxy_request_buffering off;
    client_body_buffer_size 1024k;
    send_timeout 600s;