Deseja uma solução de armazenamento de fotos auto-hospedada como alternativa ao Google Fotos ou ao Apple iCloud? Veja como instalar o Immich no Raspberry Pi.
O Google Fotos é a solução dominante de armazenamento e backup de fotos, transferindo sem esforço suas imagens do seu telefone para a nuvem. Mas se você não quiser compartilhar suas fotos pessoais com o Google, existem alternativas.
Embora existam muitas soluções auto-hospedadas que você pode hospedar no Raspberry Pi, Immich está muito acima da maioria dos concorrentes. Ele oferece aprendizado de máquina, vários usuários, classificação automática de imagens, reconhecimento facial, aplicativos nativos para Android e iOS e uma série de outros recursos.
Por que instalar o Immich no Raspberry Pi?
As fotografias capturam partes de nossas vidas que consideramos valer a pena guardar na memória e que desejamos recordar em uma data posterior. São lembranças de bons momentos, ótimas refeições, dias altos e feriados.
Nas décadas anteriores, você precisaria carregar um filme ou câmera digital com você para capturar essas ocasiões e, em seguida, imprimi-las ou transferir manualmente os arquivos para o seu computador.
Hoje, quase todo mundo carrega um telefone com duas ou mais câmeras embutidas, e o melhores câmeras de telefone são bons o suficiente para serem usados por fotógrafos profissionais.
Carregamento Automático
Na maioria das vezes, quando você tira uma foto, ela é carregada no Google ou na Apple e você pode acessá-la novamente por meio de qualquer dispositivo usando uma interface da web ou aplicativo. Mas há bons motivos para você não querer confiar em terceiros para hospedar suas imagens.
Além disso, esses serviços são pagos depois que você ultrapassa um limite de armazenamento - atualmente 15 GB para Google e 5 GB para Apple - você nunca pode ter certeza de que as empresas não estão bisbilhotando sua foto arquivar ou usando suas imagens para treinar AIs generativas.
O armazenamento de fotos hospedado na nuvem é mais do que apenas armazenar e acessar suas fotos e, nos últimos anos, nos acostumamos a álbuns gerados automaticamente, reconhecimento facial, linhas do tempo, identificação de objetos, lembretes de momentos importantes e um Linha do tempo. Naturalmente, também deve vir com aplicativos móveis atraentes, através dos quais você pode enviar suas fotos para a nuvem
Immich é um software de código aberto auto-hospedado que fará tudo isso e muito mais. Veja como instalar o Immich no seu Raspberry Pi. Antes de continuar, você deve baixe suas fotos do Google, ou exporte suas imagens do iCloud.
Como instalar o Immich no Raspberry Pi
Antes de começar, você precisará configurar seu Raspberry Pi como um servidor web. Embora você não precise estritamente de MariaDB ou PHP para instalar o Immich, você pode achá-los úteis para outros projetos de auto-hospedagem. Você também deveria instale a versão mais recente do Docker Compose manualmente.
Assim que seu Pi estiver funcionando como um servidor web básico, crie um novo diretório para Immich e vá para ele:
mkdir ~/immich && cd ~/immiCH
Você também precisará criar um diretório para os arquivos enviados
mkdir immich-uploads
Você precisará do caminho absoluto deste diretório mais tarde, então vá para ele e use o pwd comando para encontrar exatamente onde está em seu sistema de arquivos:
cd imich-uploads
pwd
Anote a saída e mantenha-a segura. Agora suba um nível de diretório e use wget para baixar o Immich docker-compose.yml arquivo e arquivo de ambiente inserindo estes comandos separadamente:
cd..
wgethttps://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
O .env O arquivo de ambiente contém variáveis que você precisa alterar antes de colocar sua instância Immich online. Use o editor de texto nano para abrir o arquivo:
nano.env
Defina o local de upload para o diretório de upload que você criou anteriormente. Esta é a única alteração necessária que você precisa fazer no arquivo, mas há outras opções de configuração que você pode especificar se quiser.
Se você deseja que Immich possa rotular suas fotos com o nome do local em que foram tiradas, role para baixo até o Geocodificação reversa seção e descomente o Geocodificação reversa e REVERSE_GEOCODING_PRECISION linhas.
Immich oferece quatro níveis de precisão. 3 é o mais preciso e nomeará assentamentos com uma população de mais de 500. Essa precisão vem com um custo de memória e configuração 3 exigirá 200 MB de RAM. Em comparação, definir o valor como 0 nomeará cidades com mais de 50.000 habitantes e consumirá apenas 40 MB.
Mudar o PUBLIC_LOGIN_PAGE_MESSAGE para o que você deseja que os usuários vejam antes de fazerem login no site.
Quando estiver satisfeito com as alterações, salve e saia do nano com Ctrl + O então Ctrl + X.
O comando a seguir abrirá o Docker Compose no modo desanexado, fará o download das imagens necessárias e configurará os contêineres que o Immich precisa para executar.
docker-compose up -d
O processo levará vários minutos, durante os quais você pode confira alguns podcasts incríveis em seu terminal. Quando Immich ficar online, visite o aplicativo da web em seu navegador em seu-pi-endereço-ip-local: 2283.
Clique iniciar, em seguida, crie um usuário administrador. Sua instância Immich acabará sendo exposta à web, então lembre-se de usar uma senha forte e difícil de adivinhar e clique em Inscrever-se. Você precisará fazer login novamente com seu endereço de e-mail e senha.
Envie suas fotos para Immich
A menos que você esteja começando completamente do zero, provavelmente deseja carregar seu arquivo de fotos existente para sua nova instância Immich. Enquanto você pode clicar no Carregar botão no canto superior direito da interface da web e selecione as imagens manualmente, este método não é prático se você tiver milhares de fotos em um arquivo de vários gigabytes.
Os desenvolvedores do Immich criaram uma ferramenta CLI que você pode usar para fazer upload em massa de suas imagens para o Immich. Embora seja tentador usar cópia segura (SCP) para transferir seus arquivos, Immich não os reconhecerá.
Você precisará instalar a ferramenta de upload da CLI em seu sistema local, e não no próprio Pi. Mas primeiro, você precisa ter o Node Package Manager e o Node.js versão 16 ou superior. Você pode instalar npm e Node.js no Windows, e é ainda mais fácil instalar npm e Node.js no Linux.
De volta ao aplicativo da Web, clique no ícone do usuário ou nas iniciais no canto superior direito da tela e clique em Configurações da conta > Chaves de API > Nova chave de API.
Dê um nome à chave e pressione Criar. Immich irá gerar uma nova chave de API — anote-a.
Na janela do terminal ou prompt de comando, navegue até o diretório onde suas imagens estão armazenadas e digite:
imich upload --key your-generated-API-key --server http://your-pi-local-ip-address: 2283/api --recursive .
Bater y quando perguntado se deseja iniciar o processo de upload, relaxe, pois isso pode demorar um pouco. Para referência, demorou cerca de seis horas para carregar nosso arquivo de 82 GB com mais de 40.000 imagens, mas isso é apenas uma fração do trabalho.
Após a conclusão do upload, o Immich processará suas imagens, extrairá metadados, marcará rostos e executará algoritmos de reconhecimento de objetos. Durante esse processo, a interface da Web será menos responsiva e as imagens podem aparecer na ordem errada. Para o nosso arquivo, o processo levou cerca de quatro dias em um Raspberry Pi 4B de 8 GB - embora não tenha tido nenhum impacto perceptível na variedade de outros serviços que hospedamos habitualmente.
Você pode acompanhar o progresso por meio da interface da Web clicando em Administração > Trabalhos. Immich processará vários trabalhos simultaneamente; para alterar esses valores e potencialmente acelerar o processo, vá para Administração > Configurações > Configurações do trabalhoe ajuste a simultaneidade ao seu gosto.
Expor Immich para a Web
Você precisará criar um arquivo de configuração Apache para sua instância Immich:
cd /etc/apache2/sites-available && sudo nano immich.conf
No novo arquivo, cole o seguinte:
<VirtualHost *:80>
Nome do servidorseu-nome-de-domínio.tld
ProxyPass / http://127.0.0.1:2283/
ProxyPassReverse / http:/127.0.0.1:2283/
ProxyPreserveHost ativado
VirtualHost>
Salve e saia do nano com Ctrl + O então Ctrl + X. Ative o arquivo conf e reinicie o Apache:
sudoa2ensiteimmich.conf && sudoserviçoapache2reiniciar
Use o Certbot para buscar e implantar certificados e chaves TLS:
sudo certbot
Selecione seu nome de domínio na lista e pressione Digitar. Reinicie o Apache novamente com:
serviço sudo apache2 reiniciar
Agora você pode acessar seu aplicativo da web Immich usando seu nome de domínio.
Use aplicativos móveis com Immich
Se você estiver usando o Immich para replicar a funcionalidade de ofertas comerciais, precisará de um aplicativo complementar em seu telefone. O Immich está disponível para Android e iOS e oferece suporte para upload e visualização de imagens e vídeos, navegação rápida e backup automático, pesquisa e muito mais.
Para começar, digite seu URL Immich, incluindo o https:// prefixo e faça login com suas credenciais de administrador. Você precisará conceder permissão para que o aplicativo visualize suas fotos e vídeos.
A interface é direta e intuitiva, e você poderá navegar na maior parte sem qualquer ajuda. Clique no ícone da nuvem no canto superior direito e escolha os álbuns locais que deseja fazer backup, além de ativar os backups automáticos em primeiro plano e segundo plano.
Download: Imich para iOS | Android (Play Store) | Android (F-Droid)
Immich é um trabalho em andamento
O desenvolvimento do Immich está em andamento constante e, apesar do trabalho no projeto começar apenas em 2022, é sem dúvida um substituto auto-hospedado incrivelmente competente para o iCloud ou o Google Fotos.
Se você preferir um projeto um pouco mais maduro, considere implantar o PhotoPrism em seu Raspberry Pi.