Instalación y configuración de Immich
Instalar y configurar un contenedor con Immich accesible desde la WAN a través de Nginx Proxy Manager.
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'
Se usan el archivo de yaml y .env que se muestran a continuación.
DB_PASSWORD=dk3ErrIwwpo998nmduien
DB_USERNAME=immich-1
DB_DATABASE_NAME=immich-1
# 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
Activar: Websockets Support
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;