Wie ich meinen Raspberry Pi in ein privates Internet-Archiv verwandelt habe
Kreativ und unabhängig: Erfahren Sie, wie Sie mit einem Raspberry Pi und ArchiveBox Ihr eigenes privates Internetarchiv einrichten und digitale Inhalte bewahren.
Ein Raspberry Pi und eine alte Festplatte lagen in meiner Schublade herum, bis der Hack des Internet Archive Schlagzeilen machte. Jetzt sind sie das Herz meines lokalen Webarchivierungssystems, das alles von meinen Lieblingsblogbeiträgen bis hin zu Open-Source-Projekten bewahrt. In diesem Artikel zeige ich Ihnen meinen schrittweisen Weg, ein privates Internetarchiv und digitale Erhaltungsunabhängigkeit mit ArchiveBox zu schaffen.
Warum ich mich für das Selbst-Hosting eines privaten Internetarchivs entschieden habe
Der kürzliche Sicherheitsvorfall beim Internet Archive traf die digitale Erhaltungsgemeinschaft und all jene, die von seiner Arbeit profitieren, wie ein Blitz. Am 9. Oktober kompromittierten Hacker die Seite und stahlen eine massive Benutzerdatenbank mit 31 Millionen Datensätzen.
Was die Situation verschärfte, war, dass dies nicht das Ende der Probleme des Archivs war. Gerade als sie es schafften, einige Dienste bis zum 21. Oktober wiederherzustellen, hatten Hacker Zugang zu ihrem Zendesk-Supportsystem erhalten, was zeigte, dass die Verwundbarkeit tiefer ging, als zunächst angenommen.
Obwohl das Archiv den Betrieb inzwischen wieder aufgenommen hat, bleibt seine Zukunft ungewiss, denn Sicherheitsvorfälle sind nicht die einzige Bedrohung für die digitale Erhaltung. Ein kürzlich ergangenes Urteil eines Bundesberufungsgerichts fügte dem Internet Archive einen weiteren erheblichen Schlag zu und stellte fest, dass ihre digitale Ausleihbibliothek nicht durch die Fair-Use-Doktrin geschützt sei und sie somit gezwungen werden könnte, einen erheblichen Teil ihres Inhalts zu entfernen.
Die Implikationen sind klar: Die Notwendigkeit für persönliche Kontrolle über digitale Erhaltung war noch nie so deutlich. Die gute Nachricht ist, dass jeder ein privates Internetarchiv mithilfe eines Raspberry Pi und ArchiveBox ganz einfach einrichten kann.
Mein empfohlener Raspberry Pi Archiv-Hardware-Setup
Wenn Sie bereit sind, Ihr eigenes privates Internetarchiv zu erstellen, benötigen Sie einige Hardware.
Zuerst und vor allem benötigen Sie einen Raspberry Pi. Für die beste Erfahrung empfehle ich den neuesten Raspberry Pi 5, da seine deutlich verbesserte Leistung bedeutet, dass Ihre Archivierungsaufgaben reibungsloser und schneller ablaufen und Sie ausreichend Spielraum für zukünftige Erweiterungen Ihres Archivs haben.
Falls Sie bereits einen Raspberry Pi 4B mit 4GB oder 8GB RAM besitzen, brauchen Sie sich allerdings nicht unter Druck gesetzt fühlen. Diese Modelle sind durchaus in der Lage, ein persönliches Archiv zu betreiben und haben tatsächlich einen interessanten Vorteil gegenüber dem Pi 5: die Hardware-H.264-Videocodierung. Dies wird besonders wertvoll, wenn Sie planen, archivierte Videos auf Ihren Fernseher oder andere Geräte in Ihrem Zuhause zu streamen.
Zusätzlich zu Ihrem Pi benötigen Sie Folgendes:
- microSD-Karte: Eine 32GB microSD-Karte reicht aus, um ArchiveBox zum Laufen zu bringen. Diese microSD-Karte wird als Haupt-Bootlaufwerk des Pi dienen, daher sollten Sie eine qualitativ hochwertige, zuverlässige Karte wählen, um zukünftige Datenkorruptionsprobleme zu vermeiden.
- Externe Festplatte: Für die eigentliche Archivspeicherung möchten Sie eine 3,5″ externe Festplatte mit eigenem Netzteil. Warum? Weil 3,5″ Festplatten im Vergleich zu modernen SSDs über die Zeit eine bessere Zuverlässigkeit bieten, und Zuverlässigkeit ist das Wichtigste bei der Archivierung.
- Monitor, Maus und Tastatur: Diese sind technisch optional, können aber die Einrichtung erleichtern, insbesondere wenn Sie den Pi zum ersten Mal konfigurieren. Alternativ können Sie ihn auch völlig remote steuern, mithilfe von Tools wie SSH (Secure Shell Protocol), VNC (Virtual Network Computing) oder RDP (Remote Desktop Protocol).
Sobald Sie all diese Artikel zur Hand haben, sind Sie bereit, Ihr selbstgehostetes Internetarchiv einzurichten!
Vorbereitung einer Softwareumgebung für die Archivierung
Der erste Schritt besteht darin, ein Betriebssystem auf Ihrem Raspberry Pi zum Laufen zu bringen. Ich empfehle persönlich Raspberry Pi OS, da es als offizielles Betriebssystem für Raspberry Pi-Geräte die beliebteste und am besten unterstützte Option ist. Wenn Sie nicht wissen, wie Sie es auf Ihre microSD-Karte bringen, können Sie unserem Installationsleitfaden für Raspberry Pi OS folgen.
Und wenn Sie abenteuerlustig sind, möchten Sie vielleicht einige alternative Betriebssysteme für den Raspberry Pi erkunden.
Sobald das Betriebssystem installiert ist, starten Sie Ihren Pi und verbinden ihn mit dem Internet (es spielt keine Rolle, ob Sie eine kabelgebundene oder drahtlose Verbindung nutzen). Starten Sie dann das Terminal und führen Sie ein Systemupdate mit dem Befehl aus:
sudo apt update && sudo
apt full-upgrade
Bei der Installation von ArchiveBox haben Sie drei Optionen: Docker, ein automatisches Einrichtungs-Skript oder die Verwendung des Paketmanagers Ihres Systems. Ich empfehle dringend, Docker zu verwenden. Es bietet nicht nur die beste Installation und Aktualisierung, sondern sorgt auch für eine optimale Sicherheitsisolierung und enthält alle Abhängigkeiten direkt ab Werk.
Leider ist Docker nicht vorinstalliert auf Raspberry Pi OS, daher müssen wir das zuerst einrichten (vergessen Sie nicht, die Nachinstallationsschritte durchzuführen).
Mit erfolgreich installiertem Docker sind wir bereit, ArchiveBox selbst zu installieren, was dank der Vorarbeit viel einfacher wird.
Installation und Ausführung von ArchiveBox
Um ArchiveBox mit Docker zu installieren, erstellen Sie zunächst ein Verzeichnis, in dem alle Ihre archivierten Inhalte gespeichert werden. Dies wird Ihr Archivordner auf dem Raspberry Pi sein, also wählen Sie einen Ort mit ausreichend Speicherplatz, wie Ihre externe Festplatte (Sie können mit dem cd-Befehl dorthin navigieren):
mkdir -p archivebox/data && cd archivebox
Laden Sie dann die offizielle Docker Compose-Konfigurationsdatei herunter, die definiert, wie ArchiveBox ausgeführt werden soll:
curl -fsSL 'https://docker-compose.archivebox.io' > docker-compose.yml
Diese Konfigurationsdatei ist wichtig, da sie alle notwendigen Komponenten einrichtet, einschließlich des Webservers und geplanter Aufgaben. Wenn Sie Ihr Archiv auf einer externen Festplatte anstatt auf der SD-Karte des Pi speichern möchten (was empfohlen wird), müssen Sie die Datei "docker-compose.yml" bearbeiten, um auf den Speicherort Ihres gemounteten Laufwerks zu verweisen.
Öffnen Sie dazu die Konfigurationsdatei mit einem Texteditor, wie nano:
nano docker-compose.yml
Suchen Sie den volumes-Abschnitt unter dem ArchiveBox-Dienst. Standardmäßig sieht es so aus:
services: archivebox: ... volumes: - ./data:/data
Wir müssen ./data
ändern, um den vollständigen Pfad zum Datenverzeichnis Ihres externen Laufwerks widerzuspiegeln. Wenn Ihr Laufwerk beispielsweise unter /mnt/external_drive
gemountet ist, ändern Sie die Zeile wie folgt:
services: archivebox: ... volumes: - /mnt/external_drive/archivebox/data:/data
Dies weist Docker an, alle ArchiveBox-Daten im Verzeichnis „archivebox/data“ auf Ihrem externen Laufwerk zu speichern, anstatt einen relativen Pfad zu verwenden. Die Verwendung des absoluten Pfades ist wichtig, da sichergestellt wird, dass Docker Ihre Archivdaten immer findet, selbst wenn Sie Befehle aus anderen Verzeichnissen ausführen.
Während Sie dabei sind, können Sie auch die Umgebungsvariablen PUID
und PGID
hinzufügen, um Ihrem Benutzerkonto auf dem Pi zu entsprechen. Finden Sie Ihre Benutzer-ID und Gruppen-ID, indem Sie id -u
und id -g
ausführen, und fügen Sie sie dann zum Abschnitt für Umgebungsvariablen hinzu:
services: archivebox: ... environment: - PUID=1000 # ersetzen Sie mit Ihrer Benutzer-ID - PGID=1000 # ersetzen Sie mit Ihrer Gruppen-ID
Kommentieren Sie schließlich die Dienste sonic (schnelleres und besseres Suchen für große Sammlungen) und novnc (ermöglicht die Einrichtung eines Profils mit Anmeldungen zu den Websites, die Sie archivieren möchten) aus oder entfernen Sie sie. Die Konfiguration dieser optionalen Dienste geht über den Rahmen dieses Guides hinaus, daher empfehle ich, die offiziellen Dokumentationen zu konsultieren, wenn Sie daran interessiert sind.
Die minimale funktionsfähige Konfiguration sollte ungefähr so aussehen:
Speichern Sie die Datei und beenden Sie den Editor. Jetzt initialisieren Sie Ihr Archiv und erstellen einen Administratorbenutzer, um auf die Web-Oberfläche zuzugreifen:
docker compose run archivebox init docker compose run archivebox manage createsuperuser
Sobald die Initialisierung abgeschlossen ist, können Sie den ArchiveBox-Server starten:
docker compose up -d
Sie können nun auf Ihre ArchiveBox-Instanz zugreifen, indem Sie einen Webbrowser öffnen und zu http://localhost:8000 navigieren. Probieren Sie es jetzt aus. Das sollten Sie sehen:
Konfiguration und Nutzung von ArchiveBox
Um das Verhalten von ArchiveBox anzupassen, müssen Sie keine Konfigurationsdateien direkt bearbeiten. Stattdessen verwenden Sie den config
-Befehl, um Einstellungen zu ändern. Zum Beispiel passe ich immer Zeitüberschreitungen und Ressourcenlimits für eine bessere Leistung auf dem Raspberry Pi an:
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
Sie können auch das Einreichen an archive.org deaktivieren, um das Archivieren zu beschleunigen:
docker compose run
archivebox config --set SAVE_ARCHIVE_DOT_ORG=False
Alle Einstellungen werden automatisch in der ArchiveBox.conf
-Datei in Ihrem Datenverzeichnis gespeichert. Sie können die aktuellen Einstellungen jederzeit mit folgendem Befehl einsehen:
docker compose run archivebox config list
Mit der grundlegenden Einrichtung abgeschlossen, können Sie beginnen, Inhalte zu Ihrem Archiv hinzuzufügen. ArchiveBox unterstützt mehrere Möglichkeiten, URLs hinzuzufügen. Die einfachste Möglichkeit ist die Weboberfläche. Sie klicken einfach auf die Hinzufügen-Schaltfläche, fügen Ihre URLs ein und klicken auf die Schaltfläche URLs hinzufügen und archivieren.
In manchen Situationen kann es bequemer sein, über die Kommandozeile zu archivieren. Um beispielsweise eine einzelne Webseite zu archivieren, können Sie folgenden Befehl ausführen:
docker compose run archivebox add 'https://example.com'
Oder um eine gesamte Liste von URLs aus einer Textdatei zu archivieren:
docker compose run -T archivebox add < urls.txt
Schließlich können Sie von verschiedenen Lesezeichen-Diensten importieren, darunter Pocket, Pinboard oder Instapaper. Bitte überprüfen Sie das offizielle Wiki für ausführliche Anweisungen.
Denken Sie daran, dass Ihr Archiv so sicher ist wie die Backups, die Sie pflegen. Um alle Inhalte zu schützen, die Sie bewahren möchten, empfehle ich dringend, eine zuverlässige Backup-Strategie mit der besten Linux-Backup-Software zu implementieren, um gegen Datenverlust, Stromausfälle oder versehentliche Löschungen abgesichert zu sein.
Löse deine Fragen
Welche Datenbank für Raspberry Pi?
Für den Raspberry Pi gibt es mehrere geeignete Datenbanken, die je nach Anforderungen verwendet werden können:
- -
MariaDB
- : Die Standarddatenbank in den neuesten Raspbian-Versionen. Sie ist eine Abspaltung von MySQL und bietet ähnliche Funktionen und Kompatibilität, ist aber oft schneller und hat bessere Community-Unterstützung.
- MySQL: Obwohl MariaDB standardmäßig installiert wird, kann MySQL auch manuell auf dem Raspberry Pi installiert werden, wenn spezifische Funktionen benötigt werden.
- SQLite: Ideal für kleinere Projekte oder Anwendungen, bei denen eine vollständige SQL-Datenbank nicht erforderlich ist. Es ist leicht und benötigt keine Serverkonfiguration.
- PostgreSQL: Eine leistungsstarke Open-Source-Datenbank, die umfangreiche Funktionen für komplexe Anwendungen bietet. Sie eignet sich besonders gut für fortgeschrittene Nutzer, die auf erweiterte SQL-Funktionen zugreifen möchten.
- Redis: Eine In-Memory-Datenbank, die sich hervorragend für schnelle Datenzugriffe und Daten-Caching eignet. Ideal für Anwendungen, die hohe Performance erfordern. Die Wahl der richtigen Datenbank hängt von Ihren spezifischen Anforderungen ab, wie zum Beispiel der Größe der Daten, der benötigten Geschwindigkeit oder der Komplexität der Abfragen.
Wie greife ich auf einen Raspberry Pi zu?
Um auf einen Raspberry Pi zuzugreifen, haben Sie folgende Möglichkeiten:
- Direkter Zugang:
- - Verbinden Sie eine Tastatur und einen Bildschirm direkt mit dem Raspberry Pi.
- Starten Sie das Gerät, um die Benutzeroberfläche zu nutzen.
- Netzwerkzugang:
- WLAN: Konfigurieren Sie das WLAN im Voraus oder über die Desktop-Oberfläche.
- LAN: Schließen Sie ein Netzwerkkabel an den Raspberry Pi an, falls kein WLAN konfiguriert ist. Sobald der Raspberry Pi mit dem Netzwerk verbunden ist, können Sie die folgenden Methoden verwenden:
- SSH (Secure Shell):
- Aktivieren Sie SSH auf dem Raspberry Pi (im Regelfall über
raspi-config
). - Verwenden Sie einen SSH-Client (z. B. PuTTY oder die Terminal-App in macOS/Linux), um mit dem Befehl
ssh pi@<IP-Adresse>
eine Verbindung herzustellen. - Remote Desktop:
- Installieren Sie einen Remote-Desktop-Server (z. B. xrdp).
- Verwenden Sie einen Remote-Desktop-Client, um die grafische Benutzeroberfläche zu steuern. Mit diesen Methoden können Sie bequem und effizient auf Ihren Raspberry Pi zugreifen.
Schreibe einen Kommentar