Seafile - Update 7.1

Permalink

Als Ausgangssituation habe ich Seafile 7.0.5 auf einem Debian 9. Bei mir sind außerdem die Dateien von der Installation getrennt abgelegt. Beides ist im folgenden noch wichtig. Die Installation liegt im Ordner /opt/seafile/, die Daten hingegen in /var/seafile/.

Rahmenbedingungen erfüllen

Wer noch eine ältere Version von Seafile nutzt muss erst mal auf 7.0.5 updaten da der Updateprozess zu 7.1 sonst nicht funktioniert.

Um ein Update von Seafile vorzubereiten ist der erste Anlaufpunkt bei mir immer die Upgrade Notes für das gewünschte Release. Dort erfährt man auch sofort das jetzt von Python 2 zu Python 3 gewechselt werden muss. Leider nicht so offensichtlich ist die Tatsache das die Version die Debian 9 davon ausliefert nicht ausreicht um Seafile zu betreiben. Ich habe daher auf die harte Tour gelernt das zu den Mindestvoraussetzungen Debian 10 gehört.

Nach einer Migration des Servers auf Debian 10, die reibungslos funktioniert hat, kann man dann die benötigte Python 3 Installation durchführen und auch gleich die zusätzlichen Bibliotheken runterladen. Die Befehle dafür sind in den Upgrade Notes angegeben:

sudo apt-get install python3 python3-setuptools python3-pip -y

sudo pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy \
    django-pylibmc django-simple-captcha python3-ldap

Die Reihenfolge, erst Debian updaten dann Python 3 installieren, ist dabei wichtig. Anderenfalls sind nach dem Update veraltetet Stände der Bibliotheken aus PIP auf dem System und es funktioniert trotzdem nicht. In diesem Fall kann man den zweiten Befehl aber mit dem Parameter --upgrade erneut ausführen um alles zu aktualisieren. Wichtig dabei: Wer das nicht berücksichtigt erhält keine Fehlermeldung im Log. Seahub wird einfach ohne Angabe von Gründen nicht gestartet.

Update durchführen

Das Update selbst lief dann wie gewohnt ab:

  1. Download der Version
  2. Entpacken
  3. Anpassen der Berechtigungen des entpackten Ordners (chown)
  4. Stoppen von Seafile
  5. Update-Script ausführen
  6. Starten von Seafile

Mein Setup ist echt einfach, lest also wirklich die Upgrade Notes für die Details.

Probleme beseitigen

Nachdem das soweit alles erfolgt ist bin ich gleich auf das nächstes Problem gestoßen. Aus irgendeinem Grund berücksichtig Seafile 7.1 nicht mehr das die Datenbank und die Dateien nicht innerhalb des Installationsverzeichnisses liegen. Der Updateprozess legt zwar einen Sym-Link auf das richtige Verzeichnis unter /opt/seafile/seafile-data/ an. Genutzt wird der aber offensichtlich nicht. Als Folge wird eine leere Datenbank unter /opt/seafile/seafile-data/ angelegt, was natürlich nicht funktioniert.

Ich weiß nicht warum, wieso und weshalb aber ich habe mir beholfen indem ich alle Dateien vom bisherigen Speicherort nach /opt/seafile/seafile-data/ kopiert habe. Das bedingt aber eine Anpassung am Backup-System. Ich werde in ein paar Monaten den ganzen Server mit Debian 11 neu aufsetzen und investiere bis dahin keine weitere Energie in die Recherche zu diesem Problem.

Nachdem die genannten Probleme umschifft sind startet Seafile wieder und kann bislang auch problemlos genutzt werden. Ich bin mal gespannt ob noch irgendwelche Probleme auftauchen die sich bisher versteckt haben.