WD My Cloud Home Seafile Server installieren
August 15, 2021Die 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 seafile@wdnas
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)
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.