Seafile eigene Cloud auf dem RaspberryPi

Seafile logo
Seafile logo

In diesem Artikel möchte ich erläutern wie wir auf dem RaspberryPi Seafile installieren und in Betrieb nehmen werden.

Cloud Lösungen werden für das eigene Heimnetz immer beliebter.
Mit einem RaspberryPi und der kostenfreien Cloud Software Seafile,
können wir eine professionelle Cloud Lösung aufsetzen.

Viele Cloud Dienstleister versuchen immer mehr Nutzer zu gewinnen.
Zwei von drei Unternehmen nutzen laut, Bitkom-Studie Cloud Dienste.
Quelle: https://www.cio.de/a/cloud-nutzung-legt-in-deutschland-stark-zu,3265412 , 15.01.2019
Tendenz steigend.

Unabhängig, ob Unternehmen oder Otto Normalnutzer Cloud Dienste nutzen,
unterliegen die meisten kostenlosen bzw. günstigen Angeboten
oft Beschränkungen. Wie Beschränkungen des Traffics, Geschwindigkeit, Speicherplatz, Verschlüsselungen. Unabhängig davon, möchte man ja ungerne fremde Firmen seine privaten Daten zur Verfügung stellen.

Hier kommt Seafile ins Spiel, eine Cloud Software die wir im folgenden Beitrag auf unserem RaspberryPi aufsetzen . Außerdem, was ganz nett ist gibt es noch Mobile Apps für iOS,Android und Windows.

Seafile

Die Software wurde in Phyton und C entwickelt. Das Unternehmen Seafile Ltd. aus Peking, entwickelt schon seit mehreren Jahren Cloud Lösungen.

RaspberryPi vorbereiten

Für diesen Beitrag verwende ich das schlanke und performante
Raspbian stretch Lite
https://www.raspberrypi.org/downloads/raspbian/

Bevor die Pakete zu installieren, updaten wir zuerst unseren RaspberryPi

sudo apt update && sudo apt full-upgrade

Ist das Aktualisieren abgeschlossen installieren wir uns Pyhton Pakete und SQLite.

sudo apt install python2.7 python-setuptools python-simplejson python-imaging sqlite3

Seafile Benutzer anlegen (optional)

Um die Sicherheit zu erhöhen, erstellen wir für den Seafile Dienst ein eigenes Konto. Alle weiteren Konsolen Befehle führen wir in dem neuen Konto aus. Dieser neue Benutzer wird dann noch in die users Gruppe hinzugefügt.

Konto erstellen

sudo adduser seafile --disabled-login
sudo usermod -a -G users seafile
sudo su - seafile

Seafile herunterladen

Die Pakete für Seafile beziehen wir aus einem Github Repository. Beim Verfassen des Artikels war die letzte Version: 6.3.4.
Das Master Repository finden wir auf github:
https://github.com/haiwen/seafile-rpi/commits/master

Ggf. musst du an dieser Stelle die Versionsnummer anpassen, wenn du eine neuere Version nutzen möchtest.
Achtung, bei einem Update via apt update & upgrade. Hier wird die Software nicht mit aktualisiert, da es sich nicht in der Paketquellen des Raspbian Betriebssystem befindet.

Mit wget laden wir uns die Dateien herunter:

wget https://github.com/haiwen/seafile-rpi/releases/download/v6.3.4/seafile-server_6.3.4_stable_pi.tar.gz

Dann müssen wir das Archiv noch entpacken:

tar xzf seafile-server_6.3.4_stable_pi.tar.gz

Sind wir bis hier hin erfolgreich gewesen und haben das Archiv entpackt, können wir es wieder löschen:

rm seafile-server_6.3.4_stable_pi.tar.gz

Wir wechseln nach erfolgreichen entpacken in das Verzeichnis:

cd seafile-server-6.3.4

Paket installieren

Nun installieren wir den Server

./setup-seafile.sh

Nach einer kurzen Information der Installation führen wir mit einem Klick auf Enter fort.
Wir werden nach dem Servernamen gefragt. Hier geben wir den Hostnamen des RaspberryPi´s ein. Weiterhin müssen wir im Anschluss die IP-Adresse angeben, welche wir zum Beispiel im Router finden können. In meinem Fall ist die IP-Adresse: 192.168.178.48

Nun müssen wir noch einen Pfad festlegen, wo worauf wir unsere Daten speichern möchten. Hierzu empfehle ich euch vorher ein externes Medium einzurichten, wie ich es hier schon beschrieben habe:

Pfad der Daten
Pfad der Daten

Zum Testen lass ich es auf die Default Einstellungen.
Ist die Konfiguration abgeschlossen, bekommt ihr nochmal eine Zusammenfassung:

Seafile Installation Zusammenfassung
Installation Zusammenfassung

Ist alles in Ordnung bestätigt dies bitte mit Enter, um die Weboberfläche zu konfigurieren. Hier muss man nur zwei mal mit Enter bestätigen um die Installation von Seafile abzuschließen.

Seafile Installation auf dem RaspberryPi abgeschlossen
Installation auf dem RaspberryPi abgeschlossen

Holen uns ein Kaffee oder Rauchen kurz eine. Nach Abschluss der Installation starten wir den seafile Dienst (seafile) und den Web Backend (seahub). Der Dienst wird zum Beispiel mit dem Port 8000 gestartet:

./seafile.sh start
./seahub.sh start 8000

Nach dem Start sollte es bei euch im Terminal oder zum Beispiel in Putty so aussehen:

Seafile und Seahub erster Start auf dem RaspberryPi
Erster Start auf dem RaspberryPi

Starten wir die Dienste, werden wir aufgefordert, ein Administrator Konto für Seafile zu erstellen

Weboberfläche

Für die Cloud Konfiguration öffnen wir das Backend:
http://raspberrypi:8000 bzw. statt dem Hostnamen die IP-Adresse.
Hier melden wir uns an

seafile login am rasperrypi
Seahub Login

Haben wir uns angemeldet, sehen wir unsere Bibliotheken. Nach der Installation ist bereits eine Beispiel Bibliothek vorhanden:

Seafile Backend
Seahub Backend

Wenn wir oben rechts in der Ecke auf dieses Männchen Icon klicken, können wir zu den System-Administration gelangen.

Seafile Administration
Seahub Administration

Autostart der Cloud und dem Backend

Möchten wir, dass die Software bei jedem Start des RaspberryPi automatisch startet, gibt es drei verschiedene Möglichkeiten.
Option a) Cronjob
Option b) update-rc.d
Option c) rc.local

Für diesen Beitrag habe ich mich für Option a) entschieden.
Dazu erstellen wir zwei neue crontabs mit:

crontab -e

und fügen am Ende der Datei hinzu:

@reboot sudo /home/pi/seafile-server-latest/seafile.sh start
@reboot sleep 20 && sudo /home/pi/seafile-server-latest/seahub.sh start 8000

Speichern dies ab mit STRG+O und beenden den Editor nano mit STRG+X.
Das Sleep ist notwendig, da seafile erst gestartet sein muss bevor seahub gestartet werden kann.

So sollte eure Datei, wenn ihr noch nichts anderes stehen habt so aussehen:

Seahub Bibliotheken

Bibliotheken kann man sich vorstellen, als wenn man Eine Firma XY hat.
Diese in einzelne Abteilung gliedert.So lassen sich für jeden Anwendungsfall oder Projekt ein Verzeichnis bzw. eine Bibliothek erstellen.

Raspberry von aus erreichbar machen

Soll die Cloud von außerhalb erreichbar sein, sollten wir ein DynDNS einrichten. Dies habe ich in einem anderen _Blogeintrag verfasst.

http://raspberrycomputer.de/dyndns-mit-no-ip-fur-den-raspberry-pi/

Fazit

Zusammenfassend bietet uns eine vollwertige Cloud Lösung zum Dateiaustausch.
Selbst auf älteren RaspberryPi Modellen läuft Seafile ohne großen Latenzen. Seafile punktet mit einer einfachen Bedienung und stabilität. Für eine private Cloud meiner Meinung nach die erste Wahl.

Möchtet ihr mehr über Seafile erfahren, empfehle ich euch ein Blick in die Dokumentation zu werfen:

https://github.com/haiwen/seafile/wiki

Comments

comments

Kommentar verfassen