Logo of museum-digital

museum-digital

Über uns Infrastruktur
Banner Image from page 216 of 'A test of a pneumatic ASH handling system' (1914)

Infrastruktur

Alle Dienste von museum-digital werden zentralisiert betrieben - einerseits wegen unseres Zieles, Museen das gemeinsame publizieren und verwalten ihrer Daten zu ermöglichen, und andererseits wegen der Vorteile desselben, besonders im Bezug auf die gemeinsame Nutzung eines gemeinsamen Sets von kontrollierten Vokabularen und der gemeinsamen Veröffentlichung auf einer sammlungsübergreifend durchsuchbaren Plattform. Entsprechend gehört neben dem Schreiben der Software auch die Administration der Systeme zu unseren Aufgaben.


Server

Das Hosting und die Entwicklung von museum-digital geschieht derzeit mit drei dedizierten Servern. Ein Server, gehostet bei Strato, ist als zentraler Server für das Bearbeiten und Ausspielen der Museumsdaten im Einsatz. Ein zweiter, gehostet von digiS in Berlin, kommt als Bild- und Backupserver zum Einsatz. Schlussendlich wird der Dritte (ebenfalls bei Strato gehostet) für den Betrieb interner Werkzeuge wie einer Nextcloud und einer Gitea-Instanz und für unseren Mailserver genutzt.

Backup-Strategie

Bei museum-digital gibt es drei verschiedene Arten von Daten, deren Unterscheidung für die Entwicklung einer Backup-Strategie wichtig ist: Datenbankinhalte, Mediendateien und Konfigurationsdateien.

Datenbankinhalte werden einmal am Tag GPG-verschlüsselt exportiert. Die verschlüsselten Inhalte werden dann vom Backup-Server heruntergeladen. Auf beiden Servern werden zu jeder Zeit vollständige Abzüge der jeweils letzten sieben Tage vorgehalten, um eine zügige Wiederherstellung im Falle eines Fehlers zu ermöglichen. Die Abzüge werden vom Backup-Server aus ferner in digiS' Backupsystem überführt.

Der Backup-Server ist gleichzeitig auch als Bildserver im Einsatz. Um diese Rolle zu erfüllen bezieht er alle neu hochgeladenenen oder geänderten Mediendateien alle drei bis sechs Stunden (das genaue Interval hängt von der Tageszeit ab, weil nur sehr wenige Inhalte hinzugefügt werden, wenn in Europa Nacht ist). Eine zweite Kopie der Mediendateien ist so schon aus dem normalen Betrieb heraus immer verfügbar. Wie auch die Datenbankinhalte werden die Mediendateien einmal am Tag in digiS' Backupsystem überführt.

Konfigurationsdateien werden regelmäßig in ein git-Repository synchronisiert, das in der Folge auf unsere Gitea-Instanz und von dort zu Rechnern unseres Admin-Teams synchronisiert wird.

Um eine zusätzliche Ebene leicht erreichbarer und schnell wiederherstellbarer Backups zu haben, werden monatliche Abzüge des Gesamtsystems auf eine externe Festplatte heruntergeladen.


Open Source

Suksessive veröffentlichen wir mehr und mehr unseres Codes in Open Source. Besonders inhaltsgetriebene Projekte wie das Handbuch können über GitHub angesehen und bearbeitet werden, während Module und Bibliotheken über unsere Gitea-Instanz verwaltet werden.


Technologie-Stack

Unsere Systeme laufen auf Basis eines recht üblichen Stacks: Ubuntu wird als Betriebssystem genutzt, nginx als Webserver, MariaDB als Datenbankserver und PHP kommt als primäre Programmiersprache für allen serverseitigen Code zum Einsatz. Redis und Manticore werden als schneller Key-Value Store und als Volltext-Suchserver eingetzt. Für die Entwicklung serverseitiger Komponenten kommen PHPUnit für das Testing, PHPStan for für statische Code-Analyse und PHPBench für das Benchmarking zum Einsatz.

Einige Seiten, die keine tiefergehende serverseitige Logik benötigen werden direkt auf Basis der Funktionalitäten des Webservers generiert (das Dokumentenarchiv) oder mit statischen Seitengeneratoren (Zola im Fall dieser Seite, mdbook im Fall des Handbuchs) erstellt.


FAQ

Wo wird museum-digital gehostet? / In welchem Land stehen die Server von museum-digital?

Unsere Server befinden sich in Deutschland. digiS, das Forschungs- und Kompetenzzentrum für Digitalisierung des Landes Berlin, finanziert freundlicherweise einen unserer Server, während die restlichen Server bei Strato angemietet sind.