Um novo usuário do Immich no GitHub publicou os números da simulação depois de uma primeira tentativa. O Takeout dele veio em 14 arquivos zip de cerca de 50 GB, e ele esperava more than 9000 photos.
O immich-go encontrou 6.233 fotos e 294 vídeos, e informou 1.608 itens sem metadados. Ninguém na discussão descobriu o motivo; o mantenedor do Immich indicou o projeto immich-go.
Para uma família, o caminho começa com um Takeout e uma conta do Immich por pessoa, e com uma simulação que mostra as contagens antes de qualquer envio. O immich-go é a ferramenta da comunidade que a documentação do Immich recomenda para Takeouts, e nem o Immich nem a DreamHost dão suporte a ela. Fizemos uma importação de teste com um Takeout fictício na nossa própria máquina de teste, e a seção depois das etapas de importação mostra o que chegou. As etapas em si vêm das páginas do Immich, do immich-go e do Google, e os números de disco são estimativas baseadas nas regras de dimensionamento dos fornecedores. Se você ainda está escolhendo um app de fotos, nosso guia sobre Immich, PhotoPrism ou Ente compara os três antes.
Quanto espaço em disco sua biblioteca precisa
Dimensione o servidor pelo total do seu Takeout. A barra de armazenamento do Google pode mostrar menos do que você vai baixar. Fotos salvas no modo Economia de armazenamento antes de 1º de junho de 2021 não contam no seu armazenamento do Google, e a página de transferência do Google avisa que fotos e vídeos transferidos podem precisar de mais espaço do que o Google Fotos mostra.
O servidor também precisa de espaço além dos seus originais. A página de requisitos do Immich diz que miniaturas e vídeos transcodificados acrescentam, em média, de 10 a 20% a uma biblioteca, e o banco de dados PostgreSQL normalmente ocupa de 1 a 3 GB. A lista de verificação de migração do immich-go recomenda planejar cerca de 1,5 vez o tamanho da origem, o que deixa mais margem, então este guia segue essa regra. A primeira coluna usa a regra mais rígida de 1,5x.
| Tamanho do seu Takeout | Originais que cabem no disco, aproximadamente | Plano adequado |
|---|---|---|
| Até cerca de 100 GB | Cerca de 100 a 120 GB em um disco de 150 GB | Stack 8 |
| Cerca de 100 a 165 GB | Cerca de 165 a 205 GB em um disco de 250 GB | Stack 16 |
| Cerca de 165 a 300 GB | Cerca de 300 a 370 GB em um disco de 450 GB | Stack 32 |
| Mais de cerca de 300 GB | Mais do que o disco do maior plano para Immich comporta pela regra de 1,5x | Nenhum plano atual tem disco que comporte |
Bibliotecas de família podem ficar grandes. Um comentarista do Hacker News moveu um Takeout de 890 GB para o Immich. Acima de cerca de 300 GB, você terá que dividir a mudança. A divisão acontece na importação, porque a página de ajuda do Takeout do Google diz que não é possível exportar um período específico. A opção --from-album-name do immich-go importa um álbum por vez, pelo nome, então comece pelos álbuns de que você mais sentiria falta. Se você fotografou pares RAW e JPEG ou sequências de fotos (bursts), as configurações do immich-go para economizar espaço mantêm só o JPEG: --manage-raw-jpeg=KeepJPG para pares e --manage-burst=StackKeepJPEG para sequências. Guarde todos os zips em um disco em casa para o que ainda não couber.
Os 4 GB de RAM do Stack 4 ficam abaixo do mínimo de 6 GB do Immich, a menos que você desative o aprendizado de máquina, então deixe esse plano de fora desta tarefa. O Stack 8 tem os 8 GB de RAM que a página do Immich da DreamHost recomenda, mas suas 2 vCPUs são só o mínimo do Immich. O Stack 16 é o primeiro plano com os 4 núcleos recomendados. Isso pesa mais no começo, já que o FAQ do Immich chama o backup inicial de a fase mais intensa due to the number of jobs running.
Se a biblioteca crescer além do Stack 16 mais tarde, a página de VPS da DreamHost diz que você pode subir para um plano Stack maior e seu ambiente vai junto. A mesma página diz que, por enquanto, não é possível migrar para um Stack menor.
Um Takeout e uma conta do Immich por pessoa
Dê a cada pessoa o próprio Takeout e a própria conta do Immich. O guia de instalação do immich-go pede uma chave de API para cada conta de usuário em que você vai importar, então uma família de quatro pessoas acaba com quatro contas, quatro chaves e quatro importações. Segundo a página do Immich da DreamHost, cada pessoa que você convida ganha uma conta e usa o seu armazenamento.
Cada link do Takeout expira em cerca de 7 dias, então ajuda acompanhar todas as pessoas pela mesma lista:
- Takeout solicitado, e todas as partes baixadas e contadas
- Conta do Immich e chave de API criadas
- Contagens da simulação anotadas
- Importação real concluída e conferida
- Backup do celular ativado
O compartilhamento com parceiro do Google Fotos também pode gerar duplicatas, e o aviso abaixo explica a configuração responsável por isso. Depois que todas as importações terminarem, ative o compartilhamento com parceiros (Partner Sharing) do próprio Immich para que cada um veja as fotos do outro sem uma segunda cópia.
Mova a biblioteca, passo a passo
Você vai rodar o immich-go no computador de casa que baixou o Takeout e apontá-lo para o seu servidor, o que o mantenedor do immich-go chama de “a melhor opção”. Isso também evita baixar arquivos de 50 GB direto no servidor, o que seria complicado de qualquer forma: um comentarista do Hacker News com cerca de 14 partes de 50 GB não conseguiu usar o wget porque os downloads do Google exigem uma sessão conectada.
Antes de começar, tenha em mãos o endereço IP do servidor, um login SSH para ele e um computador com espaço para o Takeout inteiro mais os arquivos temporários do immich-go. Um usuário cuja importação parou quando o disco desse computador encheu conseguiu terminar depois de apontar a configuração IMMICHGO_TEMPDIR para um disco com 200 GB livres.
Prepare o Google Fotos e exporte
- Prepare o Google Fotos antes de exportar
A lista de itens que o Google não transfere para outros serviços inclui o conteúdo da Pasta trancada, a parte em vídeo das Fotos com movimento e das Live Photos, e a lixeira. Essa lista vale para a ferramenta de transferência do Google, e não confirmamos se um Takeout baixado deixa de fora os mesmos itens, mas fazer esses ajustes antes pode poupar um segundo Takeout. Tire da Pasta trancada o que você quiser, salve as Fotos com movimento e as Live Photos como vídeos e restaure da lixeira o que quiser manter. O immich-go deixa as fotos da lixeira de fora por padrão, e a opção
--include-trashedas inclui. Os comentários vêm junto: a página de download do Google diz que eles vão para um arquivo JSON separado.O Takeout também ignora as fotos que outras pessoas adicionaram aos seus álbuns compartilhados. Uma resposta nas discussões do Immich no GitHub sugere salvá-las antes na sua própria conta do Google com o botão Salvar do álbum, o que usa o armazenamento da sua conta do Google.
- Solicite um Takeout para cada pessoa
Em takeout.google.com, desmarque tudo. Depois, selecione apenas o Google Fotos. Escolha arquivos ZIP e o tamanho de 50 GB. A página de boas práticas do immich-go recomenda as duas opções, e o Google diz que o limite de 50 GB reduz a chance de o arquivo ser dividido. A criação pode levar de alguns minutos a alguns dias, e o Google avisa que o arquivo pode deixar de fora fotos ou álbuns adicionados ou excluídos nesse meio-tempo, então não mexa nos seus álbuns enquanto espera.
- Baixe todas as partes e confira se nenhuma está faltando
O link do Google expira em cerca de 7 dias, e cada arquivo pode ser baixado 5 vezes, então baixe todas as partes para um computador com espaço para todas elas antes de fazer qualquer outra coisa. Depois, liste as partes e confira se a numeração segue sem falhas, já que a documentação do immich-go aponta downloads incompletos como um erro comum.
bashls -la takeout-*.zipMantenha todas as partes em formato ZIP. A documentação do immich-go diz para não misturar ZIP e TGZ na mesma importação. Downloads tão grandes pelo navegador podem falhar: o comentarista com 14 partes encontrou as suas corrompidas e atribuiu isso ao tamanho de 50 GB e ao navegador. Se uma parte não abrir, baixe de novo enquanto o link ainda tiver downloads disponíveis.
Configure as contas e a ferramenta
- Crie uma conta do Immich e uma chave de API para cada pessoa
Entre no Immich como administrador, com o login que a configuração do Immich da DreamHost cria na primeira inicialização e que você consulta por SSH a partir do seu computador. Crie uma conta para cada membro da família e, em cada conta, abra Account settings > API Keys > New API Key. O guia de instalação do immich-go lista as permissões de que cada chave precisa:
asset.read,asset.statistics,asset.update,asset.upload,asset.copy,asset.delete,asset.download,album.create,album.read,albumAsset.create,server.about,stack.create,tag.asset,tag.createeuser.read. Guarde cada chave em um lugar seguro.Por padrão, o immich-go pausa as tarefas em segundo plano do Immich durante um envio, e isso exige uma chave vinculada a um administrador com mais duas permissões,
job.createejob.read. A chave de um membro da família fica na conta dele, então não é vinculada a um administrador. A documentação do immich-go não diz o que acontece quando uma chave sem privilégios de administrador tenta pausar tarefas. Por segurança, os comandos abaixo desativam a pausa com--pause-immich-jobs=false. Mantenha assim para todos os membros da família. Na importação do próprio administrador, com uma chave vinculada a ele que tenha as duas permissões, você pode mudar paratrue. - Baixe o immich-go
Baixe o arquivo para o seu computador na página de releases no GitHub. No Mac, é
immich-go_Darwin_arm64.tar.gzpara Apple silicon ouimmich-go_Darwin_x86_64.tar.gzpara Intel. É um programa único, sem Docker ou Node.js para instalar. Extraia o arquivo e confira se ele roda:bashtar -xzf immich-go*.tar.gz ./immich-go --versionNo Windows, descompacte
immich-go_Windows_x86_64.zipe execute.\immich-go --versionno PowerShell, a partir dessa pasta. A versão atual, v0.32.0, de 25 de junho de 2026, trazfull compatibility with Immich V3.0.0,
segundo as notas de versão. O README avisa que é uma versão inicial e pede que você mantenha uma cópia de backup dos seus arquivos.
Execute a importação
- Faça um teste simulado e compare as contagens
Uma simulação reproduz todo o envio sem transferir nada. Use
https://mais o IP do seu servidor como endereço. A configuração do Immich da DreamHost obtém um certificado Let’s Encrypt para esse IP, e a página de boas práticas do immich-go recomenda usar HTTPS em produção. Os exemplos da própria página usamhttp://e a porta 2283. As opções vêm da referência do comando upload do immich-go para a v0.32.0:bashTZ=America/Chicago ./immich-go upload from-google-photos \ --dry-run \ --include-partner=false \ --pause-immich-jobs=false \ --server=https://YOUR-SERVER-IP \ --api-key=YOUR-API-KEY \ /path/to/takeout-*.zipA parte
TZ=America/Chicagoprotege as datas que vêm dos arquivos JSON do Google, que o immich-go usa quando uma foto precisa delas. O mantenedor do immich-go diz que essas datas do Takeout chegam em UTC e assumem o fuso horário do computador que roda o immich-go. A opção--time-zonenão muda isso para Takeouts, e o problema ainda estava em aberto em 2 de outubro de 2026.TZnão é uma opção do immich-go. A documentação do próprio Go diz que, em sistemas Unix, um programa em Go pega o fuso horário local da variávelTZ, então no macOS e no Linux ela deve definir o fuso só para esse comando. Coloque o seu próprio fuso. Não testamos o caminho comTZ. No Windows, use o PowerShell e, em vez disso, mude o fuso horário do computador para o da sua família. Depois, tire a parteTZ=America/Chicago, comece com.\immich-goe termine cada linha com uma crase em vez de uma barra invertida, como faz o próprio exemplo de PowerShell do immich-go.Depois da importação da primeira pessoa, abra três fotos cujo horário você conhece e confira no Immich antes de importar as de qualquer outra pessoa. Fotos de viagem ainda vão mostrar o horário do fuso de casa, porque, segundo o mantenedor, o immich-go não consegue deduzir facilmente um fuso horário a partir do GPS.
Compare as contagens de fotos e vídeos no resumo com o que você espera. Se a contagem de
missing associated metadata file
estiver alta, são arquivos sem um JSON correspondente, que--include-unmatchedpode trazer depois. Se faltar muita coisa, confira as partes de novo antes de seguir. Comece pelo Takeout de uma pessoa. - Execute a importação real
Execute o mesmo comando sem
--dry-run, acrescentando as opções que a página de boas práticas do immich-go indica para um envio por uma conexão de internet com velocidade variável. Esse é o caso de um envio de casa para o servidor, e a mesma página usa estes valores para bibliotecas de 100.000 fotos ou mais:bashTZ=America/Chicago ./immich-go upload from-google-photos \ --include-partner=false \ --pause-immich-jobs=false \ --server=https://YOUR-SERVER-IP \ --api-key=YOUR-API-KEY \ --concurrent-tasks=4 \ --client-timeout=60m \ --on-errors=continue \ --session-tag \ /path/to/takeout-*.zipA opção
--session-tagmarca cada envio com o horário da sessão, para que depois você veja o que chegou e quando. Se a importação parar no meio, execute o mesmo comando de novo. Ele ignora os arquivos que já estão no servidor.A velocidade de upload da sua conexão de casa define o ritmo. Como exemplo do cálculo, 200 GB a 50 Mbps constantes de upload levam cerca de 9 horas para serem enviados. A largura de banda é ilimitada em todos os planos de VPS para Immich. A página do Immich da DreamHost também promete que não há cobranças por excedente, dentro dos termos de uso justo.
O que nossa importação de teste mostrou
Para conferir estas etapas, nós mesmos fizemos a importação uma vez, em 22 de outubro de 2026: immich-go v0.32.0 para o Immich v3.3.5, em uma VM de teste com 2 vCPUs e 8 GB de memória, a configuração do Stack 8. O Takeout foi gerado por nós, com 300 fotos de teste em duas partes ZIP organizadas como na exportação atual do Google, incluindo arquivos JSON com datas e localizações. Dois álbuns tinham 45 cópias de fotos que já estavam nas pastas por ano. A VM rodou em um Mac arm64, então essa é a nossa máquina de teste, não um servidor da DreamHost.
| O que verificamos | O que vimos |
|---|---|
| Fotos enviadas, duplicatas ignoradas, erros | 300 enviadas, 45 cópias de álbuns ignoradas como duplicatas, 0 erros |
| Datas após a importação | 300 de 300 corretas, incluindo todas as 132 fotos cuja data estava apenas no arquivo JSON do Google |
| Álbuns | Os dois voltaram com as contagens certas, 25 e 20 fotos |
| Localizações | 300 de 300 tinham localização, lida dos arquivos JSON |
| Processamento do próprio Immich após o envio | Cerca de 4,5 minutos para miniaturas, rostos e busca |
| Memória do Immich em repouso antes da importação e no pico durante o processamento | Cerca de 1,4 GB, depois cerca de 6 GB |
O envio levou segundos por uma conexão dentro do próprio Mac, então ele não diz nada sobre o envio a partir da sua casa. O que consumiu tempo e memória foi o processamento do Immich depois: cerca de 6 GB no pico para apenas 300 fotos, em uma máquina com 8 GB. Por isso, preferimos começar uma biblioteca de família real no Stack 16 em vez do Stack 8, embora não tenhamos medido uma biblioteca grande e o pico não possa ser extrapolado a partir de 300 fotos. Miniaturas e prévias acrescentaram cerca de 38% ao tamanho dos originais neste teste (169 MB sobre 443 MB), mas fotos geradas não são arquivos reais de câmera, então a tabela de disco continua seguindo as regras dos desenvolvedores.
O que não conseguimos testar: um Google Takeout real, rostos reais, vídeos, HEIC ou Live Photos, várias contas da família, a simulação e a configuração TZ. Fizemos o teste uma única vez.
Confira o resultado e conclua a mudança
- Confira o que foi importado
A lista de verificação pós-migração do immich-go pede que você compare as contagens entre o Google e o Immich, confira uma amostra aleatória e confirme que datas, localizações e álbuns vieram corretamente. Se uma foto não tiver GPS próprio, mas o álbum dela tiver uma localização, a ferramenta aplica a localização do álbum à foto.
Se faltarem muitos arquivos e todas as partes estiverem lá, execute de novo com
--include-unmatched, que importa arquivos sem um JSON correspondente. Esses arquivos entram com menos metadados, então deixe isso por último. O modelo de armazenamento do Immich vem desativado por padrão. Se você o ativou e os arquivos forem parar em pastas com a data errada, o FAQ do Immich orienta executar de novo a tarefa de migração de armazenamento. Ela só é executada automaticamente uma vez por item após o envio. - Procure o que a etapa de preparação deixou passar
Procure os itens de
Prepare o Google Photos antes de exportar,
como os vídeos das fotos com movimento e tudo o que você tirou da Pasta trancada. Se algo estiver faltando, faça um novo Takeout e execute a importação de novo, que ignora o que já está lá. Não apague nada no Google Photos até as contagens baterem. - Ative o backup do celular
Instale o app do Immich em cada celular, entre com a conta da pessoa e escolha os álbuns que serão copiados. A documentação de backup no celular do Immich diz que o app calcula o checksum de cada arquivo e ignora os que já estão no servidor, inclusive arquivos enviados pela linha de comando. Por padrão, ele só envia por Wi-Fi. Uma foto do celular que seja diferente da cópia do Takeout em um único byte será enviada de novo, então procure duplicatas depois da primeira sincronização.
Faça backup antes de excluir qualquer coisa do Google
Depois que a mudança terminar, é você quem faz o backup das fotos, e nosso guia sobre backup do Immich explica essa tarefa. Nossa análise sobre auto-hospedagem em 2026 cobre o restante de manter seu próprio servidor. O Immich faz um backup do banco de dados todos os dias às 2h e guarda os 14 mais recentes. A documentação de backup dele diz que esses backups contêm apenas metadados, nunca fotos ou vídeos. A DreamHost também não faz backup das suas fotos, e o utilitário immich-backup do servidor exporta o banco de dados e lembra você de copiar a pasta da biblioteca para fora do servidor por conta própria.
Tenha uma segunda cópia em outro lugar além do servidor antes de apagar qualquer coisa do Google. O Immich recomenda um backup 3-2-1, que a documentação do immich-go detalha como três cópias, em dois tipos de mídia, com uma fora do local. A lista de verificação deles termina com o arquivamento dos arquivos originais do Takeout, então um disco extra com os ZIPs é um bom começo para essa segunda cópia.
Perguntas frequentes sobre Google Fotos para Immich
O Google Takeout mantém as datas das minhas fotos?
O Google diz que o registro de data e hora original fica nos metadados incorporados de cada arquivo, e os detalhes extras do Google Photos vão para um arquivo JSON separado. O immich-go também lê esse arquivo. Na nossa importação de teste, todas as datas vieram corretas, inclusive as de fotos datadas apenas no JSON.
Vou perder minhas fotos se parar de pagar o Google One?
Você não vai perdê-las no dia em que parar de pagar. A página de ajuda de armazenamento do Google diz que o conteúdo pode ser excluído se você ficar acima do limite de armazenamento por 2 anos ou mais. Continue pagando até as contagens no Immich baterem e você ter uma segunda cópia, depois limpe o Google no seu próprio ritmo.
Posso importar também o Google Fotos do meu parceiro ou parceira?
Seu parceiro ou parceira solicita o próprio Takeout, que vai para a própria conta no Immich, com a própria chave de API. Adicione --include-partner=false às duas importações, porque o immich-go traz as fotos do parceiro por padrão, e depois use o Partner Sharing do Immich para que cada um veja a biblioteca do outro.
Uma biblioteca de 500 GB vai caber?
Hoje, não no disco de um único plano de VPS para Immich. O disco de 450 GB do Stack 32 comporta cerca de 300 GB de originais pela regra de 1,5x que este guia usa. A seção sobre disco explica como dividir uma biblioteca maior na importação.
Fontes
- Requirements, Immich, 2 de out. de 2026. docs.immich.app/install/requirements
- The Immich CLI, Immich, 2 de out. de 2026. docs.immich.app/features/command-line-interface
- FAQ, Immich, 2 de out. de 2026. docs.immich.app/FAQ
- Backup and Restore, Immich, 2 de out. de 2026. docs.immich.app/administration/backup-and-restore
- Mobile Backup, Immich, 2 de out. de 2026. docs.immich.app/features/mobile-backup
- immich-go README, simulot/immich-go on GitHub, 2 de out. de 2026. github.com/simulot/immich-go
- immich-go v0.32.0 release notes, simulot/immich-go on GitHub, 2 de out. de 2026. github.com/simulot/immich-go/releases/tag/v0.32.0
- Best Practices, simulot/immich-go on GitHub, 2 de out. de 2026. github.com/simulot/immich-go/blob/main/docs/best-practices.md
- Upload Command, simulot/immich-go on GitHub, 2 de out. de 2026. github.com/simulot/immich-go/blob/main/docs/commands/upload.md
- Installation Guide, simulot/immich-go on GitHub, 2 de out. de 2026. github.com/simulot/immich-go/blob/main/docs/installation.md
- Upload Commands Overview, simulot/immich-go on GitHub, 2 de out. de 2026. github.com/simulot/immich-go/blob/main/docs/upload-commands-overview.md
- Issue 881: time zone for Google Photos imports, simulot/immich-go on GitHub, 2 de out. de 2026. github.com/simulot/immich-go/issues/881
- Issue 886: --time-zone has no effect for Google Photos, simulot/immich-go on GitHub, 2 de out. de 2026. github.com/simulot/immich-go/issues/886
- Issue 701: running out of disk during an import, simulot/immich-go on GitHub, 2 de out. de 2026. github.com/simulot/immich-go/issues/701
- Issue 839: where to run immich-go, simulot/immich-go on GitHub, 2 de out. de 2026. github.com/simulot/immich-go/issues/839
- How to download your Google data, Google Account Help, 2 de out. de 2026. support.google.com/accounts/answer/3024190
- Copy your photos & videos to a service outside of Google, Google Account Help, 2 de out. de 2026. support.google.com/accounts/answer/9666875
- Manage your storage, Google Photos Help, 2 de out. de 2026. support.google.com/photos/answer/9284827
- time package: Local, The Go Programming Language, 2 de out. de 2026. pkg.go.dev/time
- Discussion 27859: Takeout import missing photos, immich-app/immich on GitHub, 2 de out. de 2026. github.com/immich-app/immich/discussions/27859
- Discussion 14477: shared albums and Takeout, immich-app/immich on GitHub, 2 de out. de 2026. github.com/immich-app/immich/discussions/14477
- Comment on downloading 14 Takeout parts, Hacker News, 2 de out. de 2026. news.ycombinator.com/item?id=48767576
- Comment on an 890 GB Takeout into Immich, Hacker News, 2 de out. de 2026. news.ycombinator.com/item?id=45444947