Immich¶
Galería de fotos propia con reconocimiento facial e IA. URL: https://immich.matias7235.com.ar
📁 Rutas y configs¶
| Qué | Dónde |
|---|---|
| Compose | /opt/docker/immich/docker-compose.yml |
| Variables de entorno | /opt/docker/immich/.env |
| Fotos | Definido en .env como UPLOAD_LOCATION=/mnt/ssd_512/immich/library (SSD dedicado) |
| Base de datos | Definido en .env como DB_DATA_LOCATION; actualmente /opt/docker/immich/postgres (no se migró al SSD dedicado) |
| Cache ML | Volumen Docker model-cache (SSD para mayor velocidad) |
Contenedores: immich_server, immich_machine_learning, immich_postgres, shared_redis Puerto: 8503
immich_server usa shared_redis (DB 0) mediante la red externa shared_net. La red externa immich_net conecta el servidor, ML y PostgreSQL.
💾 Backups y Restauración¶
Extracción de Base de Datos (Volcado en caliente): Immich actualiza su estructura de base de datos seguido. NUNCA copiar los datos sin hacer un dump primero:
⚠️ Las fotos de
UPLOAD_LOCATIONno están incluidas en el backup automático. Respaldarlas por separado a un disco externo si es necesario. La biblioteca histórica permanece en el backup frío hasta que se restaure.
🔥 Problemas comunes¶
| Problema | Solución |
|---|---|
| Fotos no aparecen tras subir | Administration → Jobs → Run all |
| Machine learning muy lento | Normal en el primer análisis o si el volumen sale del SSD |
| Error EIO en encoded-video | El disco puede tener problemas — revisar `sudo dmesg |
ENOTFOUND shared_redis |
Confirmar que shared_redis y shared_net existen y que shared_net es external: true en el compose de Immich. No cambiarla a false: Compose crearía immich_shared_net, aislada de Redis. |
| ENOENT en cualquier subcarpeta al arrancar | Verificar primero que UPLOAD_LOCATION monte la biblioteca correcta y no un directorio vacío. La biblioteca activa está en /mnt/ssd_512/immich/library y debe contener upload, library, thumbs, profile, backups y encoded-video, cada una con su marcador .immich. |
🔐 Seguridad¶
- Expuesto públicamente vía Caddy (HTTPS). La biblioteca activa está en el SSD; los assets históricos siguen en el backup frío.
- Las credenciales de la base de datos están en
.env. - Limitar los recursos de CPU/RAM en el compose para evitar que el ML cuelgue el servidor.