Uma migração segura do Immich começa por comprovar o que tem de sobreviver antes de copiar seja o que for: os ficheiros de fotografias, a base de dados e as definições de implementação que os voltam a ligar no novo anfitrião.
Num servidor doméstico, o risco da migração costuma resultar de mover essas peças em momentos diferentes ou de iniciar o destino com os caminhos errados. Trate o servidor antigo como cópia de reversão, suspenda as escritas evitáveis, registe a versão atual e os mapeamentos de armazenamento e, em seguida, mova um conjunto de dados verificado para a nova máquina. A lista de verificação abaixo mantém o processo reversível até que a nova instância consiga iniciar sessão, encontrar a biblioteca original, processar tarefas e sobreviver a um reinício sem voltar a um estado vazio.
Congele a origem e registe o estado comprovadamente funcional
Comece no servidor funcional, não no novo. Registe a versão do Immich, a definição do Compose ou da loja de aplicações, os valores de ambiente que controlam os caminhos da base de dados e do armazenamento, a localização da biblioteca de fotografias, a localização da base de dados e quaisquer montagens de bibliotecas externas. Registe também o URL atual do servidor e a conta de utilizador que usará para a validação.
O objetivo deste inventário é impedir que uma migração se transforme silenciosamente numa atualização, numa reformulação dos caminhos e numa alteração de rede em simultâneo. Mantenha a versão da aplicação e a disposição lógica do armazenamento tão estáveis quanto possível até a restauração ser comprovada; as alterações de versão podem ser tratadas depois de o destino estar validado.
Antes de copiar, pare ou coloque em pausa os novos carregamentos, se tal for aceitável para o seu agregado familiar. Se não for prático, defina uma janela de transição e planeie uma sincronização final curta. A saída desta fase é um mapa escrito da origem que lhe permite responder onde estão os originais, onde está o estado da base de dados e que configuração recria as mesmas relações.
Capture a base de dados, os recursos e a configuração como um único conjunto de migração
Trate a base de dados e os ficheiros multimédia como um único conjunto de recuperação, e não como duas cópias de segurança independentes. As cópias de segurança atuais da base de dados do Immich contêm metadados e referências a ficheiros, mas não as fotografias ou os vídeos; por isso, a cópia de segurança da base de dados tem de ser transportada juntamente com os conteúdos de UPLOAD_LOCATION e quaisquer dados de bibliotecas externas que gira separadamente.
Um conjunto de migração utilizável precisa dos recursos, do estado do PostgreSQL e da configuração que os volta a ligar. Um conjunto completo de cópia de segurança do Immich inclui recursos carregados, uma cópia de segurança da base de dados suportada e a configuração da implementação, utilizando testes de restauração para comprovar que o conjunto funciona. Mantenha essas peças juntas para que o destino possa ser associado a um único ponto de recuperação.
Verifique o conjunto de migração antes de tocar no destino. Confirme que o despejo da base de dados não está vazio, recolha amostras de vários ficheiros originais da biblioteca copiada e guarde os ficheiros Compose e de ambiente na mesma pasta de migração ou no mesmo conjunto de documentação. Se algum componente não puder ser verificado, pare aqui e faça uma cópia nova em vez de tentar compensar no novo servidor.
Prepare o novo anfitrião sem criar estados concorrentes
Crie primeiro os diretórios e as montagens do destino e confirme que o novo anfitrião vê os discos ou partilhas de rede pretendidos exatamente nos caminhos que planeia utilizar. Uma montagem NAS em falta pode deixar para trás um diretório vazio normal, e um contentor pode inicializar tranquilamente nesse caminho de recurso.
Instale o ambiente de execução e recrie a definição da implementação, mas não permita que uma instância vazia do Immich acumule carregamentos ou configuração antes de o estado antigo ser restaurado. Mantenha as credenciais, o nome da base de dados, as variáveis de armazenamento e os destinos das montagens de bibliotecas externas alinhados com a origem, salvo se o plano de migração incluir explicitamente uma alteração controlada de caminho.
Se o novo servidor exigir caminhos diferentes no anfitrião, mapeie-os deliberadamente, mantendo coerentes os caminhos visíveis no contentor e as expectativas da base de dados. O destino só está pronto quando as montagens efetivas apontarem para as localizações dos dados copiados e conseguir explicar cada tradução de caminho antes de iniciar a aplicação completa.
Restaure o estado e volte a ligar todos os caminhos de armazenamento
Restaure a base de dados utilizando o procedimento de recuperação adequado à versão do Immich que criou a cópia de segurança e, em seguida, inicie os restantes serviços apenas depois de a base de dados estar pronta. Não improvise comandos destrutivos para a base de dados a partir de um guia antigo quando uma instalação mais recente utiliza um procedimento de restauração diferente.
Durante a transição, mantenha intacta a relação entre a base de dados e o armazenamento antes de retomar a utilização normal. Uma sequência de migração do Immich testada segue o mesmo princípio: a aplicação deve abrir com o estado restaurado da base de dados e os caminhos de multimédia pretendidos, não inicializar uma biblioteca nova e obrigar a uma reconstrução de raiz.
Após o arranque, verifique o acesso ao armazenamento antes de iniciar tarefas pesadas em segundo plano. Abra vários recursos antigos de datas diferentes, confirme que as miniaturas carregam, verifique um álbum e uma pessoa ou resultado de pesquisa que existiam antes da migração e certifique-se de que as bibliotecas externas estão legíveis, se as utilizar. Um ecrã de integração inicial ou uma linha temporal vazia é um sinal para parar: volte a verificar os mapeamentos da base de dados e das montagens antes de escrever um novo estado.
Valide a carga de trabalho original antes de desativar o servidor antigo
Um primeiro início de sessão bem-sucedido não é o fim de uma migração. Carregue uma fotografia de teste descartável a partir do cliente habitual, confirme que aparece no armazenamento esperado do anfitrião, elimine-a através do Immich e verifique que a biblioteca continua saudável. Isto testa todo o caminho de escrita, em vez de provar apenas que os dados antigos podem ser lidos.
Reinicie o novo servidor doméstico e repita as verificações importantes para o seu agregado familiar: início de sessão no navegador, ligação da cópia de segurança móvel, várias fotografias antigas, pesquisa, um vídeo representativo, filas de tarefas e acesso remoto, se fizer parte da configuração habitual. A migração só está concluída quando o mesmo estado sobrevive a um reinício do anfitrião e as montagens de armazenamento ficam disponíveis antes de o Immich arrancar.
Mantenha o servidor antigo desligado, mas inalterado, durante um período de reversão, em vez de o apagar imediatamente. Se a nova instância começar a escrever numa pasta vazia inesperada, não conseguir reproduzir a biblioteca antiga após um reinício ou apresentar erros da base de dados que não consiga explicar, pare os novos carregamentos e volte à origem comprovadamente funcional enquanto compara o conjunto de migração. Desative o anfitrião antigo apenas depois de o destino ter passado pela utilização normal e por um teste de cópia de segurança nova.
Suporte e Dicas
Mais para Ler

Como otimizar as ligações à base de dados do Immich para contentores simultâneos
Não aumente primeiro o valor de max_connections. Meça as sessões do Immich, some a procura total de cada contentor, preserve margem para o administrador...

Como evitar trabalhos ou importações duplicados no Immich
Separe os trabalhos repetidos dos recursos duplicados. Utilize um único caminho de ingestão canónico, controle as novas tentativas e as alterações de caminho e,...

Como reparar o Immich depois de o volume da base de dados ficar cheio
Nunca elimine o WAL do PostgreSQL para libertar espaço. Pare as escritas do Immich, preserve o estado da base de dados, adicione capacidade de...

