Como Transformei Meu Raspberry Pi em um Arquivo de Internet Privado

Capa do Archivebox Raspberry Pi

Um Raspberry Pi e um antigo disco rígido estavam acumulando poeira na minha gaveta até que o hack do Internet Archive chamou a atenção. Agora, eles são o coração do meu sistema local de arquivamento web, preservando tudo, desde postagens de blog favoritas até projetos de código aberto. Neste artigo, vou mostrar minha jornada passo a passo para criar um arquivo de internet privado e independência na preservação digital usando ArchiveBox.

Por Que Escolhi Hospedar Um Arquivo de Internet Privado

A recente violação de segurança do Internet Archive atingiu a comunidade de preservação digital e todos que se beneficiam de seu trabalho como um raio. No dia 9 de outubro, hackers comprometeram o site e roubaram um enorme banco de dados de autenticação de usuários contendo 31 milhões de registros.

O que piorou a situação foi que isso não foi o fim dos problemas do Archive. Justo quando conseguiram restaurar alguns serviços até 21 de outubro, hackers tiveram acesso ao sistema de suporte Zendesk, demonstrando que a vulnerabilidade era mais profunda do que se pensava inicialmente.

Internet Archive Offline

Embora o Archive tenha retomado as operações, seu futuro continua incerto, pois as violações de segurança não são a única ameaça à preservação digital. Uma recente decisão de um tribunal de apelações federal causou outro grande golpe ao Internet Archive, determinando que sua biblioteca digital de empréstimos não estava protegida pela doutrina de uso justo e, assim, poderia ser forçada a remover uma parte significativa de seu conteúdo.

As implicações são claras: a necessidade de controle pessoal sobre a preservação digital nunca foi tão evidente. A boa notícia é que qualquer um pode configurar um arquivo de internet privado usando um Raspberry Pi e ArchiveBox com facilidade.

Meu Hardware Recomendado para Configuração de Arquivo Raspberry Pi

Se você está pronto para criar seu próprio arquivo de internet privado, você precisará de algum hardware.

Primeiro e acima de tudo, você precisará de um Raspberry Pi. Para a melhor experiência, recomendo fortemente o mais recente Raspberry Pi 5, porque seu desempenho significativamente melhorado significa que suas tarefas de arquivamento correrão mais suavemente e rapidamente, e você terá bastante espaço para futuras expansões do seu arquivo.

Raspberry Pi Na Caixa

Dito isso, não se sinta pressionado se você já possui um Raspberry Pi 4B com 4GB ou 8GB de RAM. Esses modelos são perfeitamente capazes de executar um arquivo pessoal e, na verdade, possuem uma vantagem interessante em relação ao Pi 5: codificação de vídeo H.264 por hardware. Isso se torna particularmente valioso se você planeja transmitir vídeos arquivados para sua TV ou outros dispositivos em sua casa.

Junto com o seu Pi, aqui está o que mais você vai precisar:

  • cartão microSD: Um cartão microSD de 32GB é suficiente para colocar o ArchiveBox em funcionamento. Este cartão microSD servirá como a unidade de inicialização principal do Pi, então certifique-se de escolher um de qualidade e confiável para evitar problemas de corrupção de dados no futuro.
  • disco rígido externo: Para o armazenamento real do arquivo, você vai querer um disco rígido externo de 3,5″ com sua própria fonte de alimentação. Por quê? Porque os drives de 3,5″ oferecem melhor confiabilidade ao longo do tempo em comparação com SSDs mais modernos, e a confiabilidade é o que mais importa quando se trata de arquivamento.
  • monitor, mouse e teclado: Esses são tecnicamente opcionais, mas podem facilitar a configuração, especialmente se você estiver configurando o Pi pela primeira vez. Alternativamente, você pode controlá-lo totalmente de forma remota usando ferramentas como SSH (Secure Shell Protocol), VNC (Virtual Network Computing) ou RDP (Remote Desktop Protocol).

Uma vez que você tenha todos esses itens em mãos, está pronto para começar a configurar seu arquivo de internet auto-hospedado!

Preparando um Ambiente de Software para Arquivamento

O primeiro passo é colocar um sistema operacional para funcionar no seu Raspberry Pi. Pessoalmente, recomendo o Raspberry Pi OS porque, como o sistema operacional oficial para dispositivos Raspberry Pi, é de longe a opção mais popular e suportada disponível. Você pode seguir nosso guia de instalação do Raspberry Pi OS se não souber como colocá-lo no seu cartão microSD.

Escrevendo Imagem do Raspberry Pi

E se você estiver se sentindo aventureiro, pode querer explorar alguns dos sistemas operacionais alternativos disponíveis para o Raspberry Pi.

Depois de instalar o sistema operacional, inicie seu Pi e conecte-o à internet (não importa se você usa uma conexão com fio ou wireless). Em seguida, lance o Terminal e execute uma atualização do sistema com o comando:

sudo apt update && sudo apt full-upgrade

Sudo Apt Full Upgrade

Quando se trata de instalar o ArchiveBox, você tem três opções: Docker, um script de configuração automático ou usar o gerenciador de pacotes do seu sistema. Eu recomendo fortemente optar pelo Docker. Não só ele fornece a experiência de instalação e atualização mais suave, mas também oferece o melhor isolamento de segurança e inclui todas as dependências prontas para uso.

Infelizmente, o Docker não vem pré-instalado no Raspberry Pi OS, então precisaremos configurá-lo primeiro (não se esqueça de realizar também os passos pós-instalação).

Com o Docker instalado com sucesso, estamos prontos para prosseguir para a instalação do ArchiveBox, que será muito mais simples graças a todo o trabalho que fizemos.

Instalando e Executando o ArchiveBox

Para instalar o ArchiveBox usando o Docker, primeiro crie um diretório onde todo o seu conteúdo arquivado será armazenado. Esta será a sua pasta de arquivo no Raspberry Pi, então escolha um local com amplo armazenamento, como seu disco rígido externo (você pode navegar até ele usando o comando cd):

mkdir -p archivebox/data && cd archivebox

Em seguida, baixe o arquivo de configuração oficial do Docker Compose que define como o ArchiveBox deve funcionar:

curl -fsSL 'https://docker-compose.archivebox.io' > docker-compose.yml

Este arquivo de configuração é importante porque configura todos os componentes necessários, incluindo o servidor web e tarefas programadas. Se você quiser armazenar seu arquivo em um disco externo em vez do cartão SD do Pi (o que é recomendado), precisará editar o arquivo “docker-compose.yml” para apontar para a localização do seu drive montado.

Para fazer isso, abra o arquivo de configuração usando qualquer editor de texto, como o nano:

nano docker-compose.yml

Procure pela seção volumes sob o serviço archivebox. Por padrão, ela deve parecer algo assim:

services:  
    archivebox:  
...  
        volumes:  
            - ./data:/data

Precisamos mudar ./data para refletir o caminho completo para o diretório de dados do nosso disco externo. Por exemplo, se o seu drive estiver montado em /mnt/external_drive, modifique a linha para parecer assim:

services:  
    archivebox:  
...  
        volumes:  
            - /mnt/external_drive/archivebox/data:/data

Isso diz ao Docker para armazenar todos os dados do ArchiveBox no diretório “archivebox/data” no seu disco externo em vez de usar um caminho relativo. Usar o caminho absoluto é importante porque garante que o Docker possa sempre encontrar seus dados de arquivo, mesmo que você execute comandos de diferentes diretórios.

Enquanto você estiver nisso, também pode adicionar as variáveis de ambiente PUID e PGID para corresponder à conta de usuário do seu Pi. Encontre seu ID de usuário e ID de grupo executando id -u e id -g, em seguida, adicione-os à seção de ambiente:

services:  
    archivebox:  
...  
        environment:  
            - PUID=1000    # substitua pelo seu ID de usuário  
            - PGID=1000    # substitua pelo seu ID de grupo

Por fim, comente ou remova os serviços sonic (busca mais rápida e melhor para grandes coleções) e novnc (permite configurar um perfil com logins para os sites que você deseja arquivar). A configuração desses serviços opcionais está além do escopo deste guia, então recomendo que você siga a documentação oficial se estiver interessado.

A configuração mínima de trabalho deve parecer algo assim:

Docker Compose Archivebox

Salve o arquivo e saia do editor. Agora inicialize seu arquivo e crie um usuário administrador para acessar a interface web:

docker compose run archivebox init  
docker compose run archivebox manage createsuperuser

Uma vez completada a inicialização, você pode iniciar o servidor ArchiveBox:

docker compose up -d

Archive Box Executando Pela Primeira Vez

Você agora pode acessar sua instância do ArchiveBox abrindo um navegador web e navegando até http://localhost:8000. Experimente agora. Isso é o que você deve ver:

Configurando e Usando o ArchiveBox

Para personalizar o comportamento do ArchiveBox, você não precisa editar arquivos de configuração diretamente. Em vez disso, use o comando config para modificar as configurações. Por exemplo, eu sempre ajusto os limites de tempo e recursos para melhor desempenho no Raspberry Pi:

docker compose run archivebox config --set MEDIA_TIMEOUT=3600  
docker compose run archivebox config --set TIMEOUT=60  
docker compose run archivebox config --set MEDIA_MAX_SIZE=750mb

Você também pode desabilitar o envio para archive.org para acelerar o arquivamento:

docker compose run archivebox config --set SAVE_ARCHIVE_DOT_ORG=False

Todas as configurações são automaticamente salvas no arquivo ArchiveBox.conf em seu diretório de dados, e você pode visualizar as configurações atuais a qualquer momento executando:

docker compose run archivebox config list

Archivebox Adicionando Nova Url

Com a configuração básica concluída, você pode começar a adicionar conteúdo ao seu arquivo. O ArchiveBox suporta várias maneiras de adicionar URLs. A mais direta é a interface web. Você simplesmente clica no botão Adicionar, cola suas URLs e clica no botão Adicionar URLs e arquivar.

Archivebox Site Arquivado

Em algumas situações, pode ser mais conveniente arquivar via linha de comando. Por exemplo, para arquivar uma única página da web, você pode executar:

docker compose run archivebox add 'https://example.com'

Ou para arquivar uma lista inteira de URLs de um arquivo de texto:

docker compose run -T archivebox add < urls.txt

Finalmente, você pode importar de vários serviços de favoritos, incluindo Pocket, Pinboard ou Instapaper. Por favor, verifique a wiki oficial para instruções detalhadas.

Lembre-se de que seu arquivo é tão seguro quanto os backups que você mantém. Para proteger todo o conteúdo que você está tentando preservar, recomendo fortemente implementar uma estratégia de backup confiável com a ajuda do melhor software de backup para Linux para proteger contra perda de dados, falhas de energia ou exclusões acidentais.

Imagem de capa e capturas de tela por David Morelo.