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 |
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.
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
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.

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.

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.

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

Transformei uma Ikea Kallax num Homelab de Rack de 10 Polegadas com o ZimaCube 2
Os homelabs montados em racks parecem ótimos até perceber que não quer um motor a jato empresarial a invadir a sua sala. O movimento...

Como Um Dispositivo Substituiu Toda a Minha Cloud — Nextcloud + IA Local no ZimaCube 2
Deixe de pagar por armazenamento na nuvem. Saiba como um NAS auto-hospedado com Nextcloud pode sincronizar os seus ficheiros de forma segura e executar...

Primeira Impressão do ZimaCube 2 — O Valor é Incrível para um NAS de 6 Baias
Leia a nossa análise do ZimaCube 2 Standard. Este NAS de seis baias oferece um excelente valor para HomeLab com um Intel i3, Thunderbolt...

