Como Migrei 14000 Fotos para o ZimaCube 2 Sem Perda de Dados — Um Guia de Migração Immich

Eva Wong é a Redatora Técnica e e entusiasta residente na ZimaSpace. Uma geek de longa data com paixão por homelabs e software de código aberto, ela é especialista em traduzir conceitos técnicos complexos em guias acessíveis e práticos . Eva acredita que o auto-hospedagem deve ser divertida, não intimidante. Através dos seus tutoriais, ela capacita a comunidade adesmistificar configurações de hardware , desde a construção do seu primeiro NAS até dominar os contêineres Docker., from building their first NAS to mastering Docker containers.

💡 Destaque da Comunidade: u/Ambitious_Shallot_79, r/minilab

Tem uma biblioteca de fotos. Anos de memórias. Álbuns que organizou cuidadosamente. Rostos que etiquetou. Links partilhados que enviou à família.

Depois atualiza o seu NAS — e percebe que mover os ficheiros não é suficiente. Sem a base de dados, perde cada álbum, cada etiqueta de rosto, cada memória que organizou. As fotos estão lá, mas a organização desapareceu.

Acabei de mover 14.505 fotos e 925 vídeos — 134 GiB no total — de um servidor DIY ZimaOS para o ZimaCube 2. Cada álbum sobreviveu. Cada etiqueta de rosto foi mantida. Cada link partilhado ainda funciona.

Aqui está exatamente como o fiz, o que quase correu mal e o que o ZimaCube 2 trouxe que a minha configuração antiga não podia.

Por que Immich, por que agora

O Immich tornou-se a solução de fotos auto-hospedada preferida por uma razão. Dá-lhe funcionalidades ao nível do Google Fotos — reconhecimento facial, pesquisa semântica, backups automáticos do seu telemóvel, álbuns partilhados — sem enviar as suas fotos para o servidor de outra pessoa.

Mas o Immich guarda a sua alma no PostgreSQL. A base de dados contém álbuns, vetores faciais, agrupamentos de pessoas, embeddings CLIP para pesquisa inteligente e cada pedaço de metadados que faz a biblioteca parecer sua. Mova os ficheiros sem a base de dados e fica com uma pasta cheia de fotos e uma instância do Immich vazia.

Esta migração teve uma regra: zero perda de dados. O servidor antigo não seria apagado até o novo ser verificado.

O que o Immich realmente armazena (e por que é importante)

Antes de mexer em qualquer ficheiro, mapeei exatamente o que precisava de ser movido:

Componente Localização Conteúdos Precisa migrar?
pgdata /DATA/AppData/immich/pgdata PostgreSQL completo — álbuns, rostos, pessoas, metadados ✅ Crítico
cache de modelos /DATA/AppData/immich/model-cache Modelos CLIP/reconhecimento facial descarregados ✅ Evita novo download
Biblioteca de fotos /DATA/Gallery/immich 14.505 fotos + 925 vídeos + miniaturas (134 GiB) ✅ Média atual
Backups automáticos /DATA/Gallery/immich/backups Últimos 14 instantâneos diários da base de dados 💡 Já presente
🎁 Mover apenas os ficheiros de fotos — sem o diretório pgdata — dá-lhe todas as suas fotos mas nenhum dos seus álbuns, etiquetas de rosto, pessoas, memórias ou links partilhados. O Immich trata o PostgreSQL como a fonte de verdade. Ambos devem ser movidos juntos.

Immich também cria backups automáticos da base de dados diariamente às 2:00 AM, mantendo os últimos 14 no diretório de backups. Antes de executar um dump manual, verifique se já existe um backup automático recente.

O Método: Aplicação Files do ZimaOS (Cópia LAN)

Ambas as máquinas correm ZimaOS na mesma LAN. Isso significava que podia usar a aplicação Files integrada para uma transferência direta pela LAN — sem discos externos, sem comandos SCP, sem armazenamento intermédio.

Passo 1: Montar a máquina de origem

No ZimaCube 2, abra a aplicação Files → + Adicionar Armazenamento → Armazenamento LAN → insira o IP local da máquina de origem e autentique-se. O sistema de ficheiros da máquina de origem aparece agora como armazenamento navegável no ZimaCube 2.

Passo 2: Parar o Immich na origem

Este é o passo que as pessoas saltam e depois se arrependem. Pare o Immich antes de copiar. Uma instância PostgreSQL em execução está constantemente a escrever — precisa que a base de dados esteja num estado consistente e descarregado. Na máquina de origem: ZimaOS App Store → Immich → Parar.

Passo 3: Copiar ambos os diretórios

A partir da aplicação Files do ZimaCube 2, navegue até à origem montada e selecione:

Caminho de origem Caminho de destino no ZimaCube 2
/DATA/AppData/immich /DATA/AppData/immich
/DATA/Gallery/immich /DATA/Gallery/immich

Selecione ambos os locais, clique em Migrar. Escolha: Sobrescrever no destino e Manter originais na origem — não apague a origem até verificar.

Pela ligação 2.5GbE do ZimaCube 2, 134 GiB transferidos em aproximadamente 10–15 minutos. O meu antigo servidor DIY estava limitado a 1GbE — a mesma transferência teria levado 30–40 minutos. Este é o tipo de diferença real que não aparece numa ficha técnica, mas que importa sempre que move dados.

Passo 4: Instalar o Immich no ZimaCube 2

Abra a ZimaOS App Store e procure por Immich. Aviso crítico: a App Store pode mostrar várias variantes do Immich. Deve instalar a mesma variante exata que a sua máquina de origem usa:

Immich (aplicação oficial ZimaOS/CasaOS) — use esta se era esta que tinha antes

BigBearCasaOS Immich — variáveis docker-compose diferentes, credenciais postgres diferentes, nome da base de dados diferente — incompatível com uma cópia direta de pgdata da aplicação oficial

🔑 As variáveis do docker-compose — nome de utilizador do postgres, palavra-passe, nome da base de dados, modo de rede — estão integradas na definição da aplicação. Qualquer incompatibilidade entre as variantes da aplicação de origem e destino impedirá o Immich de se ligar à base de dados restaurada. Este é o ponto de falha mais comum nas migrações do Immich.

Após a instalação, não inicie a aplicação imediatamente. O Immich irá detetar o diretório pgdata existente na primeira execução e ligar-se-á a ele em vez de inicializar uma nova base de dados vazia.

Pesquisa pela aplicação 'immich' na Loja de Aplicações ZimaOS / CasaOS durante a configuração do NAS

Passo 5: Iniciar Sessão com Credenciais Existentes

Abra o Immich em http://192.168.x.x:2283 e inicie sessão com o mesmo nome de utilizador e palavra-passe da instância original. A sua biblioteca completa — álbuns, rostos, pessoas, definições — estará exatamente como antes.

Ecrã de boas-vindas da aplicação Immich e botão para começar após migração bem-sucedida da base de dados

Passo 6: Verificar Filas de Trabalho

Navegue para Perfil → Administração → Filas de Trabalho. Após a migração do pgdata, a base de dados já contém todos os resultados processados anteriormente, por isso a maioria das filas deverá mostrar Ativo: 0 / Aguardando: 0.

Se alguma fila mostrar uma contagem abaixo de Faltantes, clique no botão Faltantes para processar apenas os ativos não processados:

Fila Quando Executar Faltantes
Gerar Miniaturas Se algumas fotos mostrarem pré-visualizações em branco
Extrair Metadados Se os ativos estiverem sem GPS/local/data
Pesquisa Inteligente Se a pesquisa semântica não retornar resultados
Deteção Facial Se os dados faciais parecerem incompletos

Estatísticas da Migração

Métrica Valor
Fotos migradas 14,505
Vídeos migrados 925
Dados totais 134 GiB
Tempo de transferência (2.5GbE) ~12 minutos
Álbuns preservados Todos
Etiquetas faciais preservadas Todos
Links partilhados preservados Todos
Perda de dados Zero

Por que o ZimaCube 2 Valeu a Pena

Não migrei apenas para ter a mesma experiência. O ZimaCube 2 traz três melhorias que a minha antiga caixa DIY ZimaOS não conseguia igualar:

Transferências 2.5GbE. As bibliotecas de fotos crescem. Cada backup completo, cada grande importação, cada migração beneficia da largura de banda 2,5× superior ao gigabit padrão. O ZimaCube 2 com dupla 2.5GbE permite-me saturar um backup enquanto o resto da rede permanece responsivo.

Armazenamento NVMe para a base de dados. A base de dados Immich PostgreSQL tem um desempenho muito melhor em NVMe do que em discos rígidos tradicionais. A geração de miniaturas, consultas inteligentes, reconhecimento facial — tudo isto lê a partir do pgdata. No pool NVMe do ZimaCube 2, as operações da base de dados que antes tinham atrasos no HDD são agora instantâneas.

Expansibilidade de 6 baias. 134 GiB hoje. E no próximo ano? O ZimaCube 2 tem seis baias SATA mais quatro slots M.2 na 7ª baia, o que significa que esta biblioteca de fotos pode crescer durante anos sem atingir um limite de armazenamento.

IceWhale ZimaCube 2 NAS de 6 baias mostrando as baias frontais hot-swap para armazenamento auto-hospedado de alto desempenho

Migre a sua biblioteca de fotos para o ZimaCube 2 →

A construir o seu sistema de fotos auto-hospedado? Leia o nosso guia Dispositivo de Armazenamento em Nuvem Pessoal, o nosso artigo aprofundado Docker & CI/CD no ZimaCube 2, e o nosso Unboxing do ZimaCube 2 Pro.

Perguntas Frequentes

Posso migrar o Immich para o ZimaCube 2 sem perder os meus álbuns e etiquetas faciais?

Sim — mas deve copiar tanto os ficheiros de fotos como o diretório pgdata (base de dados PostgreSQL). A base de dados guarda todos os álbuns, vetores faciais, agrupamentos de pessoas e metadados. Mover só as fotos dá-lhe ficheiros sem organização. Copie ambos os diretórios juntos para que a sua biblioteca se mantenha intacta.

Qual é a forma mais rápida de transferir dados do Immich para o ZimaCube 2?

Se ambas as máquinas estiverem na mesma LAN e a correr ZimaOS, use a aplicação Files integrada com montagem de Armazenamento LAN. Pela ligação 2.5GbE do ZimaCube 2, 134 GiB transferem em cerca de 10–15 minutos. Para bibliotecas maiores ou máquinas em redes diferentes, uma drive USB externa é a próxima melhor opção.

A versão do Immich na App Store importa na migração?

Sim — é crítico. A ZimaOS App Store pode mostrar várias variantes do Immich (oficial vs BigBearCasaOS). Usam variáveis docker-compose diferentes — credenciais do postgres, nomes de base de dados e configurações de rede são incompatíveis. Instale a mesma variante exata que a sua máquina de origem usa, ou a base de dados restaurada não se conectará.

Preciso de parar o Immich na origem antes de copiar?

Sim. Uma instância PostgreSQL em execução escreve continuamente. Copiar uma base de dados ativa arrisca um estado inconsistente. Pare o Immich na máquina de origem, copie as pastas e depois inicie-o na máquina de destino. A máquina de origem pode permanecer desligada ou ligada como backup até verificar a migração.

Quanto armazenamento precisa o Immich no ZimaCube 2?

Planeie o tamanho da sua biblioteca de fotos mais espaço para a base de dados PostgreSQL (que cresce com a sua biblioteca), cache de miniaturas e versões de vídeo transcodificadas. Uma biblioteca de 134 GiB com 14.500 fotos usa aproximadamente 150–160 GiB no total com overhead. As seis baias SATA do ZimaCube 2 dão-lhe espaço para crescer.

Centro de Campanhas Zima

Mais para Ler

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.