Comment j'ai transformé mon Raspberry Pi en archive Internet privée

Un Raspberry Pi et un vieux disque dur prenaient la poussière dans mon tiroir jusqu’à ce que le piratage de l’Internet Archive fasse la une des journaux. Maintenant, ils sont au cœur de mon système local d’archivage web, préservant tout, des articles de blog préférés aux projets open-source. Dans cet article, je vais vous montrer mon parcours étape par étape pour créer une archive Internet privée et une indépendance en matière de préservation numérique en utilisant ArchiveBox.
Pourquoi j’ai choisi d’auto-héberger une archive Internet privée
La récente violation de la sécurité de l’Internet Archive a frappé la communauté de la préservation numérique et tous ceux qui bénéficient de son travail comme un coup de tonnerre. Le 9 octobre, les pirates ont compromis le site et volé une immense base de données d’authentification d’utilisateurs contenant 31 millions d’enregistrements.
Ce qui aggrave encore la situation, c’est que ce n’était pas la fin des problèmes de l’Archive. Juste au moment où ils réussissaient à restaurer certains services d’ici le 21 octobre, les pirates ont eu accès à leur système de support Zendesk, démontrant que la vulnérabilité était plus profonde que prévu.

Bien que l’Archive ait depuis repris ses opérations, son avenir reste incertain car les violations de sécurité ne sont pas la seule menace pour la préservation numérique. Un récent arrêt d’une cour d’appel fédérale a porté un autre coup significatif à l’Internet Archive, jugeant que leur bibliothèque de prêt numérique n’était pas protégée par la doctrine de l’utilisation équitable et pourrait donc être contrainte de retirer une partie significative de son contenu.
Les implications sont claires : le besoin de contrôle personnel sur la préservation numérique n’a jamais été aussi évident. La bonne nouvelle est que tout le monde peut mettre en place une archive Internet privée en utilisant un Raspberry Pi et ArchiveBox avec simplicité.
Mon matériel recommandé pour l’archive Raspberry Pi
Si vous êtes prêt à créer votre propre archive Internet privée, vous aurez besoin de matériel.
Avant tout, vous aurez besoin d’un Raspberry Pi. Pour la meilleure expérience, je recommande vivement le dernier Raspberry Pi 5 car ses performances considérablement améliorées signifient que vos tâches d’archivage fonctionneront plus facilement et plus rapidement, et vous aurez beaucoup de marge pour une future expansion de votre archive.

Cela dit, ne vous sentez pas obligé si vous possédez déjà un Raspberry Pi 4B avec 4 Go ou 8 Go de RAM. Ces modèles sont parfaitement capables de faire fonctionner une archive personnelle, et ils ont en fait un avantage intéressant par rapport au Pi 5 : le codage vidéo H.264 matériel. Cela devient particulièrement précieux si vous prévoyez de diffuser des vidéos archivées vers votre TV ou d’autres appareils chez vous.
Avec votre Pi, voici ce dont vous aurez besoin :
- Carte microSD : Une carte microSD de 32 Go est suffisante pour faire fonctionner ArchiveBox. Cette carte microSD servira de disque de démarrage principal au Pi, alors assurez-vous de choisir un modèle de qualité et fiable pour éviter tout problème de corruption de données à l’avenir.
- Disque dur externe : Pour le stockage réel de l’archive, vous voudrez un disque dur externe 3,5 pouces avec sa propre alimentation. Pourquoi ? Parce que les disques de 3,5 pouces offrent une meilleure fiabilité dans le temps par rapport aux SSD plus modernes, et la fiabilité est ce qui compte le plus en matière d’archivage.
- Moniteur, souris et clavier : Ceux-ci sont techniquement optionnels, mais peuvent faciliter la configuration, surtout si vous configurez le Pi pour la première fois. Alternativement, vous pouvez le contrôler entièrement à distance en utilisant des outils comme SSH (Secure Shell Protocol), VNC (Virtual Network Computing), ou RDP (Remote Desktop Protocol).
Une fois que vous avez tous ces éléments à portée de main, vous êtes prêt à commencer à configurer votre archive Internet auto-hébergée !
Préparation d’un environnement logiciel pour l’archivage
La première étape consiste à faire fonctionner un système d’exploitation sur votre Raspberry Pi. Je recommande personnellement Raspberry Pi OS car, étant le système d’exploitation officiel pour les dispositifs Raspberry Pi, c’est de loin l’option la plus populaire et supportée disponible. Vous pouvez suivre notre guide d’installation de Raspberry Pi OS si vous ne savez pas comment l’installer sur votre carte microSD.

Et si vous vous sentez aventureux, vous pourriez vouloir explorer certains des systèmes d’exploitation alternatifs disponibles pour le Raspberry Pi.
Une fois que vous avez le système d’exploitation installé, démarrez votre Pi et connectez-le à Internet (peu importe si vous utilisez une connexion filaire ou sans fil). Ensuite, lancez Terminal et effectuez une mise à jour du système avec la commande :
sudo apt update &&sudo apt full-upgrade
Concernant l’installation d’ArchiveBox, vous avez trois options : Docker, un script de configuration automatique ou l’utilisation du gestionnaire de paquets de votre système. Je recommande fortement d’opter pour Docker. Non seulement il offre la meilleure expérience d’installation et de mise à jour, mais il vous fournit également la meilleure isolation de sécurité et inclut toutes les dépendances dès le départ.
Malheureusement, Docker n’est pas pré-installé sur Raspberry Pi OS, donc nous devrons le configurer d’abord (n’oubliez pas d’effectuer également les étapes après installation).
Avec Docker installé avec succès, nous sommes prêts à passer à l’installation d’ArchiveBox lui-même, ce qui sera beaucoup plus simple grâce à tout le travail préparatoire que nous avons effectué.
Installation et exécution d’ArchiveBox
Pour installer ArchiveBox en utilisant Docker, commencez par créer un répertoire où tout votre contenu archivé sera stocké. Cela sera votre dossier d’archive sur le Raspberry Pi, alors choisissez un emplacement avec suffisamment de stockage, comme votre disque dur externe (vous pouvez y naviguer en utilisant la commande cd) :
mkdir-p archivebox/data &&cd archiveboxEnsuite, téléchargez le fichier de configuration Docker Compose officiel qui définit comment ArchiveBox doit fonctionner :
curl -fsSL'https://docker-compose.archivebox.io'> docker-compose.ymlCe fichier de configuration est important car il met en place tous les composants nécessaires, y compris le serveur web et les tâches programmées. Si vous souhaitez stocker votre archive sur un disque externe plutôt que sur la carte SD du Pi (ce qui est recommandé), vous devrez modifier le fichier « docker-compose.yml » pour pointer vers l’emplacement de votre disque monté.
Pour ce faire, ouvrez le fichier de configuration à l’aide de n’importe quel éditeur de texte, comme nano :
nano docker-compose.ymlCherchez la section volumes sous le service archivebox. Par défaut, cela ressemble à ceci :
services:
archivebox:
...
volumes:
- ./data:/dataNous devons changer ./data pour refléter le chemin complet vers le répertoire de données de notre disque externe. Par exemple, si votre disque est monté à /mnt/external_drive, modifiez la ligne pour qu’elle ressemble à ceci :
services:
archivebox:
...
volumes:
- /mnt/external_drive/archivebox/data:/dataCela indique à Docker de stocker toutes les données d’ArchiveBox dans le répertoire « archivebox/data » sur votre disque externe au lieu d’utiliser un chemin relatif. Utiliser le chemin absolu est important car cela garantit que Docker peut toujours trouver vos données d’archive, même si vous exécutez des commandes depuis différents répertoires.
Pendant que vous y êtes, vous pouvez également ajouter les variables d’environnement PUID et PGID pour correspondre au compte utilisateur de votre Pi. Trouvez votre identifiant utilisateur et votre identifiant de groupe en exécutant id -u et id -g, puis ajoutez-les à la section d’environnement :
services:
archivebox:
...
environment:
- PUID=1000 # remplacez par votre identifiant utilisateur
- PGID=1000 # remplacez par votre identifiant de groupeEnfin, commentez ou supprimez les services sonic (recherche plus rapide et meilleure pour les grandes collections) et novnc (permet de configurer un profil avec les connexions aux sites que vous souhaitez archiver). La configuration de ces services optionnels est au-delà du champ d’application de ce guide, donc je vous recommande de suivre la documentation officielle si vous êtes intéressé par eux.
La configuration minimale fonctionnelle devrait ressembler à ceci :

Enregistrez le fichier et quittez l’éditeur. Maintenant, initialisez votre archive et créez un utilisateur administrateur pour accéder à l’interface web :
docker compose run archivebox init
docker compose run archivebox manage createsuperuserUne fois l’initialisation terminée, vous pouvez démarrer le serveur ArchiveBox :
docker compose up -d
Vous pouvez maintenant accéder à votre instance ArchiveBox en ouvrant un navigateur web et en naviguant vers http://localhost:8000. Essayez-le maintenant. Voici ce que vous devriez voir :
Configuration et utilisation d’ArchiveBox
Pour personnaliser le comportement d’ArchiveBox, vous n’avez pas besoin de modifier directement les fichiers de configuration. Utilisez plutôt la commande config pour modifier les paramètres. Par exemple, j’ajuste toujours les délais et les limites de ressources pour de meilleures performances sur le Raspberry Pi :
docker compose run archivebox config --setMEDIA_TIMEOUT=3600
docker compose run archivebox config --setTIMEOUT=60
docker compose run archivebox config --setMEDIA_MAX_SIZE=750mbVous pouvez également désactiver l’envoi à archive.org pour accélérer l’archivage :
docker compose run archivebox config --setSAVE_ARCHIVE_DOT_ORG=FalseTous les paramètres sont automatiquement enregistrés dans le fichier ArchiveBox.conf dans votre répertoire de données, et vous pouvez afficher les paramètres actuels à tout moment en exécutant :
docker compose run archivebox config list
Avec la configuration de base terminée, vous pouvez commencer à ajouter du contenu à votre archive. ArchiveBox prend en charge plusieurs façons d’ajouter des URL. La méthode la plus simple est l’interface web. Vous cliquez simplement sur le bouton Ajouter, collez vos URL, puis cliquez sur le bouton Ajouter des URL et archiver.

Dans certaines situations, il peut être plus pratique d’archiver via la ligne de commande. Par exemple, pour archiver une seule page web, vous pouvez exécuter :
docker compose run archivebox add 'https://example.com'Ou pour archiver une liste entière d’URL à partir d’un fichier texte :
docker compose run -T archivebox add < urls.txtEnfin, vous pouvez importer depuis divers services de signets, y compris Pocket, Pinboard ou Instapaper. Veuillez consulter le wiki officiel pour des instructions détaillées.
N’oubliez pas que votre archive est aussi sécurisée que les sauvegardes que vous maintenez. Pour protéger tout le contenu que vous essayez de préserver, je recommande vivement de mettre en œuvre une stratégie de sauvegarde fiable avec l’aide des meilleurs logiciels de sauvegarde Linux pour vous protéger contre la perte de données, les pannes de courant, ou les suppressions accidentelles.
Image de couverture et captures d’écran par David Morelo.