Meu sistema de gerenciamento de fotos ridiculamente robusto (versão Immich)
(jaisenmathai.com)Construí um sistema de gerenciamento de fotos extremamente robusto usando o Immich para salvar alterações como álbuns, descrições, localização, data e favoritos no próprio EXIF dos arquivos de foto, permitindo backup automático com Synology NAS + Dropbox mesmo sem banco de dados.
Filosofia principal (3 prioridades)
- Preserve (preservar): precisa poder ser mantido sem problemas por décadas no futuro
- Unify (unificar): reunir as fotos de vários celulares do casal em uma única biblioteca
- Experience (experiência): fotos e vídeos devem permitir reviver as memórias com vividez
Contexto e abordagem anterior
- Vem evoluindo seu fluxo de gerenciamento de fotos há mais de 20 anos
- Armazena todos os metadados (álbuns, descrições, favoritos etc.) apenas no EXIF → sem dependência de DB externo → ideal para preservação de longo prazo
- Armazenamento principal: Synology NAS
- Ferramenta de organização: Elodie, ferramenta CLI open source desenvolvida por ele ao longo de mais de 10 anos (https://github.com/jmathai/elodie)
- No passado, usava o Google Photos como visualizador somente leitura → tinha bons recursos de descoberta, busca e relembrar memórias, mas abandonou após a mudança de política em 2019 + questões de privacidade
- Synology Photos era limitado demais em recursos, então precisava de um substituto
Adoção do Immich (fim de 2025 ~ 2026)
- O recurso de biblioteca externa (external library) do Immich, que permite montar pastas somente leitura, foi decisivo
- Começou como um visualizador somente leitura e depois fez a transição completa para uma ferramenta de organização
- Problema: o comportamento padrão do Immich salva metadados no banco Postgres ou em sidecars XMP → o autor rejeitou ambos
→ desenvolveu uma abordagem personalizada para embutir todas as alterações diretamente no EXIF dos arquivos de foto
Principais detalhes da implementação
- Usa a API do Immich → ao adicionar álbuns, escrever descrições ou marcar favoritos na UI → isso é gravado no EXIF
- Integração com o Elodie: o Elodie move arquivos para pastas de álbuns + atualiza o EXIF → o Immich interpreta isso como exclusão + criação de arquivo → ocorre inconsistência temporária
→ solução: adotou uma abordagem de eventually consistent (consistência eventual) → aceita propagação com atraso - Não usa sidecars XMP (considera frágeis)
- Resultado: o Immich oferece experiência de descoberta, busca e relembrar memórias no nível do Google Photos + preservação de todas as informações apenas com EXIF
Ferramentas usadas & backup
- Immich (uso de biblioteca externa + API)
- Elodie (mapeamento do sistema de arquivos e mecanismo central de organização)
- Synology NAS → armazenamento principal
- Dropbox → backup automático (mudanças no EXIF → mudança no próprio arquivo → sincronização automática)
- Plugin personalizado: https://github.com/jmathai/immich-exif (versão simples)
- Acompanhamento do progresso: https://github.com/jmathai/elodie/issues/496
Vantagens
- Preservação completa apenas com EXIF, sem banco de dados → sem problemas daqui a 10 ou 20 anos
- Recupera uma UI rica e uma experiência de descoberta como a do Google Photos
- Resolve questões de privacidade e dependência
- Backup duplo com NAS + Dropbox maximiza a confiabilidade
Desvantagens & realidade
- Nível de dificuldade de configuração muito alto (o autor levou 2 semanas; mesmo com ajuda de IA não foi fácil)
- Há muitos pontos de conflito com o design padrão do Immich, então customização é essencial
- Como usa um modelo de atualização com atraso, e não em tempo real, não oferece atualização perfeita em tempo real
Tom da conclusão
O autor avalia que conseguiu, sem abrir mão nem um pouco da filosofia de longa data de “confiar apenas no EXIF”, fazer o upgrade do Immich de visualizador somente leitura para uma plataforma completa de organização + descoberta.
Como a implementação técnica detalhada será publicada separadamente, vale acompanhar a issue no GitHub ou o blog dele se você tiver interesse.
Ainda não há comentários.