Zum Inhalt

Seafile, Eure selbst gehostete Dropbox-Alternative

Seafile installieren Seafile installieren

Synchronisiert und teilt Dateien reibungslos zwischen Euren Geräten! Seafile ist eine selbstgehostete Lösung mit der Ihr von überall auf Euren Cloud-Speicher zugreifen könnt. Seafile ist kostenfrei, quelloffen, schnell und zuverlässig. Die Software unterstützt Verschlüsselung und spart Bandbreite durch Delta-Synchornisierung, bei der nur geänderte Dateibereiche aktualisiert werden, nicht ganze Dateien.

Dieses Kapitel setzt voraus, dass Ihr Euren Homeserver bereits eingerichtet, grundlegende und fortgeschrittene Sicherheitsmaßnahmen umgesetzt und einen sicheren Fernzugriff konfiguriert habt.

Und was ist mit Nextcloud oder Syncthing?

Nextcloud ist eine beliebte und funktionsreiche Dateisynchronisierungslösung. Sie bietet viele Funktionen wie Kontaktverwaltung, Videokonferenzen, Webmail und Kalender. Die Dateisynchronisierung kann jedoch vergleichsweise langsam sein.

Syncthing ist eine dezentrale Dateisynchronisierungslösung. Im Gegensatz zu Seafile und Nextcloud benötigt sie weder zentralen Server noch Datenbank. Auch hier kann die Synchronisation vergleichsweise langsam sein und je nach Netzwerkkonfiguration zu Firewall-Problemen führen.

Warum nicht einfach die üblichen Cloud-Speicher nutzen?

Bedenkt Folgendes, wenn Ihr kommerzielle Cloud-Anbieter nutzt: Diese können auf Eure privaten Daten zugreifen und sie mit Dritten teilen. Dienste wie iCloud, GDrive, Dropbox oder OneDrive besitzen trotz gegenteiliger Behauptungen Kopien der Sicherheitsschlüssel, die Eure Privatsphäre schützen.

Cloud-Anbieter Datenschutzrichtlinien
Apple iCloud “Bei der Verwendung von "Nachrichten" in iCloud wird auch Ende-zu-Ende-Verschlüsselung eingesetzt. Wenn du "iCloud-Backup" aktiviert hast, enthält deine Backup eine Kopie des Schlüssels, der deine Nachrichten schützt. Dadurch wird sichergestellt, dass du deine Nachrichten wiederherstellen kannst, wenn du den Zugriff auf den iCloud-Schlüsselbund und deine vertrauenswürdigen Geräte verloren hast.“
Google Drive & WhatsApp “Mediendateien und Nachrichten sind nicht durch die WhatsApp Ende-zu-Ende-Verschlüsselung geschützt, wenn sie auf Google Drive gespeichert sind.“
Dropbox “Um diese und andere Funktionen bereitzustellen, greift Dropbox auf Ihre Daten zu, speichert und scannt sie. Sie geben uns die Erlaubnis, diese Dinge zu tun, und diese Erlaubnis gilt auch für unsere Partner und vertrauenswürdige Dritte, mit denen wir zusammenarbeiten.”
Microsoft OneDrive “Wenn Sie OneDrive verwenden, erfassen wir Daten über Ihre Nutzung des Dienstes sowie über den von Ihnen gespeicherten Inhalt, um den Dienst bereitzustellen, zu verbessern und zu schützen. Beispiele umfassen sowohl die Indizierung Ihrer OneDrive-Dokumente, so dass Sie diese später durchsuchen können als auch die Verwendung von Ortsinformationen, um Ihnen die Suche nach Fotos auf Basis der Orte, wo das Foto aufgenommen wurde, zu erleichtern.”

Datenbank

Seafile kann mit verschiedenen Datenbanken wie MySQL, MariaDB oder PostgreSQL betrieben werden. Dieses Tutorial befasst sich mit der Erstellung von MySQL-Datenbanken für die Serverkomponenten von Seafile.

Schritt-für-Schritt-Anleitung

Meldet Euch mit dem folgenden Befehl bei MySQL als Root-Benutzer an:

sudo mysql -u root -p

Führt den folgenden Befehl aus, um den MySQL-Benutzer seafileadmin zu erstellen (passt den Benutzernamen entsprechend an). Stellt sicher, dass Ihr die Zeichenfolge StrongPassword durch ein sicheres, individuelles Passwort ersetzt:

CREATE USER 'seafileadmin'@'localhost' IDENTIFIED WITH mysql_native_password BY 'StrongPassword';

Erzeugt als Nächstes die von Seafile benötigten Datenbanken und gewährt die richtigen Zugriffsrechte:

CREATE DATABASE ccnet;
CREATE DATABASE seafile;
CREATE DATABASE seahub;
GRANT ALL ON ccnet.* TO 'seafileadmin'@'localhost';
GRANT ALL ON seafile.* TO 'seafileadmin'@'localhost';
GRANT ALL ON seahub.* TO 'seafileadmin'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Meldet Euch wieder als Benutzer seafileadmin bei MySQL an (passt den Benutzernamen entsprechend an):

sudo mysql -u seafileadmin -p

Stellt sicher, dass alle Datenbanken korrekt angelegt wurden:

SHOW DATABASES;

Die Ausgabe sollte in etwa folgendermaßen aussehen:

+--------------------+
| Database           |
+--------------------+
| ccnet              |
| information_schema |
| performance_schema |
| seafile            |
| seahub             |
+--------------------+
5 rows in set (0.01 sec)

Verlasst MySQL:

EXIT;


Seafile Installation

Installation

Prüft alle Abhängigkeiten und installiert Seafile auf Eurem Ubuntu 22.04 Server.

Schritt-für-Schritt-Anleitung

Voraussetzungen

Python ist zur Ausführung von Seafile erforderlich, installiert folgende Pakete auf dem Server:

sudo apt install python3 python3-{dev,setuptools,pip} libmysqlclient-dev ldap-utils libldap2-dev python3.12-venv memcached libmemcached-dev libffi-dev

Erstellt und aktiviert eine virtuelle Umgebung (venv), um Module von den Dateien zu trennen, die vom Ubuntu-Systempaketmanager installiert wurden:

sudo mkdir /var/www/seafile
cd /var/www/seafile
sudo python3 -m venv python-venv
source python-venv/bin/activate
sudo chown -R gofossadmin:gofossadmin /var/www/seafile

Installiert anschließend folgende Pakete in der aktiven virtuellen Umgebung:

pip3 install django==4.2.* future==0.18.* mysqlclient==2.1.* pymysql pillow==10.2.* pylibmc captcha==0.5.* markupsafe==2.0.1 jinja2 sqlalchemy==2.0.18 psd-tools django-pylibmc django_simple_captcha==0.6.* djangosaml2==1.5.* pysaml2==7.2.* pycryptodome==3.16.* cffi==1.15.1 lxml python-ldap==3.4.3

Installationsskript

Ermittelt die neueste Version von Seafile Server für Linux. Zum Zeitpunkt der Abfassung dieses Textes handelt es sich um die Version 11.0.13. Falls noch nicht geschehen, wechselt in das Verzeichnis /var/www/seafile und ladet das Paket mit den folgenden Befehlen herunter und entpackt es (passt die Versionsnummer entsprechend an):

cd /var/www/seafile
sudo wget -4 https://download.seadrive.org/seafile-server_11.0.13_x86-64.tar.gz
sudo tar -xvf seafile-server_*
sudo mkdir installed
sudo mv seafile-server_* installed

Führt das Installationsskript aus:

sudo bash seafile-server-11.0.13/setup-seafile-mysql.sh

Folgt den Anweisungen auf dem Bildschirm:

Anweisungen Beschreibung
Server Name Wählt einen Namen für den Seafile-Server. Im Rahmen dieses Tutorials wählen wir gofoss_seafile, passt den Namen entsprechend an.
Domain Gebt den vom Cloud-Speicher verwendeten Domain-Namen an. Im Rahmen dieses Tutorials wählen wir https://myfiles.gofoss.duckdns.org, passt die Domäne entsprechend an. Es handelt sich um dieselbe Adresse wie für die Web-Oberfläche, die wir später einrichten werden.
Port Wählt den von Seafile verwendeten TCP-Port. Der Standardport ist 8082.
Databases Verwendet die bestehenden ccnet/seafile/seahub-Datenbanken, die zuvor erstellt wurden.
Host of MySQL server Der Standardwert ist localhost.
Port of MySQL server Der Standardwert ist 3306.
MySQL user Gebt den Namen des MySQL-Benutzers an. In unserem Beispiel ist das seafileadmin, passt den Benutzernamen entsprechend an.
Password of MySQL user Gebt das Passwort des MySQL-Benutzers an.
ccnet database name Gebt den Namen der ccnet-Datenbank an. In diesem Fall ist das ccnet.
seafile database name Gebt den Namen der seafile-Datenbank an. In diesem Fall ist das seafile.
seahub database name Gebt den Namen der seahub-Datenbank an. In diesem Fall ist das seahub.

Nach erfolgreicher Installation sollte das Terminal in etwa folgende Ausgabe anzeigen:

-----------------------------------------------------------------
Your seafile server configuration has been finished successfully.
-----------------------------------------------------------------

run seafile server:     ./seafile.sh { start | stop | restart }
run seahub  server:     ./seahub.sh  { start <port> | stop | restart <port> }

-----------------------------------------------------------------
If you are behind a firewall, remember to allow input/output of these tcp ports:
-----------------------------------------------------------------

port of seafile fileserver:   8082
port of seahub:               8000

When problems occur, refer to https://download.seafile.com/published/seafile-manual/home.md for information.


Seafile Konfiguration

Konfiguration

Seafile wurde erfolgreich installiert! Konfiguriert nun Spracheinstellungen, Zugriffsrechte, Administratorkonten und den Autostart beim Booten.

Schritt-für-Schritt-Anleitung

Administratorkonto

Meldet Euch beim Server an und erstellt einen Systembenutzer, der Seafile ausführen wird. Hier nennen wir diesen Systembenutzer seafileadmin. Ihr könnt natürlich einen beliebigen Namen wählen, müsst dann aber die Befehle entsprechend anpassen:

sudo adduser --disabled-login seafileadmin

Falls noch nicht geschehen, wechselt in das Verzeichnis /var/www/seafile und erstellt ein Skript, das die virtuelle Umgebung beim Ausführen von Seafile aktiviert:

cd /var/www/seafile
sudo vi run_with_venv.sh

Fügt den folgenden Inhalt zur Datei hinzu:

#!/bin/bash
# Activate the python virtual environment (venv) before starting one of the seafile scripts

dir_name="$(dirname $0)"
source "${dir_name}/python-venv/bin/activate"
script="$1"
shift 1

echo "${dir_name}/seafile-server-latest/${script}" "$@"
"${dir_name}/seafile-server-latest/${script}" "$@"

Speichert und schließt die Datei (:wq!). Legt dann die richtigen Berechtigungen für das seafileadmin-Konto fest:

sudo chown -R seafileadmin:seafileadmin /var/www/seafile
sudo chmod -R 755 /var/www/seafile
sudo chmod 750 /home/seafileadmin

Startet Seafile:

sudo -H -u seafileadmin bash -C run_with_venv.sh seafile.sh start

Startet Seahub:

sudo -H -u seafileadmin bash -C run_with_venv.sh seahub.sh start

Beim ersten Start von Seahub wird die Einrichtung eines Administratorkontos verlangt. Für den Zweck dieses Tutorials geben wir die Administrator-E-Mail-Adresse seafileadmin@gofoss.net an. Natürlich kann jegliche geeignete E-Mail-Adresse verwendet werden. Wenn Ihr dazu aufgefordert werdet, gebt ebenfalls ein sicheres, individuelles Kennwort ein.

Deaktiviert die virtuelle Umgebung und wechselt zurück ins Stammverzeichnis:

deactivate
cd

Autostart

Stellt sicher, dass Seafile bei jedem Hochfahren des Servers automatisch gestartet wird. Erstellt eine erste Konfigurationsdatei:

sudo vi /etc/systemd/system/seafile.service

Gebt den folgenden Inhalt ein:

[Unit]
Description=Seafile
After= mysql.service network.target

[Service]
Type=forking
ExecStart= /var/www/seafile/run_with_venv.sh seafile.sh start
ExecStop= /var/www/seafile/run_with_venv.sh seafile.sh stop
User=seafileadmin

[Install]
WantedBy=multi-user.target

Speichert und schließt die Datei (:wq!). Erstellt nun eine zweite Konfigurationsdatei:

sudo vi /etc/systemd/system/seahub.service

Gebt den folgenden Inhalt ein:

[Unit]
Description=Seahub
After= mysql.service network.target seafile.service

[Service]
Type=forking
Environment="LC_ALL=en_US.UTF-8"
ExecStart= /var/www/seafile/run_with_venv.sh seahub.sh start
ExecStop= /var/www/seafile/run_with_venv.sh seahub.sh stop
User=seafileadmin

[Install]
WantedBy=multi-user.target

Speichert schließt die Datei (:wq!).

Startet Seafile bei jedem Boot-Vorgang automatisch:

sudo systemctl daemon-reload
sudo systemctl enable seafile
sudo systemctl enable seahub

Startet den Server neu:

sudo reboot

Vergewissert Euch, dass Seafile betriebsbereit ist (der Status sollte Active sein):

sudo systemctl status seafile
sudo systemctl status seahub

Nachbereitung

Der Cloud-Speicher ist von einer Domain Eurer Wahl aus zugänglich. Im Rahmen dieses Tutorials wählen wir https://myfiles.gofoss.duckdns.org. Natürlich ist jegliche andere Adresse möglich. Achtet nur darauf, dass Ihr die Befehle entsprechend anpasst. Öffnet die erste Konfigurationsdatei:

sudo vi /var/www/seafile/conf/seahub_settings.py

Vergewissert Euch, dass die SERVICE_URL auf die richtige Adresse verweist:

SERVICE_URL = "https://myfiles.gofoss.duckdns.org/"

Fügt anschließend die folgenden Zeilen am Ende der Datei hinzu (passt die Zeitzone sowie die FILE_SERVER_ROOT URL entsprechend Eurer eigenen Konfiguration an):

TIME_ZONE = 'Europe/Budapest'
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
LOGIN_ATTEMPT_LIMIT = 2
FILE_SERVER_ROOT = 'https://myfiles.gofoss.duckdns.org/seafhttp'
CSRF_TRUSTED_ORIGINS = ['https://myfiles.gofoss.duckdns.org']

Speichert und schließt die Datei (:wq!).

Um zu verhindern, dass ModEvasive Eure Geräte während der Dateisynchronisierung blockiert, ermittelt zunächst deren IP-Adressen. Öffnet dazu ein Terminal und führt ip a (Linux), ifconfig (macOS) oder ipconfig (Windows) aus. In der Regel wird ein Adresse wie 192.168.1.XX angezeigt, wenn Ihr über das lokale Netzwerk verbunden seid, oder 10.8.0.YY, wenn Ihr über VPN verbunden seid. Öffnet dann die Konfigurationsdatei:

sudo vi /etc/apache2/mods-enabled/evasive.conf

Ändert oder fügt die folgende Zeile hinzu, um sicherzustellen, dass Eure Geräte bei der Synchronisierung mit dem Seafile-Server nicht blockiert werden:

DOSWhitelist        192.168.1.XX 10.8.0.YY

Speichert und schließt die Datei (:wq!).


Seafile Weboberfläche

Web-Oberfläche

Richtet einen Apache Virtual Host als Reverse Proxy ein, um über eine eigene Adresse auf die Seafile-Weboberfläche zuzugreifen und den Server nicht direkt dem Internet auszusetzen. Weitere Details findet Ihr nachstehend.

Schritt-für-Schritt-Anleitung

Erstellt eine Apache-Konfigurationsdatei:

sudo vi /etc/apache2/sites-available/myfiles.gofoss.duckdns.org.conf

Fügt den folgenden Inhalt hinzu und passt die Einstellungen an Eure eigene Konfiguration an, z. B. den Domain-Namen (myfiles.gofoss.duckdns.org), den Pfad zu den SSL-Schlüsseln, die IP-Adressen und so weiter:

<VirtualHost *:80>

    ServerName              myfiles.gofoss.duckdns.org
    ServerAlias             www.myfiles.gofoss.duckdns.org
    Redirect permanent /    https://myfiles.gofoss.duckdns.org/

</VirtualHost>

<VirtualHost *:443>

    ServerName              myfiles.gofoss.duckdns.org
    ServerAlias             www.myfiles.gofoss.duckdns.org
    ServerSignature         Off

    <IfModule security2_module>
        SecRuleEngine Off
    </IfModule>

    SSLEngine               On
    SSLProxyEngine          On
    SSLProxyCheckPeerCN     Off
    SSLCertificateFile      /etc/dehydrated/certs/gofoss.duckdns.org/fullchain.pem
    SSLCertificateKeyFile   /etc/dehydrated/certs/gofoss.duckdns.org/privkey.pem
    DocumentRoot            /var/www/seafile

    <Location />
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
        Allow from 192.168.1.0/24
        Allow from 10.8.0.1/24
    </Location>

    Alias /media  /var/www/seafile/seafile-server-latest/seahub/media

    RewriteEngine On

    <Location /media>
    Require all granted
    </Location>

    # seafile fileserver
    ProxyPass /seafhttp http://127.0.0.1:8082
    ProxyPassReverse /seafhttp http://127.0.0.1:8082

    # seahub
    SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:8000/
    ProxyPassReverse / http://127.0.0.1:8000/

    ErrorLog ${APACHE_LOG_DIR}/myfiles.gofoss.duckdns.org-error.log
    CustomLog ${APACHE_LOG_DIR}/myfiles.gofoss.duckdns.org-access.log combined

</VirtualHost>

Speichert und schließt die Datei (:wq!).

Beachtet, dass die SSL-Verschlüsselung für Seafile mit der Anweisung SSLEngine On aktiviert und das zuvor erstellte SSL-Zertifikat /etc/dehydrated/certs/gofoss.duckdns.org/fullchain.pem sowie der private SSL-Schlüssel /etc/dehydrated/certs/gofoss.duckdns.org/privkey.pem verwendet wurden.

Beachtet ebenfalls, dass ModSecurity in der Apache-Konfigurationsdatei mit der Anweisung SecRuleEngine Off deaktiviert wurde, da Seafile und ModSecurity nicht gut miteinander harmonieren.

Aktiviert als nächstes den Apache Virtual Host und ladet Apache neu:

sudo a2ensite myfiles.gofoss.duckdns.org.conf
sudo systemctl reload apache2

Konfiguriert Pi-Hole, um die lokale Adresse von Seafile nutzen zu können. Ruft dazu https://mypihole.gofoss.duckdns.org:8443/admin auf und meldet Euch über die Pi-Hole-Weboberfläche an (passt die URL entsprechend an). Öffnet den Menüeintrag Locale DNS Records und fügt die folgende Domain/IP-Kombination hinzu (passt wiederum die URL sowie IP entsprechend an):

DOMAIN:      myfiles.gofoss.duckdns.org
IP ADDRESS:  192.168.1.100

Ruft https://myfiles.gofoss.duckdns.org auf und meldet Euch als seafileadmin@gofoss.net an (passt den Benutzernamen entsprechend an). Nehmt anschließend folgende Einstellungen vor:

Einstellungen Beschreibung
System Admin ‣ Settings Ändert das Feld SERVICE_URL in https://myfiles.gofoss.duckdns.org um und klickt auf Save.
System Admin ‣ Settings Ändert das Feld FILE_SERVER_ROOT in https://myfiles.gofoss.duckdns.org/seafhttp um und klickt auf Save.


Seafile Clients

Clients

Seahub

Seahub ist die Weboberfläche von Seafile. Ihr könnt Euch über den Browser anmelden, um Ordner zu durchsuchen und Dateien hochzuladen, zu bearbeiten, herunterzuladen oder zu teilen. Seahub unterstützt Dateiformate von Microsoft und LibreOffice sowie Videos, Bilder, PDFs und Textdateien. Über Seahub vorgenommene Änderungen werden auf allen synchronisierten Geräten gespiegelt.

Synchronisations-Client

Dieses Programm hält ausgewählte Dateien und Ordner auf verbundenen Geräten synchron. Sie eignet sich besonders für Rechner mit viel Speicherplatz.

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Installation Ladet die neueste Version von Seafiles Desktop Sync Client für Windows herunter und installiert die Software.

Seafile Desktop Sync
Cloud-Ordner Startet den Seafile-Client und wählt einen lokalen Ordner, der mit der Cloud synchronisiert werden soll.
Seafile Desktop Sync
Anmeldung Gebt den Servernamen sowie die Benutzeranmeldedaten an. Bestätigt gegebenenfalls auch die Zwei-Faktor-Authentifizierung.
Seafile Desktop Sync

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Installation Ladet die neueste Version von Seafiles Desktop Sync Client für macOS herunter und installiert die Software.

Seafile Desktop Sync
Cloud-Ordner Startet den Seafile-Client und wählt einen lokalen Ordner, der mit der Cloud synchronisiert werden soll.
Seafile Desktop Sync
Anmeldung Gebt den Servernamen sowie die Benutzeranmeldedaten an. Bestätigt gegebenenfalls auch die Zwei-Faktor-Authentifizierung.
Seafile Desktop Sync

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
AppImage herunterladen Ladet die neueste Version von Seafiles Desktop Sync Client für Linux herunter. Der Dateiname sollte Seafile-x86_64-x.y.z.AppImage lauten.
AppImage ausführen Macht die Datei ausführbar: sudo chmod +x Seafile-x86_64-x.y.z.AppImage. Startet den Seafile-Client: ./Seafile-x86_64-x.y.z.AppImage.
Cloud-Ordner Wählt einen lokalen Ordner, der mit der Cloud synchronisiert werden soll.
Seafile Desktop Sync
Anmeldung Gebt den Servernamen sowie die Benutzeranmeldedaten an. Bestätigt gegebenenfalls auch die Zwei-Faktor-Authentifizierung.
Seafile Desktop Sync

SeaDrive

SeaDrive funktioniert wie ein Netzlaufwerk und ermöglicht den Zugriff auf Dateien ohne vorherige Synchronisation. Dateien lassen sich für die Offline-Nutzung auch zwischenspeichern. SeaDrive eignet sich ideal für Rechner mit begrenztem Speicherplatz.

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Installation Ladet die neueste Version des SeaDrive Clients für Windows herunter und installiert die Software.

Seadrive
Virtuelles Laufwerk Startet den SeaDrive-Client und wählt einen Laufwerksbuchstaben für das virtuelle Laufwerk. Standardmäßig wird S: verwendet.
Anmeldung Gebt den Servernamen sowie die Benutzeranmeldedaten an. Bestätigt gegebenenfalls auch die Zwei-Faktor-Authentifizierung.
Seafile Desktop Sync
Datei-Liste SeaDrive ruft eine Liste aller auf dem Server gespeicherten Dateien und Ordner ab, ohne diese tatsächlich herunterzuladen. Eine Benachrichtigung wird angezeigt sobald der Vorgang abgeschlossen ist. Nun kann man über den Windows-Explorer auf die Cloud-Dateien zugreifen, als wären diese auf einer normalen Festplatte gespeichert.
Seadrive

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Installation Download & install the latest release of the SeaDrive Client for macOS.

Seadrive
Virtuelles Laufwerk Startet den SeaDrive-Client und wählt einen Laufwerksbuchstaben für das virtuelle Laufwerk. Standardmäßig wird S: verwendet.
Anmeldung Gebt den Servernamen sowie die Benutzeranmeldedaten an. Bestätigt gegebenenfalls auch die Zwei-Faktor-Authentifizierung.
Seafile Desktop Sync
Datei-Liste SeaDrive ruft eine Liste aller auf dem Server gespeicherten Dateien und Ordner ab, ohne diese tatsächlich herunterzuladen. Eine Benachrichtigung wird angezeigt sobald der Vorgang abgeschlossen ist. Nun kann man auf die Cloud-Dateien zugreifen, als wären diese auf einer normalen Festplatte gespeichert.
Seadrive

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
AppImage herunterladen Ladet die neueste Version von Seafiles Desktop Drive Client für Linux herunter. Der Dateiname sollte SeaDrive-x86_64-x.y.z.AppImage lauten.
AppImage ausführen Macht die Datei ausführbar: sudo chmod +x SeaDrive-x86_64-x.y.z.AppImage. Startet den SeaDrive-Client: ./SeaDrive-x86_64-x.y.z.AppImage.
Anmeldung Gebt den Servernamen sowie die Benutzeranmeldedaten an. Bestätigt gegebenenfalls auch die Zwei-Faktor-Authentifizierung. Nach dem Einloggen wird das virtuelle Laufwerk hier eingebunden: ~/SeaDrive.
Seafile Desktop Sync
Datei-Liste SeaDrive ruft eine Liste aller auf dem Server gespeicherten Dateien und Ordner ab, ohne diese tatsächlich herunterzuladen. Eine Benachrichtigung wird angezeigt sobald der Vorgang abgeschlossen ist. Nun kann man über den Windows-Explorer auf die Cloud-Dateien zugreifen, als wären diese auf einer normalen Festplatte gespeichert.
Seadrive

Mobile Clients

Mit der Seafile-App könnt Ihr Eure Dateien von mobilen Geräten aus verwalten. Dateien werden dabei nicht vollständig synchronisiert, sondern zwischengespeichert – das spart Speicherplatz. Die App bietet zudem eine praktische Funktion zur automatischen Sicherung von Fotos auf Eurem Server.

Schritt-für-Schritt-Anleitung

Öffnet F-Droid auf Eurem Smartphone und installiert die Seafile Anwendung. Alternativ könnt Ihr Seafile auch über den Aurora Store oder Googles Play Store installieren.

Einstellungen Beschreibung
Server Gebt die Adresse des Seafile-Servers an, z. B. https://myfiles.gofoss.duckdns.org (passt die Adresse entsprechend an).
Email Gebt die E-Mail-Adresse des Seafile-Benutzers an, z. B. seafileuser@gofoss.net (passt die Adresse entsprechend an).
Passwort Gebt das Kennwort des Seafile-Benutzers an.
Token Falls die Zwei-Faktor-Authentifizierung aktiviert ist, gebt ebenfalls den von Eurem Smartphone (z.b. andOTP) generierten Token ein.

Schritt-für-Schritt-Anleitung

Installiert Seafile über den App Store.

Einstellungen Beschreibung
Server Gebt die Adresse des Seafile-Servers an, z. B. https://myfiles.gofoss.duckdns.org (passt die Adresse entsprechend an).
Email Gebt die E-Mail-Adresse des Seafile-Benutzers an, z. B. seafileuser@gofoss.net (passt die Adresse entsprechend an).
Passwort Gebt das Kennwort des Seafile-Benutzers an.
Token Falls die Zwei-Faktor-Authentifizierung aktiviert ist, gebt ebenfalls den von Eurem Smartphone generierten Token ein.


Seafile BenutzerInnen anlegen

BenutzerInnen

Seafile unterscheidet zwischen zwei Benutzertypen. AdministratorInnen haben volle Zugriffsrechte. Sie können Dateien, Ordner und BenutzerInnen hinzufügen, bearbeiten und entfernen. Außerdem verwalten und aktualisieren sie die Seafile-Webseite. In unserem Beispiel wurde das Administratorenkonto seafileadmin während der Installation des Seafile-Servers angelegt. BenutzerInnen hingegen haben eingeschränkten Zugriff. Sie können Dateien und Ordner nur dann verwalten, wenn ihnen entsprechende Zugriffsrechte gewährt wurden.

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Schritt 1 Ruft https://myfiles.gofoss.duckdns.org auf und meldet Euch als Administrator an, z.B. seafileadmin@gofoss.net (passt den Benutzernamen entsprechend an).
Schritt 2 Ruft das Menü System Admin ‣ Users ‣ Add user auf.
Schritt 3 Gebt einen Benutzernamen sowie ein sicheres, individuelles Passwort an. Klickt dann auf Submit.

Administratoren & BenutzerInnen benötigen einen VPN-Zugang

BenutzerInnen müssen über VPN mit dem Server verbunden sein, um auf Seafile zugreifen zu können.


Seafile Zwei-Faktor-Authentifizierung

Zwei-Faktor-Authentifizierung

Trefft weitere Sicherheitsvorkehrungen mit der optionalen Zwei-Faktor-Authentifizierung (2FA). Nach der Aktivierung erfordert die Anmeldung bei Seafile sowohl ein Passwort als einen sechsstelligen Code aus einer Telefon-App. Wir empfehlen die Nutzung von andOTP, verfügbar über F-Droid.

Schritt-für-Schritt-Anleitung

Zunächst muss der Seafile-Administrator 2FA aktivieren:

Anweisungen Beschreibung
Schritt 1 Meldet Euch über die Seafile-Web-Oberfläche https://myfiles.gofoss.duckdns.org als seafileadmin@gofoss.net an (passt den Benutzernamen entsprechend an).
Schritt 2 Ruft das Menü System Admin ‣ Settings ‣ Passwords auf.
Schritt 3 Aktiviert die Zwei-Faktor-Authentifizierung für alle BenutzerInnen.

Als nächstes muss jeder Benutzer individuell die 2FA konfigurieren. Beginnt mit dem Seafile-Administrator und wiederholt die Einstellung für jedes später eingerichtete Benutzerkonto:

Anweisungen Beschreibung
Schritt 1 Meldet Euch über Seafiles Web-Oberfläche https://myfiles.gofoss.duckdns.org an (passt die Adresse entsprechend an).
Schritt 2 Ruft das Menü Settings auf.
Schritt 3 Aktiviert die Zwei-Faktor-Authentifizierung.
Schritt 4 Öffnet andOTP auf dem Telefon des Benutzers.
Schritt 5 Scannt den angezeigten QR-Code mit andOTP.
Schritt 6 Gebt den von andOTP generierten 6-stelligen Code in Seafiles Web-Oberfläche ein.
Schritt 7 Bewahrt die von Seafile bereitgestellte Liste von Backup-Tokens sicher auf. Diese Tokens ermöglichen es, den Zugriff auf Seafile ohne andOTP wiederherzustellen.


Seafile Bibliotheken, Dateien & Verzeichnisse hinzufügen

Dateien hinzufügen

Erstellt mühelos neue Bibliotheken, Dateien und Ordner über Seahub im Browser. Auch das Hochladen von Dateien und Ordnern in bestehende Bibliotheken geht leicht.

Erstellt mühelos neue Bibliotheken, Dateien und Ordner über Seafiles Sync-Client. Auch das Hochladen von Dateien und Ordnern in bestehende Bibliotheken ist einfach.

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Eine neue Bibliothek erstellen Öffnet den Seafile Sync Client, klickt auf Select und ruft den lokalen Ordner auf, den Ihr mit dem Server synchronisieren möchtet. Alternativ könnt Ihr den lokalen Ordner auch per Drag & Drop in den dazu vorgesehenen Bereich schieben. Gebt als Nächstes einen Namen für die neue Bibliothek an und legt fest, ob diese mit einem Kennwort verschlüsselt werden soll oder nicht.

Seafile Desktop Sync
Dateien & Ordner hinzufügen Verwendet den Dateimanager Eures Geräts. Ruft den synchronisierten Ordner auf und fügt Dateien und Ordner hinzu. Die Änderungen werden mit dem Seafile-Server sowie mit allen verbundenen Geräten synchronisiert.

SeaDrive funktioniert wie ein Netzlaufwerk. Erstellt oder fügt Bibliotheken, Dateien und Ordner direkt über den Dateimanager Eures Geräts hinzu. Konsultiert das Seafile-Benutzerhandbuch für Details zu Windows, macOS oder Linux.


Seafile Daten synchronisieren

Dateien synchronisieren

Seafile arbeitet mit Bibliotheken, die Eure Dateien und Ordner enthalten. Der Sync-Client sorgt dafür, dass Änderungen an einer lokalen Bibliothek auf den Server und andere verbundene Geräte übertragen werden – und umgekehrt.

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Bibliothek synchronisieren Öffnet den Sync-Client auf Eurem Gerät und klickt mit der rechten Maustaste auf die Bibliothek. Wählt dann den Menüeintrag Sync this library. Alle Dateien und Ordner werden vom Server auf das lokale Gerät heruntergeladen. Von nun an wird jede Änderung an lokalen Dateien auf den Server gespiegelt und umgekehrt.
Seafile Desktop Sync
Bibliothek entsynchronisieren Klickt mit der rechten Maustaste auf die Bibliothek und wählt den Menüeintrag Unsync, um die Synchronisierung einer Bibliothek zu beenden. Änderungen an lokalen Dateien werden nun nicht mehr zwischen Server und Geräten gespiegelt.
Cloud-Datei-Browser Der Sync-Client bietet einen sogenannten Cloud-Datei-Browser. Mit diesem können BenutzerInnen ohne vorherige Synchronisierung direkt auf Server-Dateien zugreifen und diese abändern. Klickt dazu mit der rechten Maustaste auf eine (unsynchronisierte) Bibliothek und wählt den Menüeintrag Open Cloud File Browser.

Seafile Desktop Sync
Unterordner synchronisieren Um das Synchronisieren großer Bibliotheken zu vermeiden, ist es möglich nur bestimmte Unterordner zu spiegeln. Klickt dazu mit der rechten Maustaste auf die Bibliothek, wählt den Menüeintrag Open Cloud File Browser, klickt mit der rechten Maustaste auf den Unterordner und wählt den Menüeintrag Sync this folder.

Seafile Desktop Sync

SeaDrive funktioniert wie ein Netzlaufwerk. Ihr habt direkten Zugriff auf Dateien auf dem Server, ohne sie vorher synchronisieren zu müssen.

Mehr Informationen über den Synchronisationsstatus

Im Windows Explorer werden verschiedene Symbole angezeigt, die den Synchronisierungsstatus von Dateien und Ordnern anzeigen.

Status Symbol Beschreibung
Nur in der Cloud Seafile cloud only Dies ist der Standardzustand von Dateien und Ordnern. Sie werden in SeaDrive angezeigt, aber nicht tatsächlich auf das lokale Gerät heruntergeladen.
Synchronisiert Seafile synched Sobald sich ein Benutzer entscheidet, auf eine Datei oder einen Ordner zuzugreifen, wird dieser auf das lokale Gerät heruntergeladen.
Teilweise synchronisiert Seafile partially synched Ordner, die sowohl nur in der Cloud als auch synchronisierte Dateien enthalten, werden als teilweise synchronisiert betrachtet.
Von anderen Nutzern gesperrt Seafile locked Von anderen Benutzern gesperrte Dateien können nur im Lesemodus geöffnet, aber nicht geändert, gelöscht oder umbenannt werden.
Von mir gesperrt Seafile locked Eine vom Eigentümer gesperrte Datei oder ein gesperrter Ordner kann nicht von anderen BenutzerInnen geändert werden.
Schreibgeschützt Seafile read only Dateien oder Ordner, die im schreibgeschützten Modus für einen Benutzer freigegeben sind, können geöffnet, aber nicht geändert, gelöscht oder umbenannt werden.


Seafile Dateien teilen

Dateien teilen

Ihr könnt Dateien mit anderen Personen teilen – alles, was sie brauchen, ist ein Freigabe-Link und eine funktionierende VPN-Verbindung. Ein Seafile-Konto oder Login ist nicht erforderlich. Schützt die Freigabe-Links optional mit einem Passwort, einer Ablaufzeit oder eingeschränkten Zugriffsrechten.

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Schritt 1 Ruft die freizugebende Datei oder den freizugebenden Ordner auf.
Schritt 2 Bewegt den Mauszeiger über die Datei oder den Ordner und klickt auf das Symbol Share.
Schritt 3 Klickt im nun erscheinenden Fenster auf die Schaltfläche Share Link.
Schritt 4 Klickt auf die Schaltfläche Generate, um den Freigabelink zu erstellen.
Schritt 5 Legt optional ein Passwort, eine Ablaufzeit oder Zugriffsrechte fest.
Schritt 6 Teilt den Link mit anderen per E-Mail, Messenger usw.

Personen können Dateien mühelos auf Euren Server hochladen – dazu sind lediglich ein Hochlade-Link und eine funktionierende VPN-Verbindung nötig. Ein Seafile-Konto oder Login ist nicht erforderlich. Optional könnt Ihr Hochlade-Links mit einem Passwort sichern.

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Schritt 1 Ruft den Ordner auf, in den die Dateien hochgeladen werden sollen.
Schritt 2 Bewegt den Mauszeiger über den Ordner und klickt auf das Symbol Share.
Schritt 3 Klickt im nun erscheinenden Fenster auf die Schaltfläche Upload Link.
Schritt 4 Klickt auf die Schaltfläche Generate, um den Hochlade-Link zu erstellen.
Schritt 5 Legt optional ein Passwort fest.
Schritt 6 Teilt den Link mit anderen per E-Mail, Messenger usw.

Teilt Bibliotheken, Ordner und Dateien mühelos mit anderen Seafile-BenutzerInnen. Diese benötigen eine funktionierende VPN-Verbindung, ein Seafile-Konto und die passenden Zugriffsrechte.

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Schritt 1 Ruft die Bibliothek oder den Ordner auf, den Ihr für andere Seafile-BenutzerInnen freigeben möchtet.
Schritt 2 Bewegt den Mauszeiger über die Bibliothek oder den Ordner und klickt auf das Symbol Share.
Schritt 3 Klickt im nun erscheinenden Fenster auf die Schaltfläche Share to user oder Share to group.
Schritt 4 Wählt BenutzerInnen oder Gruppen aus und klickt auf die Schaltfläche Submit.
Schritt 5 Legt die Zugriffsrechte für die freigegebenen Dateien und Ordner fest, z. B. read-write, read-only, online read-write oder online read-only.


Seafile Dateien wiederherstellen

Dateien wiederherstellen

Seafile erfasst Änderungen an Dateien, Ordnern und Bibliotheken. Es legt Sicherungskopien alter Dateiversionen und Schnappschüsse von Ordner- und Bibliotheksstrukturen für einen festgelegten Zeitraum an. Ihr könnt somit Dateien, Ordner oder ganze Bibliotheken bei versehentlichem Löschen oder Fehlern leicht wiederherstellen.

Legt fest, wie lange Seafile alte Dateiversionen oder Bibliothek-Schnappschüsse speichert. Die Frist lässt sich für jede Bibliothek individuell einstellen.

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Schritt 1 Meldet Euch über die Seahub-Web-Oberfläche an. Klickt im Navigationsbereich auf My Libraries.
Schritt 2 Bewegt den Mauszeiger über die Bibliothek.
Schritt 3 Klickt auf History Setting.
Schritt 4 Definiert die Länge der Aufbewahrungsfrist.

Stellt frühere Versionen einer Datei wieder her, indem Ihr den untenstehenden Anweisungen folgt.

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Schritt 1 Meldet Euch über die Seahub-Weboberfläche an. Ruft den Ordner, der die wiederherzustellende Datei enthält, auf.
Schritt 2 Bewegt den Mauszeiger über die Datei.
Schritt 3 Klickt auf History.
Schritt 4 Ladet eine beliebige ältere Version der Datei herunter, stellt sie wieder her oder zeigt sie an. Bei Textdateien könnt Ihr ebenfalls den Inhalt von zwei Versionen vergleichen. Beachtet dabei, dass ältere Versionen einer Datei nicht angezeigt werden können, wenn diese die Aufbewahrungsfrist überschreiten.

Stellt gelöschte Dateien oder Ordner aus dem Papierkorb wieder her, indem Ihr den untenstehenden Anweisungen folgt.

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Schritt 1 Meldet Euch über die Seahub-Web-Oberfläche an. Ruft den übergeordneten Ordner auf, der die gelöschte Datei oder den gelöschten Ordner enthielt.
Schritt 2 Klickt auf das Papierkorb Symbol in der Betriebsleiste der Bibliothek.
Schritt 3 Stellt die gelöschte Datei oder den Ordner wieder her. Beachtet dabei, dass Dateien und Ordner nicht wiederhergestellt werden können, wenn diese vor der Aufbewahrungsfrist gelöscht wurden.

Erkundet ältere Versionen ganzer Bibliotheken und stellt sie wieder her. Die Datei- und Ordnerstruktur bleibt erhalten.

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Schritt 1 Meldet Euch über die Seahub-Web-Oberfläche an. Ruft die wiederherzustellende Bibliothek auf.
Schritt 2 Klickt auf die History Schaltfläche in der oberen Leiste.
Schritt 3 Wählt einen früheren Zustand der Bibliothek aus und klickt auf View snapshot.
Schritt 4 Ihr könnt eine beliebige ältere Version einer Datei oder eines Ordners herunterladen, wiederherstellen oder anzeigen. Wenn Ihr Eigentümer der Bibliothek seid, könnt Ihr die komplette Bibliothek in ihrem vorherigen Zustand wiederherstellen. Beachtet dabei, dass auf Schnappschüsse nicht zugegriffen werden kann, wenn diese die Aufbewahrungsfrist überschreiten.


Seafile Dateien verschlüsseln

Dateien verschlüsseln

Seafile bietet durchgängige Verschlüsselung. Schützt Bibliotheken mit einem Passwort, damit nur autorisierte BenutzerInnen Zugriff haben. Der Inhalt verschlüsselter Bibliotheken bleibt für alle anderen unzugänglich, auch für Seafile-Administratoren. Beachtet, dass die Verschlüsselung nur die Dateiinhalte schützt, nicht jedoch Ordner- oder Dateinamen.


Seafile Upgrade

Upgrade

Führt Seafile-Upgrades vorsichtig durch, da der Prozess überwiegend manuell ist und Fehler passieren können. Minimiert Risiken, indem Ihr vorab alle Bibliotheken auf ein Gerät synchronisiert und Eure Daten sichert! Lest Euch die Upgrade-Anleitung sowie die detaillierten Upgrade-Hinweise sorgfältig durch. Untenstehend findet Ihr eine Anleitung für ein Upgrade.

Schritt-für-Schritt-Anleitung

Für die Zwecke dieses Tutorials nehmen wir an, dass Ihr ein Upgrade von Version 7.0.1 auf Version 8.0.1 durchführen möchtet. Dies wird als "Hauptversion-Upgrade" bezeichnet. "Kleinere Version-Upgrades", zum Beispiel von 7.0.1 auf 7.1.1, funktionieren ähnlich.

Lest zunächst die Upgrade-Hinweise. Diese beschreiben bestimmte Einstellungen oder Änderungen, die vor oder während des Upgrades vorgenommen werden müssen.

Ladet dann die neueste Version von Seafiles Server für Linux herunter und entpackt diese. In unserem Beispiel wäre das die Version 8.0.1. Stellt sicher, dass Ihr in den nachfolgenden Befehlen die Versionsnummer entsprechend anpasst:

sudo wget -4 https://download.seadrive.org/seafile-server_8.0.1_x86-64.tar.gz
sudo tar -xvf seafile-server_*
sudo mv seafile-server-* /var/www/seafile
sudo mv seafile-server_* /var/www/seafile/installed

Legt die richtigen Zugriffsrechte fest:

sudo chown -R seafileadmin:seafileadmin /var/www/seafile
sudo chmod -R 755 /var/www/seafile

Überprüft, ob alle Dateien vorhanden sind:

sudo ls -al /var/www/seafile

Die Verzeichnisstruktur sollte in etwa folgendermaßen aussehen:

/var/www/seafile/
-- ccnet
-- conf
-- installed
-- logs
-- pids
-- seafile-data
-- seafile-server-7.0.1
-- seafile-server-8.0.1
-- seafile-server-latest
-- seahub-data

Fahrt den Seafile-Server herunter:

sudo systemctl stop seafile
sudo systemctl stop seahub

Ruft eine Liste der verfügbaren Upgrade-Skripte ab:

sudo ls -al /var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_*

Die Terminal-Ausgabe sollte in etwa folgendermaßen aussehen:

...
/var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_6.0_6.1.sh
/var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_6.1_6.2.sh
/var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_6.2_6.3.sh
/var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_6.3_7.0.sh
/var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_7.0_7.1.sh
/var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_7.1_8.0.sh
...

Führt nun das oder die erforderliche(n) Upgrade-Skript(e) aus. Beginnt mit der aktuellen Seafile-Version und arbeitet Euch sich bis zur neuesten Version durch. In unserem Beispiel:

  • müsst Ihr zuerst das Skript upgrade_7.0_7.1.sh ausführen, um von Version 7.0.1 auf Version 7.1.x zu aktualisieren
  • Ihr müsst dann das Skript upgrade_7.1_8.0.sh ausführen, um von Version 7.1.x auf Version 8.0.1 zu aktualisieren

Beginnt mit dem ersten Upgrade-Skript:

sudo bash /var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_7.0_7.1.sh

Die Terminal-Ausgabe sollte in etwa folgendermaßen aussehen:

-------------------------------------------------------------
This script would upgrade your seafile server from 7.0 to 7.1
Press [ENTER] to contiune
-------------------------------------------------------------

Updating seafile/seahub database ...

[INFO] You are using MySQL
[INFO] updating seahub database...
Done

migrating avatars ...

Done

updating /var/www/seafile/seafile-server-latest symbolic link to /var/www/seafile/seafile-server-7.1.0 ...

Nun das nächste Upgrade-Skript:

sudo bash /var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_7.1_8.0.sh

Die Terminal-Ausgabe sollte in etwa folgendermaßen aussehen:

-------------------------------------------------------------
This script would upgrade your seafile server from 7.1 to 8.0
Press [ENTER] to contiune
-------------------------------------------------------------

Updating seafile/seahub database ...

[INFO] You are using MySQL
[INFO] updating seahub database...
Done

migrating avatars ...

Done

updating /var/www/seafile/seafile-server-latest symbolic link to /var/www/seafile/seafile-server-8.0.1 ...

Fahrt abschließend den Seafile-Server wieder hoch:

sudo systemctl start seafile
sudo systemctl start seahub

Wenn alles gut gelaufen ist, sollte Seafile betriebsbereit sein und den Status "Aktiv" anzeigen:

sudo systemctl status seafile
sudo systemctl status seahub

Wenn Ihr wollt und soweit alles richtig funktioniert, könnt Ihr die vorherige Version nun entfernen:

sudo rm -rf /var/www/seafile/seafile-server-7.0.1


Seafile Unterstützung

Unterstützung

Weitere Einzelheiten findet Ihr im Seafile Serverhandbuch oder der Gemeinschaft.