Get Rewarded! We will reward you with up to €50 credit on your account for every tutorial that you write and we publish!

Seafile einrichten

profile picture
Author
Hetzner
Published
2026-08-28
Time to read
9 minutes reading time

Einführung

Dieses Tutorial erklärt, wie man die Seafile Server Community Edition mit Docker auf einem eigenen Server hostet, wie auch in der offiziellen Dokumentation erklärt, und wie man mittels Seafile Sync Client und Seafile Drive Client mit externen Geräten auf die Daten zugreift.

Seafile ist ein Open-Source-Projekt. Die Repositories findest du hier:

Server Sync Client
(Desktop)
Drive Client
(Desktop)
Drive Client
(Mobil)
Backend engine seafile-server seafile seadrive-fuse
UI seahub seafile-client seadrive-gui seadroid,
seafile-iOS
Manuals admin manual
Docker image
admin manual user manual
              ┌────────────────────────────┐
              │           Server           │
              │ -------------------------- │
              │ seafile-server │ originale │
              │     seahub     │   Daten   │
              └────────────────────────────┘
                      ↑↓           ↑↓
┌──────────────────────────┐   ┌───────────────────────┐
│   Windows-Gerät (Sync)   │   │  Linux-Gerät (Drive)  │
│ ------------------------ │   │ --------------------- │
│    seafile     │ synchr. │   │ seadrive-fuse │ Cach- │
│ seafile-client │  Daten  │   │ seadrive-gui  │ Daten │
└──────────────────────────┘   └───────────────────────┘

Voraussetzungen

  • Ein Server, der die System-Anforderungen erfüllt
  • Zugriff auf den root-Benutzer oder einen Benutzer mit sudo-Rechten
  • Eine Domain
  • Ein CLI-Tool

Beachte, dass es auf dem Server nicht möglich ist direkt auf die Daten zuzugreifen, da diese in Blöcken gespeichert werden. Wenn du direkt auf dem Server Zugriff auf die Daten brauchst, siehe die offizielle Dokumentation zur FUSE-Erweiterung.

Beispiel-Benennungen

  • Benutzername: holu
  • Server-IP: <your_server_ip>

Ersetze in allen Beispielen holu mit deinem eigenen Benutzernamen und <your_server_ip> mit der tatsächlichen IP deines Servers.

Schritt 1 - System für Seafile vorbereiten

  • DNS einrichten

    Bevor du loslegst, erstelle einen A-Record, und zeige auf die IP-Adresse des Servers, auf dem Seafile installiert werden soll.

    Type: A
    Name: seafile.example.com
    Value: <your_server_ip>

    Beachte, dass es einige Stunden dauern kann, bis die Änderungen angewendet wurden.


  • Verbinde dich jetzt mit deinem Server.

    ssh holu@<your_server_ip>

  • Installiere Docker

    Installiere Docker wie in der offiziellen Docker-Dokumentation erklärt oder verwende das Installationsskript für einen Schnellstart:

    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh ./get-docker.sh --dry-run
    sudo sh ./get-docker.sh

    Nachdem Docker installiert ist, füge deinen Benutzer der docker-Gruppe hinzu:

    sudo usermod -aG docker holu

    Führe exit aus und verbinde dich erneut mit dem Server, um die Benutzergruppen zu aktualisieren.


  • Bereite das System vor

    Docker verwendet mehrere Ordner für persistente Daten. Auf diese Ordner kann sowohl über die Seafile-Container, als auch über das Host-System zugegriffen werden. Erstelle die folgenden Ordner:

    sudo mkdir -p /opt/{seafile,seafile-data,seafile-mysql/db,seafile-caddy,seadoc-data}

Schritt 2 - Seafile installieren

  • Dateien herunterladen

    Für die aktuellste Version, siehe die offizielle Seafile-Dokumentation und das Docker-Image seafileltd/seafile-mc.

    Navigiere zu /opt/seafile und lade die Dateien herunter, die für die Installation benötigt werden:

    Ersetze 13.0 mit der aktuellsten Version.

    cd /opt/seafile
    RELEASE="13.0"
    
    sudo wget -O .env https://manual.seafile.com/$RELEASE/repo/docker/ce/env
    sudo wget https://manual.seafile.com/$RELEASE/repo/docker/ce/seafile-server.yml
    sudo wget https://manual.seafile.com/$RELEASE/repo/docker/seadoc.yml
    sudo wget https://manual.seafile.com/$RELEASE/repo/docker/caddy.yml

  • Generiere eine zufällige Zeichenfolge:

    openssl rand -hex 32

    Kopiere den Output. Das wird der Wert von JWT_PRIVATE_KEY in .env.


  • Bearbeite .env:

    sudo nano /opt/seafile/.env

    Passe die folgenden Werte an:

    Ersetze die Platzhalter mit deinen eigenen Informationen.

    SEAFILE_SERVER_HOSTNAME=seafile.example.com
    SEAFILE_SERVER_PROTOCOL=https
    JWT_PRIVATE_KEY=<your_openssl_rand_output>
    
    SEAFILE_MYSQL_DB_PASSWORD=YourSecretPassword
    INIT_SEAFILE_MYSQL_ROOT_PASSWORD=ROOT_PASSWORD
    
    INIT_SEAFILE_ADMIN_EMAIL=admin@example.com
    INIT_SEAFILE_ADMIN_PASSWORD=AdminSecretPassword

    Wenn SEAFILE_SERVER_PROTOCOL auf HTTPS gesetzt wird, verwendet Seafile Caddy zum Verwalten eines "Let's Encrypt"-Zertifikats. Weitere Informationen findest du in der offiziellen Dokumentation.


  • Jetzt da die Umgebungsvariablen bestimmt sind, kann Seafile gestartet werden:

    cd /opt/seafile
    docker compose up -d

Schritt 3 - Auf Webinterface zugreifen

Prüfe über die Logs des Webinterface-Containers, ob es bereit ist:

docker logs seafile -f

Nachdem Seahub is started angezeigt wird, gehe zu deiner Domain:

https://seafile.example.com

Verwende zum Einloggen die Informationen, die in .env für INIT_SEAFILE_ADMIN_EMAIL und INIT_SEAFILE_ADMIN_PASSWORD festgelegt wurden.

Schritt 4 - Neue Benutzer und Bibliotheken hinzufügen

Im Webinterface:

  • Klicke oben rechts auf das Benutzersymbol und anschließend auf "Systemverwaltung"
  • Wähle im der linken Menüleiste "Benutzer" aus
  • Klicke oben auf "Benutzer hinzufügen", um einen neuen Benutzer zu erstellen. Beispiel:
    E-Mail-Adresse
    holu@example.com
    
    Name (optional)
    holu

Nun da du einen Benutzer hast, erstelle eine neue Bibliothek, auf die du im nächsten Schritt testweise über einen Client zugreifen kannst. Im Webinterface:

  • Klicke oben rechts auf das Benutzersymbol und anschließend auf "Systemverwaltung"
  • Wähle im der linken Menüleiste "Bibliotheken" aus
  • Klicke oben auf "Neue Bibliothek". Lege den eben erstellten Benutzer als Eigentümer fest.
    Name
    test
    
    Eigentümer (Ohne Angabe wird der aktuelle Benutzer Eigentümer der Gruppe.)
    holu

Jetzt da es einen Benutzer gibt, mit dem der Zugriff getestet werden kann, kannst du einen Client einrichten und diesen verwenden, um dich mit dem Seafile Server zu verbinden.

Schritt 5 - Client installieren

Für diesen Schritt benötigst du ein Gerät mit grafischer Desktop-Umgebung. Das Gerät wird als Seafile Client eingerichtet, der auf die Daten des Seafile Servers zugreift.

Beachte, dass es zwei verschiedene Arten von Clients gibt: Sync und Drive. Um die beste Variante für deinen Anwendungsfall zu finden, vergleiche beide Optionen und deren Unterschiede in der offiziellen Seafile-Dokumentation.

Der größte Unterschied liegt im Verhalten, wenn die Client-Verbindung beendet wird:

Sync-Client Drive-Client
Dateien in synchronisierten Bibliotheken werden als normale lokale Dateien gespeichert und bleiben daher verfügbar, wenn die Verbindung zwischen Client und Server unterbrochen ist. Die Dateien können offline weiterhin bearbeitet werden. Dateien werden hauptsächlich auf dem Server gespeichert und bei Bedarf über SeaDrive abgerufen. Normalerweise wird keine vollständige lokale Kopie gespeichert, allerdings können einige Dateien/Daten im lokalen Cache gespeichert werden, z. B. unter ~/.seadrive/data/file-cache unter Linux. Siehe beispielsweise auch die Cache-Verwaltung unter Windows.
Sobald die Verbindung wiederhergestellt ist, werden lokale Änderungen, die offline vorgenommen wurden, mit dem Server synchronisiert. Der normale Zugriff auf die Bibliotheken und die Synchronisierung erfordern, dass SeaDrive ausgeführt wird und mit dem Server verbunden ist. Wenn die Verbindung nicht verfügbar ist, kannst du die Bibliotheken über SeaDrive normalerweise nicht bearbeiten.

Client herunterladen

Die einfachste Methode, ist den Client direkt aus der offiziellen Download-Liste herunterzuladen. Beachte bei Linux zusätzlich den Hinweis zu AppImage.

Nach dem Download, kannst du den Client einrichten:

Siehe zusätzlich die offizielle Dokumentation zum Sync-Client und Drive-Client.

Sync-Client einrichten

Starte nach der Installation den Setup-Wizard.

  • Bestimme einen Default-Ordner für Seafile

    Dieser Pfad wird zum Default-Speicherort für synchronisierte Bibliotheken. Beispiel:

    /home/holu/Seafile/
    ├── synced-library-1
    └── synced-library-2

  • Gebe die Informationen deines eigenen Servers an sowie die Anmeldedaten des Benutzers, den du im vorherigen Schritt im Webinterface erstellt hast.

    user credentials


  • Es sollten jetzt die Bibliotheken angezeigt werden, auf die der Benutzer Zugriff hat. Beachte, dass die Daten aktuell noch nicht auf dem lokalen Gerät gespeichert werden.

    library list

    Es sollte die Bibliothek test angezeigt werden, die zuvor erstellt wurde.


  • Um Daten einer bestimmten Bibliothek auf dem lokalen Gerät zu speichern und jegliche Änderung innerhalb dieser Bibliothek automatisch zwischen dem Server und dem Gerät synchronisieren zu lassen, nutze einen Rechtsklick auf der test-Bibliothek und wähle "Sync this library" aus.

    Nun muss ein lokaler Pfad festgelegt werden. Du kannst den Default-Pfad belassen, den du direkt nach dem Download festgelegt hast, z. B. /home/holu/Seafile. Innerhalb dieses Ordners erstellt Seafile einen neuen Unterordner mit dem Namen der synchronisierten Bibliothek.

    /home/holu/Seafile/
    └── test

    Sobald neben dem Bibliotheknamen eine grüne Wolke mit Häkchen erscheint, sollten die Daten automatisch synchronisiert werden.


  • Um die Verbindung zu testen, erstelle auf deinem lokalen Gerät eine neue Datei, z. B. in /home/holu/Seafile/test, und prüfe ob die Datei im Webinterface unter seafile.example.com erscheint. Um die andere Richtung zu testen, kannst du die neue Datei im Webinterface löschen und prüfen, ob sie auf dem lokalen Gerät ebenfalls verschwindet. Beachte, dass das Synchronisieren einen Moment dauern kann.

Informationen zur Synchronisation von Bibliotheken mit ausschließlich Leserechten, siehe die offizielle Dokumentation.

Drive-Client einrichten

Starte nach der Installation den Setup-Wizard.

  • Gebe die Informationen deines eigenen Servers an sowie die Anmeldedaten des Benutzers, den du im vorherigen Schritt im Webinterface erstellt hast.

    client drive 1


  • Es sollte eine Bestätigung angezeigt werden, dass die Dateienlilste erfolgreich heruntergeladen wurde.

    client drive 2


  • Es sollte nun einen Einhängepunkt unter ~/SeaDrive geben, z. B. /home/holu/Seadrive. Öffne den Ordner, um die Bibliotheken des Benutzers zu durchsuchen.

  • Um die Verbindung zu testen, erstelle auf deinem lokalen Gerät eine neue Datei, z. B. in /home/holu/SeaDrive/My Libraries/test, und prüfe ob die Datei im Webinterface unter seafile.example.com erscheint. Um die andere Richtung zu testen, kannst du die neue Datei im Webinterface löschen und prüfen, ob sie auf dem lokalen Gerät ebenfalls verschwindet. Beachte, dass das Synchronisieren einen Moment dauern kann.

Ergebnis

Du solltest nun eine laufende Seafile-Instanz besitzen, auf die über externe Clients zugegriffen werden kann.

Nächste Schritte (alle EN):

License: MIT
Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Report Issue
Try Hetzner Cloud

Get €20/$20 free credit!

Valid until: 31 December 2026 Valid for: 3 months and only for new customers
Get started
Want to contribute?

Get Rewarded: Get up to €50 credit on your account for every tutorial you write and we publish!

Find out more