Archiv für den Monat: Februar 2022

Overleaf updaten

Eine alte Overleaf-Version lief bei mir lokal und diese wollte ich nun nach geraumer Zeit mal updaten. Installiert hatte ich die Version noch mithilfe des „docker-compose“, eine entsprechende Anleitung hatte ich hier bereits geschrieben.

Inzwischen hat sich overleaf etwas weiterentwickelt und man arbeitet mit dem Overleaf-Toolkit, welches inkompatibel zu meiner bisherigen Installation ist.

Zunächst musste ich von allem ein Backup erstellen, was aufgrund nicht-aktueller Beispiele von der Overleaf-Seite nicht trival war:

# Backup-Verzeichnis erstellen und hineinwechseln, hier als Beispiel:
mkdir -p ~/backupsharelatex/
cd ~/backupsharelatex/
# Die docker-compose.yml, welche zur Installation verwendet wurde, muss ebenfalls in dieses Verzeichnis. Danach kann das "exit 0" auskommentiert werden:
exit 0
# Backup mongodb
docker-compose exec mongo mongodump --archive="sharelatex-$(date +%Y%m%d).mongodb" --db="sharelatex"
docker cp mongo:sharelatex-$(date +%Y%m%d).mongodb .
tar cvfz ./sharelatex_data-$(date +%Y%m%d).tgz ~/sharelatex_data
docker-compose stop sharelatex

Dann führt man die Schritte aus dem Quick-Start-Guide aus. Hier muss man ggfs. noch die Einträge SHARELATEX_LISTEN_IP und SHARELATEX_PORT in der config/overleaf.rc ändern.

Am Ende (nachdem wir bin/up erfolgreich ausgeführt und wieder beendet haben) unsere alten MongoDB-Daten wieder zu importieren. Dazu brauchen wir im Backup-Verzeichnis wie bereits erwähnt die docker-compose.yml, sonst wird „mongo“ nicht gefunden.

docker cp ./sharelatex-$(date +%Y%m%d).mongodb mongo:sharelatex.mongodb
docker-compose exec mongo mongorestore --archive="sharelatex.mongodb"

Falls noch Daten im „data“-Verzeichnis eures alten sharelatex/data-Ordners liegen, müssen diese ebenfalls noch kopiert werden:

# "overleaf" ist hier das Verzeichnis welches man im "Quick-Start-Guide" angelegt hatte.
cd overleaf/data/sharelatex/data
sudo cp -r ~/sharelatex_data/data/* .

Jetzt ist alles wieder importiert und wir können das System über bin/start korrekt starten.