Immich é uma óptima alternativa ao Google Photos que pode alojar no Raspberry Pi
O Google Fotos é uma plataforma muito utilizada para armazenar e fazer cópias de segurança de fotografias, permitindo aos utilizadores transferir facilmente as suas imagens dos seus dispositivos móveis para a nuvem. No entanto, se surgirem preocupações com a privacidade, existem outras opções.
Alojar uma variedade de soluções no Raspberry Pi não é certamente um conceito novo, mas entre a pletora de opções disponíveis, o Immich continua a ser uma escolha excecional devido à sua extensa gama de capacidades. Com a capacidade de realizar aprendizagem automática, suporte para vários utilizadores, classificação automática de imagens, reconhecimento facial e compatibilidade com as plataformas Android e iOS, bem como várias outras funcionalidades avançadas, o Immich destaca-se dos restantes.
Porquê instalar o Immich no Raspberry Pi?
As fotografias servem como um meio de preservar as memórias de eventos ou momentos que se considera dignos de serem recordados no futuro. Funcionam como recordações tangíveis de experiências queridas, tais como ocasiões especiais, celebrações e feriados, bem como refeições memoráveis e outros marcos significativos.
Em épocas anteriores, era necessário ter um dispositivo fotográfico, quer fosse uma câmara de filmar ou uma câmara digital, para captar esses momentos. Depois, era preciso escolher entre mandar revelar e imprimir as imagens ou transferir manualmente os ficheiros para um computador.
A prevalência de smartphones equipados com várias câmaras incorporadas tornou-se omnipresente na sociedade contemporânea, sendo que a qualidade destes sistemas de câmaras ultrapassa frequentemente a dos fotógrafos profissionais mais experientes.
Carregamento automático
A prática predominante de partilha de imagens envolve o carregamento de fotografias para os servidores da Google ou da Apple, onde podem ser recuperadas a partir de qualquer dispositivo através de uma interface ou aplicação baseada na Web. No entanto, existem motivações convincentes para que uma pessoa possa preferir não confiar as suas fotografias a um serviço de alojamento de terceiros.
Ao exceder os respectivos limites de armazenamento de 15 GB para a Google e de 5 GB para a Apple, a utilização dos seus serviços de armazenamento em nuvem exige um pagamento. No entanto, não existe qualquer garantia de que as empresas não analisem os arquivos de fotografias de uma pessoa ou os utilizem para desenvolver algoritmos de inteligência artificial, explorando o seu repositório de imagens.
Os serviços de armazenamento de fotografias baseados na nuvem oferecem capacidades que vão para além do simples armazenamento e acesso a dados, como evidenciado pela utilização generalizada da criação automática de álbuns, reconhecimento facial, linhas do tempo, identificação de objectos, notificações de lembretes para eventos significativos e cronologias pesquisáveis.Espera-se que estas funcionalidades sejam acompanhadas por aplicações móveis visualmente apelativas através das quais os utilizadores possam carregar as suas imagens para a nuvem.
Em primeiro lugar, certifique-se de que descarregou as suas fotografias do Google ou exportou as suas imagens do iCloud; depois, ligue o seu Raspberry Pi ao seu computador utilizando um cabo USB; em seguida, copie os ficheiros Immich para o cartão SD do seu Raspberry Pi; finalmente, ligue o seu Raspberry Pi e siga as instruções para concluir o processo de instalação.
Como instalar o Immich no Raspberry Pi
Para começar, é necessário configurar o Raspberry Pi como um servidor web. Embora a instalação do MariaDB e do PHP não seja essencial para executar o Immich, eles podem ser benéficos para outros empreendimentos de auto-hospedagem. Além disso, recomenda-se que instale manualmente a versão mais recente do Docker Compose.
Depois de se certificar de que o seu Raspberry Pi atingiu a capacidade de servir como um servidor Web elementar, crie uma nova pasta designada para o Immich e navegue até ela.
mkdir ~/immich && cd ~/immich
Por favor, crie uma pasta para armazenar os ficheiros carregados.
mkdir immich-uploads
cd immich-uploads
pwd
cd..
wget https://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 ficheiro
.env
é um componente crucial que contém parâmetros que têm de ser modificados antes de lançar a sua instância Immich na Web. Para aceder e editar este ficheiro, utilize o editor de texto
nano
e, em seguida, abra-o.
nano .env
Defina a pasta designada para carregar os ficheiros como sendo a que foi previamente estabelecida. Esta é a única modificação necessária no ficheiro, embora possam ser especificadas configurações adicionais, se desejado.
Active a função “Reverse Geocoding” no ficheiro de configuração se pretender que o Immich atribua nomes às suas fotografias com base nas respectivas localizações geográficas. Para o fazer, vá para a secção “Reverse Geocoding” e desbloqueie as linhas comentadas relativas a “Reverse Geocoding” e “REVERSE\_GEOCODING\_PRECISION”.
A um nível elevado de especificidade, Immich apresenta quatro níveis de precisão. A classificação mais precisa demarca as localidades com uma população que ultrapassa um limiar especificado, o que implica um aumento proporcional do consumo de memória; a definição do parâmetro no seu nível máximo requer aproximadamente 200 MB de RAM. Em contrapartida, quando o valor é reduzido a zero, classifica as zonas urbanas com uma população superior a cinquenta mil habitantes, consumindo apenas cerca de quarenta megabytes de memória do sistema.
Antes de um utilizador iniciar sessão no Web site, ser-lhe-á apresentada uma mensagem que pode ser personalizada para refletir qualquer conteúdo ou anúncio pretendido.
Depois de finalizar as edições no nano, guarde-as premindo “Ctrl + O” e, em seguida, saia do editor utilizando “Ctrl + X”.
Execute o seguinte comando de forma separada para iniciar o Docker Compose e adquirir as imagens necessárias enquanto configura os contentores para Immich.
docker-compose up -d
Ao clicar no botão “Get started”, é-lhe pedido que crie uma conta de utilizador administrativa para a sua instância Immich. Uma vez que esta instância estará acessível à Internet, é imperativo que utilize uma palavra-passe robusta e indecifrável. Em seguida, navegue para a página “Inscrever-se” clicando na ligação fornecida e introduza o seu endereço de correio eletrónico juntamente com a palavra-passe especificada para concluir o processo de registo. Tenha em atenção que terá de iniciar sessão mais uma vez utilizando estas credenciais.
Carregar as suas fotografias para Immich
Se não está a começar do zero e possui um repositório de imagens existente, é provável que deseje transferir a sua coleção de fotografias para a sua instância Immich recém-criada. Embora clicar no botão “Upload” no topo da interface web e selecionar as imagens manualmente possa ser viável para pequenos arquivos, rapidamente se torna impraticável quando se trata de grandes colecções com vários gigabytes.
A equipa de desenvolvimento do Immich forneceu cuidadosamente um utilitário de interface de linha de comandos (CLI) que permite aos utilizadores carregar eficazmente várias imagens para o Immich. No entanto, como alternativa à utilização de cópia segura (SCP), que não é reconhecida pelo Immich.
Certifique-se de que descarrega e instala a ferramenta de carregamento da interface de linha de comandos (CLI) num dispositivo que não seja o Raspberry Pi, uma vez que requer o Gestor de Pacotes Node e a versão 16 ou superior do Node.js. O processo de instalação é simples nos sistemas operativos Windows e Linux. Para instalar o Node.js no Windows, siga as instruções fornecidas pelo site oficial em https://nodejs.org/en/download/ . Para instalar o Node.js no Linux, basta utilizar o gestor de pacotes pré-instalado na sua distribuição, como o apt ou o yum, dependendo da distribuição que estiver a utilizar.
Ao navegar para a aplicação Web, seleccione o ícone ou a abreviatura que representa a sua conta, situada no canto superior direito do ecrã.Em seguida, seleccione “Account Settings” (Definições de conta) no menu pendente e, posteriormente, seleccione “API Keys” (Chaves de API). Na janela seguinte, encontrará uma opção denominada “Nova chave API”, que pode ser activada clicando nela.
No campo apropriado dentro da janela do terminal ou prompt de comando, dirija-se à localização dos ficheiros de imagem e execute a seguinte instrução:
immich upload --key your-generated-API-key --server http://your-pi-local-ip-address:2283/api --recursive .
Quando lhe for perguntado se deseja iniciar o processo de carregamento, recomenda-se que tenha calma, pois pode demorar muito tempo. De facto, foram necessárias cerca de seis horas para carregar a nossa vasta coleção de mais de 40.000 imagens, o que constitui apenas uma fração de toda a tarefa.
Após a conclusão do carregamento, o Immich realizará uma série de tarefas de processamento, incluindo análise de imagens, reconhecimento facial e deteção de objectos. Este processo pode fazer com que a interface do utilizador se torne lenta e as imagens sejam apresentadas fora de sequência. O nosso teste de implementação demorou cerca de quatro dias, utilizando um Raspberry Pi 4B de 8 GB, sem qualquer efeito percetível no desempenho de outros serviços alojados.
Através da interface web, é possível monitorizar o avanço clicando em “Administration > Jobs”. A plataforma Immich é capaz de processar várias tarefas em simultâneo, permitindo um aumento da eficiência, ajustando os parâmetros acima mencionados em “Administração > Definições > Definições de trabalho” de acordo com as suas necessidades.
Expor Immich à Web
É necessário criar um ficheiro de configuração Apache para a instância Immich, uma vez que é um pré-requisito para o seu bom funcionamento.
cd /etc/apache2/sites-available && sudo nano immich.conf
No novo ficheiro, cole o seguinte:
<VirtualHost *:80>
ServerName your-domain-name.tld
ProxyPass / http://127.0.0.1:2283/
ProxyPassReverse / http:/127.0.0.1:2283/
ProxyPreserveHost On
</VirtualHost>
Ao navegar para fora do Nano ou fechar o editor de texto, pode-se salvar e sair do documento utilizando os atalhos de teclado “Ctrl + O” seguido de “Ctrl + X”. Posteriormente, recomenda-se que se active o ficheiro de configuração e que se inicie o servidor Apache para uma funcionalidade óptima.
sudo a2ensite immich.conf && sudo service apache2 restart
Obtenha e implemente certificados e chaves TLS (Transport Layer Security) utilizando o Certbot, uma ferramenta de linha de comandos concebida para automatizar o processo de obtenção e configuração de certificados SSL/TLS de autoridades de certificação públicas.
sudo certbot
Seleccione um nome de domínio na lista fornecida e prima enter para continuar. Em seguida, reinicie o servidor Apache executando o comando apropriado.
sudo service apache2 restart
O seu nome de domínio está agora acessível para utilização com a aplicação web Immich.
Utilizar aplicações móveis com o Immich
Fechar
A utilização do Immich para imitar as funcionalidades dos produtos comerciais requer a instalação de uma aplicação complementar no seu dispositivo móvel. Felizmente, a Immich está acessível nas plataformas Android e iOS e oferece capacidades como o carregamento de imagens e vídeos, navegação rápida, cópias de segurança automáticas, pesquisa e muitas outras.
A interface do utilizador é simples e fácil de compreender, permitindo-lhe navegar sem esforço pela maioria das suas funcionalidades. Para iniciar uma cópia de segurança, basta clicar no símbolo da nuvem situado no canto superior direito e selecionar os álbuns armazenados localmente que pretende guardar, permitindo também cópias de segurança automáticas em primeiro e segundo plano.
Descarregar:Immich para iOS | Android (Play Store) | Android (F-Droid)
Immich é um trabalho em curso
O desenvolvimento do Immich tem sido um processo contínuo e, embora o projeto tenha começado em 2022, já demonstrou uma proficiência notável como alternativa auto-hospedada ao iCloud ou ao Google Photos.
Um projeto mais avançado que pode ser implementado num Raspberry Pi é o PhotoPrism.