Existe um momento em que todo mundo para e pensa sobre onde estão as suas fotos. Geralmente acontece quando o Google manda aquele email simpático avisando que o armazenamento gratuito acabou — e que por apenas alguns reais por mês você pode continuar guardando suas memórias no servidor deles. É um empurrãozinho gentil na direção de uma assinatura mensal que, somada ao longo de anos, custa mais do que um HD externo de vários terabytes. Mas o preço em dinheiro é só a parte mais óbvia da equação. Existe um custo mais sutil em deixar todas as suas fotos, vídeos e memórias pessoais nas mãos de uma empresa que lucra com dados — e é sobre esse custo que vale a pena conversar antes de falar de qualquer ferramenta.

O Immich é uma plataforma open source e auto-hospedada para gerenciar fotos e vídeos que funciona como uma alternativa direta ao Google Photos. Tem app para celular com backup automático, reconhecimento facial, busca inteligente por conteúdo das imagens, linha do tempo, mapa com geolocalização — tudo rodando no seu próprio hardware, sem depender de nenhum serviço externo. Neste post eu quero cobrir não apenas o que o Immich faz, mas principalmente o raciocínio por trás de hospedar suas próprias fotos: o que significa soberania de dados na prática, quais são as opções reais de infraestrutura (home lab ou VPS), e o que esperar quando você decide ser o dono do seu próprio acervo.

O problema com o “gratuito”#

Quando o produto é você#

O Google Photos nasceu em 2015 oferecendo armazenamento ilimitado e gratuito para fotos em “alta qualidade”. A proposta era irresistível e funcionou exatamente como planejado: centenas de milhões de pessoas passaram a enviar todas as suas imagens para os servidores do Google sem pensar duas vezes. Em 2021, o ilimitado acabou. Tudo passou a consumir a cota de 15 GB compartilhada entre Gmail, Drive e Photos — e quem já tinha anos de fotos armazenadas se viu diante de uma escolha entre pagar ou perder o acesso prático à própria biblioteca.

Mas o armazenamento nunca foi realmente gratuito. O modelo de negócio do Google depende de entender quem você é, onde você vai, com quem você convive e o que você faz. Fotos são uma mina de ouro nesse sentido. Cada imagem carrega metadados EXIF com data, hora, coordenadas GPS e modelo da câmera. O conteúdo visual em si é processado por modelos de machine learning que identificam rostos, objetos, lugares e contextos. O Google sabe que você esteve naquele restaurante em março, que viajou para o litoral no feriado, que tem um cachorro da raça tal e que frequenta determinados lugares com determinadas pessoas. Nenhuma dessas informações precisa ser digitada — elas são extraídas automaticamente do acervo que você mesmo enviou.

Os termos de serviço autorizam o Google a usar seu conteúdo para treinar modelos de IA, melhorar produtos e personalizar anúncios. Na prática, suas fotos de família alimentam os mesmos pipelines de dados que vendem espaço publicitário. Não existe conspiração nisso, está tudo descrito nos termos que quase ninguém lê. O ponto é que o serviço “gratuito” tem um preço — ele só não aparece na fatura do cartão.

O custo invisível do armazenamento na nuvem#

Além da questão de privacidade, existe o problema do controle. Quando suas fotos moram no servidor de outra empresa, você depende das decisões dessa empresa para acessá-las. O Google pode mudar políticas, restringir APIs, modificar formatos de exportação ou simplesmente descontinuar um serviço — como já fez dezenas de vezes com outros produtos. Em março de 2025, o Google restringiu os escopos OAuth que ferramentas como o gphotos-sync usavam para baixar fotos, quebrando de uma hora para outra o fluxo de trabalho de quem mantinha backups locais automatizados das próprias imagens. Quem dependia exclusivamente do Google para armazenar seu acervo ficou à mercê de uma decisão unilateral sobre a qual não tinha nenhum poder.

O mesmo raciocínio vale para iCloud, OneDrive, Amazon Photos ou qualquer outro serviço centralizado. Você não controla o roadmap do produto, não negocia os termos de uso e não tem garantia de que o serviço vai continuar existindo da mesma forma daqui a cinco anos. Enquanto isso, o volume de dados só cresce: celulares modernos gravam em 4K, fotos em modo RAW ocupam dezenas de megabytes cada, e Live Photos somam vídeo a cada clique. O tier gratuito evapora rápido, e a assinatura mensal que parece barata aos vinte e poucos reais se transforma em centenas ou milhares de reais ao longo de uma década — dinheiro suficiente para montar uma infraestrutura própria que ninguém pode tirar de você.

Soberania de dados não é um conceito abstrato reservado a empresas e governos. Na escala pessoal, significa simplesmente que seus arquivos estão em hardware que você administra, em backups que você controla, acessíveis por ferramentas que não dependem da boa vontade de nenhum terceiro. É a diferença entre alugar um apartamento onde o proprietário pode mudar as regras do condomínio a qualquer momento e ser dono da própria casa. O mesmo raciocínio se aplica a outras áreas — até os comentários de um blog podem ser self-hosted em vez de depender de terceiros.

O que é o Immich#

Uma alternativa real ao Google Photos#

O Immich é uma plataforma open source para gerenciamento de fotos e vídeos que roda inteiramente no seu próprio servidor. O projeto foi criado por Alex Tran, um desenvolvedor que queria uma forma privada e segura de armazenar as fotos do filho recém-nascido sem depender de nenhum serviço de nuvem comercial. O que começou como um projeto pessoal cresceu rapidamente e hoje tem mais de 90 mil estrelas no GitHub, uma equipe de desenvolvimento em tempo integral mantida pela FUTO — uma organização dedicada a software que respeita o usuário — e uma comunidade ativa que contribui com código, traduções e integrações.

A comparação com o Google Photos não é exagero nem marketing. A interface web do Immich é moderna, responsiva e organizada de um jeito que qualquer pessoa acostumada com o Google Photos vai reconhecer imediatamente: uma linha do tempo cronológica de todas as suas mídias, visualização em grade, álbuns, favoritos e uma barra de busca que entende o conteúdo das imagens. Existe app nativo para Android e iOS que funciona como o app do Google Photos — abre, mostra sua biblioteca e faz backup automático de tudo que a câmera captura, em primeiro ou segundo plano. A diferença é que cada byte sai do celular e vai direto para o servidor que você administra, sem passar por nenhum intermediário.

O projeto é construído com TypeScript no backend, PostgreSQL como banco de dados, Redis para filas de processamento e um serviço separado de machine learning em Python que roda os modelos de reconhecimento facial e busca semântica. Tudo empacotado em containers Docker, o que significa que a instalação inteira — servidor, banco, fila e ML — sobe com um único docker compose up -d e pode rodar em qualquer máquina Linux com recursos razoáveis.

Recursos que valem a migração#

O backup automático pelo celular é o recurso que resolve o problema mais imediato: a garantia de que cada foto tirada vai parar no seu servidor sem nenhuma ação manual. O app detecta novas mídias na galeria e faz o upload em segundo plano, mesmo com a tela desligada. A versão 2.5 do Immich trouxe o recurso “Free Up Space”, que permite remover do celular as fotos que já foram enviadas para o servidor — exatamente como o Google Photos faz — com uma etapa obrigatória de revisão antes da exclusão e envio para a lixeira nativa do dispositivo, permitindo recuperação caso necessário.

O reconhecimento facial funciona localmente, usando modelos de machine learning que rodam no próprio servidor. O Immich detecta e agrupa rostos automaticamente em toda a biblioteca, e você pode nomear cada pessoa para depois encontrar todas as fotos dela com um clique. A busca semântica usa o modelo CLIP para indexar o conteúdo visual das imagens, o que permite pesquisar por termos descritivos como “praia”, “cachorro”, “aniversário” ou “carro azul” sem que nenhuma tag tenha sido adicionada manualmente. Toda essa inteligência roda na sua máquina — nenhum dado é enviado para fora da sua rede.

A visualização em mapa plota suas fotos geograficamente a partir dos dados EXIF de localização, e diferente de serviços que às vezes modificam ou removem metadados na exportação, o Immich preserva os arquivos originais intactos numa estrutura de pastas padrão. A edição não-destrutiva — corte, rotação e espelhamento — salva as alterações no banco de dados sem tocar no arquivo original, permitindo reverter qualquer modificação a qualquer momento. Suporte a múltiplos usuários permite criar contas separadas para cada membro da família, cada um com sua biblioteca privada e a possibilidade de compartilhar álbuns específicos entre si. Também há suporte completo a Live Photos do iOS e Motion Photos do Android, mantendo tanto a imagem estática quanto o componente de vídeo.

Para quem tem bibliotecas de fotos já organizadas em disco — anos de pastas com nomes por data, por evento ou por câmera — o Immich suporta bibliotecas externas, importando acervos existentes sem copiar os arquivos, apenas referenciando o caminho original. Isso significa que você pode apontar o Immich para terabytes de fotos já organizadas e tê-las indexadas, pesquisáveis e acessíveis pelo app sem duplicar nenhum dado.

Privacidade e soberania de dados#

Suas fotos nunca saem do seu servidor#

Quando você envia uma foto para o Google Photos, ela é transmitida para um datacenter que pode estar em qualquer lugar do mundo, processada por pipelines automatizados de indexação, armazenada em infraestrutura compartilhada com bilhões de outros usuários e sujeita à jurisdição legal do país onde o servidor físico se encontra. Você não escolhe onde seus dados ficam, não sabe quantas cópias existem, não controla quem tem acesso administrativo às máquinas e não tem como auditar o que acontece com o conteúdo depois que ele sai do seu celular.

Com o Immich, a cadeia é curta e visível. O app do celular faz upload direto para o endereço do seu servidor — seja um mini PC na sua sala, um NAS no armário ou uma VPS num datacenter que você escolheu. Os arquivos ficam numa estrutura de pastas no filesystem da máquina, o banco de dados PostgreSQL guarda os metadados e índices, e o serviço de machine learning processa as imagens localmente. Se o servidor está na sua casa, os dados literalmente não saem da sua rede local durante o backup. Se está numa VPS, você sabe exatamente em qual provedor e em qual região geográfica eles residem, e pode escolher jurisdições com leis de proteção de dados que façam sentido para você.

Essa diferença parece técnica, mas tem consequências práticas reais. Nenhum funcionário de nenhuma empresa pode visualizar suas fotos por acesso administrativo. Nenhum algoritmo de moderação automatizada vai sinalizar ou remover imagens que um modelo de IA julgou inadequadas por engano. Nenhum tribunal de outro país pode intimar um provedor a entregar seu acervo sem que você sequer fique sabendo. O controle é seu porque a infraestrutura é sua.

IA local: busca inteligente sem alimentar datasets alheios#

Um dos argumentos mais fortes a favor do Google Photos sempre foi a busca: você digita “pôr do sol na praia” e ele encontra a foto certa entre milhares. Essa capacidade existe porque o Google treinou modelos de visão computacional massivos usando — entre outras fontes — exatamente o tipo de conteúdo que os usuários enviam. É um ciclo que se retroalimenta: quanto mais fotos os usuários sobem, melhores ficam os modelos, mais útil fica o produto e mais fotos os usuários sobem.

O Immich replica essa funcionalidade usando o modelo CLIP, que roda inteiramente no seu servidor. O CLIP cria representações vetoriais das imagens e dos termos de busca, permitindo encontrar fotos por descrição textual sem que nenhuma tag manual tenha sido criada. O reconhecimento facial usa modelos de detecção e agrupamento que processam cada rosto localmente, construindo clusters de pessoas que você pode nomear e pesquisar. Todo esse processamento acontece nos ciclos de CPU ou GPU da sua máquina. Os modelos são baixados uma única vez e executados offline — nenhuma imagem é enviada para nenhuma API externa, nenhum dado de treinamento sai da sua rede.

O desempenho não é idêntico ao do Google, e seria desonesto dizer que é. Os modelos locais são menores, o hardware doméstico é mais limitado e a indexação inicial de uma biblioteca grande pode levar horas ou dias dependendo da máquina. Mas a busca funciona, o reconhecimento facial funciona, e a diferença de velocidade no uso cotidiano é pequena o suficiente para não atrapalhar. O que você ganha em troca é a certeza de que nenhuma foto sua está sendo usada para treinar o próximo modelo de IA generativa de ninguém.

EXIF, metadados e a integridade dos seus arquivos#

Toda foto digital carrega uma camada invisível de informação embutida no arquivo: dados EXIF que registram a data e hora exatas do disparo, as coordenadas GPS de onde a foto foi tirada, o modelo da câmera, a lente usada, a abertura, a velocidade do obturador, o ISO. Para quem se preocupa com organização e preservação de longo prazo, esses metadados são tão importantes quanto a imagem em si — eles são o que permite reconstruir a cronologia de um acervo, plotar fotos num mapa e filtrar por equipamento.

Serviços de nuvem comerciais tratam os metadados de formas diferentes e nem sempre transparentes. Alguns recomprimem as imagens no upload, outros removem ou modificam campos EXIF na exportação, e quase todos convertem formatos para otimizar armazenamento interno. Quando você baixa suas fotos de volta pelo Google Takeout, o que recebe nem sempre é idêntico ao que enviou — e descobrir exatamente o que mudou exige comparação manual arquivo por arquivo.

O Immich armazena os arquivos originais sem modificação. O que você envia é exatamente o que fica gravado no disco do servidor, com todos os metadados intactos. A edição não-destrutiva introduzida na versão 2.5 reforça esse princípio: cortes, rotações e espelhamentos são registrados no banco de dados como instruções, sem alterar o arquivo fonte. Você pode baixar a versão editada quando quiser, mas o original permanece preservado e pode ser restaurado a qualquer momento. Para quem pensa em preservação de acervo a longo prazo — décadas, não meses — essa garantia de integridade faz diferença.

Onde hospedar#

Home lab: o servidor debaixo da sua mesa#

A opção mais alinhada com o espírito de soberania de dados é rodar o Immich em hardware que está fisicamente na sua casa. Não precisa ser nada grandioso. Um mini PC como o Beelink Mini N150 ou um ASRock DeskMini X600 consome menos de 10W em idle, é silencioso, cabe na palma da mão e tem potência de sobra para rodar todos os containers do Immich sem engasgar. Máquinas assim custam entre 300 e 500 dólares, e com um SSD NVMe de alguns terabytes você tem armazenamento suficiente para décadas de fotos em resolução original. Se você já tem um NAS da Synology, QNAP ou Unraid rodando em casa, o Immich pode ser mais um container no seu stack sem nenhum hardware adicional.

O grande trunfo do home lab é que o backup do celular acontece inteiramente dentro da sua rede local. O app do Immich conecta direto no IP da máquina, os arquivos trafegam pelo seu Wi-Fi e em nenhum momento saem para a internet. A velocidade de upload é a velocidade da sua rede interna — tipicamente gigabit — o que torna o backup de centenas de fotos e vídeos 4K uma questão de minutos, não de horas esperando a banda de upload do seu provedor de internet. O processamento de machine learning para reconhecimento facial e indexação semântica também roda localmente, e se a máquina tiver uma GPU com suporte a CUDA, o processo fica consideravelmente mais rápido.

Para acessar o Immich de fora de casa — no trabalho, viajando, do celular na rua — existem dois caminhos práticos. O primeiro é o Tailscale, uma VPN mesh que cria um túnel criptografado entre todos os seus dispositivos sem exigir nenhuma configuração de firewall ou port forwarding no roteador. Você instala o Tailscale no servidor e no celular, e o Immich fica acessível por um endereço privado como se estivesse na rede local, de qualquer lugar do mundo. O segundo caminho é configurar um reverse proxy ou um Cloudflare Tunnel com um domínio próprio e certificado HTTPS automático, expondo o Immich na internet pública. Esse segundo caminho exige mais cuidado com segurança, mas dá mais flexibilidade.

A desvantagem óbvia do home lab é que ele depende da sua infraestrutura residencial. Se acaba a luz, o servidor desliga. Se o roteador trava, o acesso remoto cai. Se o disco falha e não existe backup externo, os dados podem ser perdidos. Nada disso é insuperável — nobreaks são baratos, roteadores reiniciam sozinhos e backups offsite resolvem o problema da falha de disco — mas exige que você assuma o papel de administrador da sua própria infraestrutura. O servidor não vai se manter sozinho.

VPS: o servidor que não desliga quando acaba a luz#

Para quem não quer depender da estabilidade da rede elétrica e do provedor de internet residencial, rodar o Immich numa VPS é uma alternativa sólida. Uma VPS é uma máquina virtual que roda num datacenter profissional com energia redundante, links de rede de alta capacidade e hardware monitorado 24 horas. O Immich precisa de pelo menos 4 GB de RAM e 2 núcleos de CPU para funcionar confortavelmente, o que se traduz em planos na faixa de 10 a 30 dólares por mês dependendo do provedor e da quantidade de armazenamento.

A instalação numa VPS é essencialmente idêntica à do home lab: SSH na máquina, instalar Docker, subir o docker-compose.yml do Immich e configurar um reverse proxy com HTTPS. Provedores como Hetzner, Contabo, Hostinger e várias opções europeias oferecem VPS com volumes de armazenamento generosos a preços razoáveis. Para quem se preocupa com GDPR ou quer que os dados residam numa jurisdição específica, escolher um provedor europeu com datacenters na UE simplifica a questão: você é ao mesmo tempo o controlador e o processador dos dados, e eles nunca saem do servidor que você contratou.

A grande vantagem da VPS é a disponibilidade. O servidor está sempre ligado, sempre acessível, com um IP fixo e uma conexão de rede cuja velocidade não depende do plano residencial que você contratou da sua operadora de internet. O backup automático do celular funciona de qualquer rede — Wi-Fi de hotel, 4G no ônibus, rede do aeroporto — sem precisar de VPN nem túnel especial, bastando apontar o app para o domínio HTTPS do servidor.

A desvantagem é que suas fotos passam a residir no datacenter de outra empresa. Você tem acesso root à máquina virtual, controla o sistema operacional e o software instalado, mas o hipervisor por baixo pertence ao provedor de hosting. Em termos de privacidade, é um passo atrás em relação ao home lab — embora ainda esteja a quilômetros de distância de entregar tudo para o Google. A outra desvantagem é o custo de armazenamento. Enquanto no home lab um HD de 8 TB custa uma única vez o equivalente a dois anos de VPS, na nuvem cada terabyte adicional entra na conta mensal. Para acervos muito grandes, a conta da VPS pode ficar salgada.

Como escolher entre os dois#

A escolha não é necessariamente excludente, e a pergunta mais útil não é qual opção é melhor em abstrato, mas qual se encaixa na sua situação concreta. Se você já tem um NAS ou mini PC em casa, rede estável, e não se incomoda em manter um serviço rodando, o home lab oferece o máximo de controle com o mínimo de custo recorrente. Se você mora num lugar com quedas de energia frequentes, não quer se preocupar com hardware físico ou precisa de acesso confiável de qualquer lugar sem configurar VPN, a VPS resolve com previsibilidade e pouca manutenção.

Também é possível combinar as duas abordagens. Uma configuração que aparece com frequência na comunidade é rodar o Immich no home lab para uso primário e manter uma cópia dos dados numa VPS ou em armazenamento de objetos como S3, Backblaze B2 ou equivalente como backup offsite. O inverso também funciona: rodar o Immich numa VPS como servidor principal e manter um backup criptografado num HD externo em casa. O importante é que exista pelo menos uma cópia dos dados fora do local onde o servidor primário opera — mas isso é assunto para a seção sobre backups.

O que você vai precisar#

Hardware e requisitos mínimos#

O Immich roda em qualquer máquina Linux capaz de sustentar Docker e alguns containers razoavelmente exigentes em memória. A recomendação oficial é de pelo menos 4 GB de RAM e 2 núcleos de CPU, mas na prática 6 GB de RAM e 4 núcleos tornam a experiência mais fluida, especialmente durante a indexação inicial de uma biblioteca grande, quando o serviço de machine learning consome bastante recurso processando cada imagem pela primeira vez. Depois que a biblioteca está indexada, o uso cotidiano é leve — upload de fotos novas, navegação pela interface, buscas — e a máquina fica praticamente ociosa entre uma operação e outra.

Para armazenamento, a conta depende do tamanho do seu acervo e dos seus hábitos. Fotos de celular em HEIC ou JPEG comprimido ocupam entre 2 e 5 MB cada. Fotos em RAW de câmera dedicada vão de 25 a 80 MB dependendo do sensor. Vídeos em 4K consomem de 300 a 500 MB por minuto. Além dos arquivos originais, o Immich gera thumbnails e versões otimizadas para navegação, o que adiciona entre 10% e 20% ao espaço total. Um acervo de 50 mil fotos de celular acumuladas ao longo de dez anos ocupa algo em torno de 150 a 200 GB com thumbnails incluídas. Se há muitos vídeos 4K no meio, esse número sobe rápido.

No home lab, um SSD NVMe para o sistema operacional e o banco de dados combinado com um HD mecânico de alta capacidade para a biblioteca de mídia é uma configuração comum e econômica. O PostgreSQL e o Redis se beneficiam da velocidade do SSD, enquanto o armazenamento das fotos em si não precisa de latência baixa — um HD de 4 ou 8 TB atende bem. Numa VPS, o armazenamento disponível no plano contratado é o que define o limite, e vale dimensionar com folga desde o início porque migrar para um volume maior depois exige downtime e planejamento.

Se a máquina tiver uma GPU NVIDIA com suporte a CUDA (compute capability 5.2 ou superior), o Immich pode usá-la para acelerar o processamento de machine learning — reconhecimento facial e indexação semântica ficam drasticamente mais rápidos. Não é obrigatório; tudo funciona em CPU, apenas mais devagar. Para quem está montando um home lab novo e sabe que vai indexar uma biblioteca de dezenas de milhares de fotos, considerar uma máquina com GPU integrada ou uma placa dedicada modesta pode economizar muitas horas de processamento inicial.

Docker Compose e a instalação em cinco minutos#

O Immich é distribuído como um conjunto de containers Docker orquestrados por um arquivo docker-compose.yml mantido pelo projeto. A instalação consiste em clonar esse arquivo, configurar um .env com o caminho de armazenamento e a senha do banco de dados, e subir tudo com docker compose up -d. Não existe instalação manual de dependências, compilação de código nem configuração de serviços individuais — o Compose resolve a orquestração entre o servidor principal, o banco PostgreSQL, o Redis e o serviço de machine learning.

O arquivo .env tem poucos parâmetros obrigatórios. O mais importante é o UPLOAD_LOCATION, que define onde os arquivos de mídia serão armazenados no filesystem do host, e o DB_PASSWORD, que deve ser uma string aleatória forte usando apenas caracteres alfanuméricos para evitar problemas de parsing do Docker. O projeto mantém um arquivo de exemplo com valores padrão que funcionam para a maioria dos casos — basta copiar, ajustar os caminhos e a senha, e subir os containers.

Para quem usa Portainer, Dockge ou outro gerenciador de containers com interface gráfica, o processo é o mesmo: colar o conteúdo do Compose no editor de stacks, configurar as variáveis de ambiente e fazer deploy. Em NAS da Synology ou Unraid, a comunidade mantém guias específicos para cada plataforma que adaptam os caminhos de volume e permissões ao modelo de cada sistema.

Atualizações seguem o mesmo padrão. O projeto publica novas versões como tags de imagem Docker, e atualizar é questão de puxar as imagens novas e recriar os containers. O processo inteiro leva menos de um minuto em condições normais, mas é prudente fazer um backup do banco de dados antes de qualquer atualização — o Immich está em desenvolvimento ativo e, embora a equipe seja cuidadosa com migrações de schema, surpresas acontecem.

Acesso remoto: Tailscale, reverse proxy e HTTPS#

Com o Immich rodando, o próximo passo é garantir que você consiga acessá-lo de fora da rede local. Se o servidor está numa VPS com IP público, basta colocar um reverse proxy na frente — Caddy é a opção mais simples porque obtém e renova certificados HTTPS automaticamente via Let’s Encrypt sem nenhuma configuração adicional. Você aponta um domínio para o IP da VPS, configura o Caddy para fazer proxy para a porta 2283 do Immich, e em poucos segundos tem acesso HTTPS funcional. Nginx também serve, mas exige um pouco mais de configuração manual para o certificado.

Se o servidor está no home lab, a situação é diferente. A maioria das conexões residenciais no Brasil usa CGNAT, o que significa que você não tem um IP público próprio e não pode simplesmente abrir portas no roteador. O Tailscale resolve esse problema criando uma rede mesh criptografada entre seus dispositivos, independente da topologia da rede subjacente. Você instala o Tailscale no servidor e em cada dispositivo que precisa acessar o Immich — celular, laptop, tablet — e todos passam a se enxergar como se estivessem na mesma rede local, com endereços IP estáveis e tráfego criptografado ponta a ponta. O comando tailscale serve expõe o Immich na rede Tailscale com HTTPS automático via MagicDNS, resultando num endereço como https://fotos.seu-tailnet.ts.net acessível de qualquer lugar. Se você prefere que o Immich fique acessível por um domínio público sem instalar nada nos dispositivos clientes, o Cloudflare Tunnel é outra alternativa — publica o serviço com HTTPS automático usando apenas uma conexão de saída, sem abrir portas e sem IP público.

No app do Immich para celular, a configuração se resume a informar a URL do servidor — seja o domínio público com HTTPS, seja o endereço Tailscale — e autenticar com seu usuário. A partir daí o backup automático funciona em qualquer rede: Wi-Fi de casa, dados móveis, Wi-Fi de hotel. O app é inteligente o suficiente para respeitar configurações de upload apenas em Wi-Fi, se você preferir economizar dados móveis.

Backup: a parte que ninguém quer pensar (mas deve)#

A regra 3-2-1 na prática#

Auto-hospedar suas fotos resolve o problema da dependência de terceiros, mas cria um novo: você é o único responsável pela integridade dos dados. Não existe mais uma equipe de engenharia do Google replicando seus arquivos em três datacenters diferentes em continentes distintos. Se o disco do seu servidor falha e não existe backup, o acervo desaparece. Fotos de casamento, primeiros passos dos filhos, viagens que não vão se repetir — tudo se perde junto com os setores defeituosos de um HD mecânico ou as células degradadas de um SSD.

A regra 3-2-1 existe há décadas e continua sendo o framework mais simples e eficaz para proteção de dados: três cópias dos seus arquivos, em dois tipos diferentes de mídia, com pelo menos uma cópia offsite. Na prática, para quem roda o Immich num home lab, isso pode se traduzir em algo como: a cópia primária no SSD ou HD do servidor, uma segunda cópia num HD externo USB plugado na mesma máquina com sincronização diária automatizada, e uma terceira cópia num serviço de armazenamento de objetos remoto. Para quem roda numa VPS, a lógica se inverte: a cópia primária está no datacenter, e a cópia offsite pode ser um HD externo na sua casa que recebe sincronizações periódicas via rsync ou rclone.

O ponto que muita gente subestima é que o backup do Immich não se resume a copiar a pasta de fotos. O banco de dados PostgreSQL contém todos os metadados, os índices de busca, os agrupamentos de reconhecimento facial, os nomes atribuídos a cada pessoa, a estrutura de álbuns e as informações de cada usuário. Perder a pasta de fotos e manter o banco é ruim; perder o banco e manter as fotos é quase tão ruim, porque toda a organização e o trabalho de curadoria desaparecem. O Immich oferece backup e restauração do banco de dados pela própria interface web desde a versão 2.5, o que facilita bastante, mas o dump do PostgreSQL também deve fazer parte da rotina de backup automatizado.

Backup local + offsite com S3 ou equivalente#

O backup local é a primeira linha de defesa e a mais simples de implementar. Um HD externo USB conectado ao servidor com um cronjob rodando rsync uma vez por dia resolve a questão da segunda cópia com zero custo recorrente. O rsync é incremental — na primeira execução ele copia tudo, nas seguintes copia apenas o que mudou — então mesmo bibliotecas de vários terabytes geram transferências diárias pequenas depois da sincronização inicial. O dump do PostgreSQL pode ser adicionado ao mesmo script: um pg_dump antes do rsync garante que o banco de dados acompanhe os arquivos de mídia no backup.

O backup offsite é a proteção contra desastres que afetam o local físico do servidor: incêndio, inundação, roubo, surto elétrico que frita tudo que está ligado na mesma tomada. Para essa terceira cópia, armazenamento de objetos na nuvem é a opção mais prática e econômica. O Amazon S3 na classe Glacier Deep Archive custa centavos por gigabyte por mês — um acervo de 500 GB sai por volta de vinte centavos de dólar mensais. Backblaze B2 é outra opção popular com preços similares e sem taxas de egresso para volumes pequenos. O rclone é a ferramenta padrão para esse tipo de sincronização: ele fala com praticamente qualquer provedor de armazenamento de objetos, suporta criptografia client-side antes do upload e pode ser agendado com um cronjob semanal ou diário conforme a frequência que fizer sentido para o seu volume de dados.

Quem prefere não depender de nenhum serviço comercial para o backup offsite pode combinar com um amigo ou familiar que também auto-hospeda: cada um roda um script que envia backups criptografados para o servidor do outro via SSH ou rclone SFTP. É a versão caseira da redundância geográfica — seus dados ficam na casa de alguém de confiança, e os dados dessa pessoa ficam na sua, ambos criptografados de ponta a ponta e ilegíveis sem a chave que só o dono possui. Ferramentas como restic e borg tornam esse fluxo especialmente prático porque fazem backup incremental, comprimido e criptografado nativamente, sem exigir etapas separadas para cada uma dessas funções.

O mais importante é que o backup exista, funcione e seja testado. Um backup que nunca foi restaurado é uma suposição, não uma garantia. Reserve um momento para verificar que o dump do PostgreSQL restaura corretamente num container limpo e que os arquivos de mídia no backup correspondem ao que está no servidor. Fazer isso uma vez a cada poucos meses é suficiente para dormir tranquilo.

Limitações e o que esperar#

Immich não é (ainda) um produto acabado#

O Immich evolui rápido — a cadência de releases é alta, a equipe é responsiva e o ritmo de commits no repositório impressiona. Mas velocidade de desenvolvimento também significa que o software ainda está em movimento. Quebras entre versões acontecem. Migrações de schema do banco de dados ocasionalmente exigem atenção manual. Features aparecem, mudam de comportamento e às vezes são reescritas entre uma release e outra. A própria documentação do projeto deixa claro que o Immich não deve ser tratado como a única cópia dos seus dados, e essa honestidade é um bom sinal sobre a maturidade da equipe, mas também um lembrete de que estamos falando de software em construção ativa, não de um produto estável e previsível como o Google Photos.

Na prática, isso significa que manter o Immich saudável exige um mínimo de envolvimento periódico. Verificar os logs depois de uma atualização, acompanhar o changelog antes de puxar uma versão nova, e ter o backup do banco de dados em dia antes de qualquer upgrade são hábitos que precisam entrar na rotina. Nada disso é complexo nem consome muito tempo — estamos falando de cinco a dez minutos por mês em condições normais — mas é tempo que você não gastaria se estivesse simplesmente usando o Google Photos.

O app mobile para iOS e Android é funcional e melhorou muito nas últimas versões, mas ainda tem arestas. O upload em segundo plano às vezes precisa de um empurrão manual no iOS por conta das limitações que a Apple impõe a processos em background. A interface web é bonita e responsiva, mas quem vem do Google Photos vai notar que algumas interações são menos polidas — arrastar para selecionar múltiplas fotos, transições entre visualizações, velocidade de rolagem em bibliotecas muito grandes. São detalhes, não impedimentos, e a tendência é que melhorem com cada release, mas vale ajustar as expectativas antes de migrar.

O machine learning local também tem suas particularidades. A indexação inicial de uma biblioteca grande consome horas em CPU e pode levar dias se a máquina for modesta. Durante esse período o servidor fica mais lento para outras tarefas. O reconhecimento facial funciona bem na maioria dos casos, mas a acurácia dos clusters depende da qualidade e variedade das fotos — rostos parcialmente cobertos, iluminação ruim ou ângulos extremos geram agrupamentos incorretos que precisam de correção manual. A busca semântica via CLIP é impressionantemente útil para termos genéricos como “montanha” ou “festa”, mas tropeça em consultas muito específicas ou contextuais que o Google, com seus modelos massivos, resolveria melhor.

Quando auto-hospedar não faz sentido#

Auto-hospedar não é para todo mundo, e fingir que é seria desonesto. Se você não tem nenhum interesse em administrar infraestrutura, não quer pensar em backups, não se incomoda com os termos de uso do Google e o preço da assinatura do Google One cabe confortavelmente no seu orçamento, o Google Photos continua sendo um produto excelente que funciona sem atrito. Não existe vergonha em preferir conveniência — a maioria esmagadora das pessoas faz exatamente essa escolha, e para muitas delas é a escolha certa.

O Immich também não é a melhor opção para quem precisa de colaboração pesada entre muitos usuários em tempo real, para ambientes corporativos com requisitos rígidos de compliance que exigem auditoria certificada, ou para quem tem um acervo de centenas de milhares de fotos e vídeos 4K mas só dispõe de um Raspberry Pi com 2 GB de RAM para rodar tudo. A ferramenta escala bem para uso pessoal e familiar, mas tem limites de hardware e de escopo que não fazem sentido ignorar.

Outra situação em que auto-hospedar pode ser mais dor de cabeça do que benefício é quando a infraestrutura de internet residencial é muito precária. Se a sua conexão cai com frequência, a energia elétrica é instável e não existe orçamento para um nobreak, o servidor doméstico vai passar mais tempo offline do que online. Nesses casos, uma VPS resolve o problema de disponibilidade, mas adiciona custo mensal recorrente — e se o acervo é grande, esse custo pode superar rapidamente o preço de uma assinatura de armazenamento na nuvem comercial. Cada situação é diferente, e a decisão precisa levar em conta a realidade concreta, não o ideal teórico.

Vale a pena?#

A resposta depende do que você valoriza, e essa não é uma evasiva — é o ponto central de tudo que foi discutido até aqui. Se o que te incomoda é saber que suas fotos de família alimentam modelos de IA treinados para vender publicidade, o Immich elimina esse incômodo por completo. Se o que te preocupa é a possibilidade de um serviço mudar suas políticas da noite para o dia e restringir o acesso ao seu próprio acervo, rodar a infraestrutura no seu hardware remove essa variável da equação. Se o que te motiva é simplesmente a satisfação de abrir o app no celular e saber que cada foto está armazenada num servidor que você configurou, num disco que você escolheu, protegida por backups que você mesmo montou — então sim, vale muito a pena.

O custo de entrada é menor do que parece. Quem já tem um NAS ou um mini PC em casa pode ter o Immich rodando em menos de uma hora sem gastar nada além do tempo. Quem precisa comprar hardware vai investir algo entre o equivalente a dois e quatro anos de assinatura do Google One — depois disso, o custo recorrente é apenas energia elétrica e, se houver backup offsite na nuvem, alguns centavos por mês de armazenamento de objetos. Quem preferir a VPS terá um custo mensal, mas com a contrapartida de não se preocupar com disponibilidade e hardware físico. Em qualquer cenário, o investimento se paga em prazo razoável se comparado com décadas de assinaturas acumuladas.

O Immich não é perfeito. É um projeto em desenvolvimento ativo, com arestas que ainda estão sendo aparadas e limitações que não existem nos produtos de empresas com orçamentos bilionários. Mas é também um dos projetos open source mais impressionantes dos últimos anos no espaço de auto-hospedagem, com uma equipe comprometida, uma comunidade enorme e uma velocidade de evolução que faz o software de hoje ser significativamente melhor do que o de seis meses atrás. A cada release, a distância entre o Immich e o Google Photos diminui — e em alguns aspectos, como preservação de metadados e controle granular sobre os dados, o Immich já está à frente.

Suas fotos são o registro visual da sua vida. São os rostos das pessoas que importam, os lugares onde você esteve, os momentos que não se repetem. Decidir onde esse acervo mora e quem tem acesso a ele é uma das poucas decisões digitais que realmente merece atenção. O Immich te dá a opção de tomar essa decisão de volta.