WD My Cloud Home Seafile Server installieren

WD My Cloud Home Seafile Server installieren

August 15, 2021 0 Von Tobias

Die WD My Cloud Home reihe kommt mit einem von WD angepassten Android Betriebssystem. Dieses hat allerdings einige Nachteile:

Ein Zugriff auf den Speicher ist nur bei aktiver Internetverbindung und nur über die offiziellen Apps möglich. Es gibt keine Möglichkeit, eine lokale Verbindung über gängige Netzwerkprotokolle wie SMB oder FTP herzustellen. Auch SSH lässt sich, im Gegensatz zum Vorgänger ohne „Home“, nicht mehr freischalten.

Diese kann man jedoch ganz einfach umgehen. Dafür muss man das Betriebssystem nur gegen ein vernünftiges Linux tauschen, in diesem Fall Debian mit OpenMediaVault. Wie das geht erfahrt ihr hier.

Wenn ihr der Anleitung gefolgt seid, habt ihr nun eine WD My Cloud Home mit Debian und OpenMediaVault. Aber darauf können wir auch andere Software, in diesem Fall „Seafile“ installieren.

Seafile ist ein Cloud-Dienst, der auf einem Single Board Computer gehostet werden kann. Er ist ähnlich wie Nextcloud, aber leichter und einfacher zu installieren. Die Geschwindigkeit ist mit SQLite ausreichend, wenn nur ein oder zwei Benutzer darauf zugreifen. Es speichert alle Dateien in einer Datenbank, die als Laufwerk mit Clients gemountet werden kann.

Die Smartphone-Apps ermöglichen eine automatische Sicherung von Fotos. IPhone Fotos werden automatisch in Jpeg umgewandelt.

Um zu Starten müsst ihr euch via SSH auf die WD My Cloud Home aufschalten.

Seafile Server auf der WD My Cloud Home mit Debian installieren

Erstellen Sie einen neuen Benutzer namens „Seafile“, der sich anmelden und die für die Installation von Seafile erforderlichen Befehle ausführen kann.

adduser –home /home/seafile –shell /bin/bash seafile

Da keine bashrc erstellt wurde, kopieren Sie die vom Benutzer buster:           

cp /home/buster/.bashrc /home/seafile/.bashrc
chown seafile:seafile /home/seafile/.bashrc
chmod 755 /home/seafile/.bashrc

Legen Sie auf der Datenpartition einen Speicherplatz für Ihre Datenbank und Dateien an:

mkdir /mnt/data/seafile
chown -R seafile:seafile /mnt/data/seafile
chmod -R 777 /mnt/data/seafile

Erstellen Sie einen Ort, an dem die Protokolldateien gespeichert werden sollen (dies hilft dabei, das Seafile-Protokoll und die Pids mit folder2ram im RAM zu speichern)

mkdir /var/lib/seafile
mkdir /var/lib/seafile/logs
mkdir /var/lib/seafile/pids

chown -R seafile:seafile /var/lib/seafile
chmod -R 777 /var/lib/seafile

Installieren Sie sowohl SQLite als auch Python, bevor Sie Seafile installieren.

apt-get install -y sqlite3 python3

Von SSH abmelden.

Exit

Sich erneut als Benutzer Seafile anmelden.

ssh [email protected]

mkdir /home/seafile/haiwen
cd /home/seafile/haiwen

Besuchen https://github.com/haiwen/seafile-rpi/releases um die neueste Version von Seafile Server zu erhalten. Download der Server-Version für Raspberry Pi (Debian Buster und ARM64)

wget https://github.com/haiwen/seafile-rpi/releases/download/v8.0.5/seafile-server-8.0.5-buster-armv7l.tar.gz

tar xzfv seafile-server-8.0.5-buster-armv7l.tar.gz

rm *.gz

Installieren Sie Seafile über das Skript.

cd seaf*
bash ./setup-seafile.sh

Bevor Sie Seafile starten, verschieben Sie das Verzeichnis seafile-data auf die Datenpartition, da es sonst bald zu groß wird, um auf der Root-Partition gespeichert zu werden.

mv /home/seafile/haiwen/seafile-data /mnt/data/seafile/
ln -s /mnt/data/seafile/seafile-data /home/seafile/haiwen/seafile-data


mv /home/seafile/haiwen/pids /var/lib/seafile/
ln -s /var/lib/seafile/pids /home/seafile/haiwen/pids

mv /home/seafile/haiwen/logs /var/lib/seafile/
ln -s /var/lib/seafile/logs /home/seafile/haiwen/logs
cd..

Bearbeiten Sie die Datei gunicorn.conf, um den Server von anderen Computern aus zugänglich zu machen.

cd conf
nano gunicorn.conf.py

Ändern Sie in gunicorn.conf.py die bind-Zeile von 127.0.0.1 auf 0.0.0.0. Andernfalls wird der Server keine Anfragen von außerhalb von localhost akzeptieren (es ist dumm, dies als Standardeinstellung für ein Serverprogramm zu verwenden).

bind 0.0.0.0:8000
Speichern und Verlassen.

cd /home/seafile/haiwen/seafile-server-latest
./seafile.sh start
./seahub.sh start
cd ..

Seafile beim Booten starten lassen:

su
nano /etc/systemd/system/seafile.service

Inhalt:

[Unit]
Description=Seafile
# add mysql.service or postgresql.service depending on your database to the lin$
After=network.target

[Service]
After=seafile.service

Type=forking
ExecStart=/home/seafile/haiwen/seafile-server-latest/seafile.sh start
ExecStop=/home/seafile/haiwen/seafile-server-latest/seafile.sh stop
LimitNOFILE=infinity
User=seafile
Group=seafile

[Install]
WantedBy=multi-user.target

Save and exit

nano /etc/systemd/system/seahub.service

Inhalt:
[Unit]
Description=Seafile hub
After=seafile.service


[Service]
Type=oneshot
# change start to start-fastcgi if you want to run fastcgi
ExecStart=/home/seafile/haiwen/seafile-server-latest/seahub.sh start
ExecStop=/home/seafile/haiwen/seafile-server-latest/seahub.sh stop

User=seafile
Group=seafile

[Install]
WantedBy=multi-user.target

Speichern und Verlassen.

systemctl daemon-reload
systemctl enable seafile.service
systemctl enable seahub.service

Prüfen Sie, ob er läuft:

systemctl status seafile.service
systemctl status seahub.service
journalctl -xe

Jetzt läuft ein Seafile Server auf deiner WD My Cloud Home mit Debian Buster.

Share