Seafile ist eine Software des gleichnamigen chinesischen Unternehmens, mit der sich Dateien zentral auf einem Server speichern (Filehosting), mit anderen Personen teilen (Filesharing) und zwischen Geräten synchronisieren lassen (File synchronisation). Auf die Dateien kann man über ein Webinterface sowie Desktop-Clients und Mobile Apps zugreifen. Darüber hinaus bietet Seafile APIs für die Integration in andere Applikationen. Der Funktionsumfang ist dem von Onlinediensten wie z. B. Dropbox und Google Drive ähnlich. Während bei letzteren Public-Cloud-Diensten die Daten auf Servern der Anbieter wie beispielsweise bei Google abgelegt werden, liegen bei Seafile die Dateien auf dem eigenen Server, sofern man den betreffenden Server selbst betreibt.

Seafile gibt es in zwei Editionen: Die Community Edition (CE) des Seafile Servers ist Open-Source-Software; die Professional Edition (PE) des Servers ist proprietäre Software und bietet erweiterte Funktionen für den Einsatz in Enterprise-Umgebungen.

Funktionen Kernfunktionalitäten Der Funktionsumfang von Seafile ist mit dem des bekannten Filesharing Dienstes Dropbox und anderen File Sharing Anbietern vergleichbar. Die Kernfunktionen sind: Zentrale Dateiablage auf dem Server Teilen von Ordnern und Dateien mit anderen Nutzern Datei- und Ordnerfreigabe über Public Links mit Dritten Zugriff auf die Dateiablage über das Netzwerk (LAN und/oder Internet) Datei-Synchronisation zwischen Server und Client

Dateien und Ordner werden in Seafile in Bibliotheken organisiert. Als oberste Elemente in der Verzeichnisstruktur dienen Bibliotheken zur Abbildung funktionaler und organisatorischer Strukturen. Bibliotheken haben grundsätzlich einen Besitzer (d. h. einen Nutzer oder eine Gruppe), können aber an andere Benutzer, Gruppen oder alle Benutzer des Seafile Servers freigegeben werden, die dadurch Zugriff auf die geteilten Objekte erhalten. Der Umfang des Zugriffs richtet sich nach der Art der Freigabe. In der Community Edition von Seafile stehen drei, in der Professional Edition fünf Freigabestufen zur Verfügung.

Zum Schutz der Privatsphäre der Seafile Benutzer können Bibliotheken und Ordner auf dem Seafile Server verschlüsselt gespeichert werden. Diese Bibliotheken werden clientseitig verschlüsselt und dann auf dem Seafile Server gespeichert. Diese Ende-zu-Ende-Verschlüsselung machte es möglich, Seafile ohne Aufgabe der Vertraulichkeit der Daten auf einem Server zu betreiben, der von fremden Administratoren (z. B. in einem Rechenzentrum) verwaltet wird.

Der Zugriff auf die Dateiablage auf dem Server kann über ein Web-Interface (genannt Seahub) oder über dedizierte Clients erfolgen. Seafile bietet dedizierte Clients für Windows, Mac und Linux sowie Mobile Apps für Android und iOS. Die Kommunikation mit dem Seafile Server lässt sich mittels TLS verschlüsseln und damit absichern. Es ist möglich, mehrere Seafile Server mit einem Client zu verbinden.

Zur Minimierung des Up- und Downloadvolumens unterstützt Seafile bei der Dateisynchronisation Delta-Kodierung/Differenzspeicherung. Auch wird durch das Umbenennen einer Datei oder das Verschieben einer Datei in der Verzeichnisstruktur kein erneuter Dateitransfer ausgelöst. In Kombination mit dem für die Dateispeicherung optimierten Speichersystem ist Seafile gemäß unterschiedlicher Autoren teilweise performanter als ähnliche Lösungen zum Dateiaustausch wie z. B. die Programme ownCloud und Nextcloud.

Administration und Sicherheit Benutzer können in Seafile über die im Web-Interface integrierte Benutzerverwaltung oder über eine LDAP / Active Directory Anbindung verwaltet werden. Beide Varianten sind nebeneinander möglich.

Zum Schutz vor versehentlichem Löschen werden gelöschte Dateien in einen Papierkorb verschoben. Über die Versionsverwaltung können Änderungen an Dateien nachvollzogen und bei Bedarf ältere Bearbeitungsstände auch wiederhergestellt werden.

Seit der Version 6 besteht auch die Möglichkeit von Zwei-Faktor-Authentisierung nach dem Verfahren Time-based one-time password (TOTP). Bei diesem sind Benutzername und Passwort der erste Faktor. Der zweite Faktor ist eine zeitbasierte Ziffernfolge, für deren Generierung auf Mobilgeräten wie Smartphones Programme wie FreeOTP oder Google Authenticator verwendet werden können.

Eine WebDAV-Schnittstelle ist auch vorhanden, jedoch ist damit keine clientseitige Verschlüsselung möglich.

Erweiterte Funktionen des Seafile Professional Servers Die Seafile Professional Edition bietet zusätzliche Funktionen, die Seafile fit für den Einsatz in Rechenzentren bzw. in Enterprise-Umgebungen mit vielen Nutzern machen. Zu diesen Funktionen gehören: Hochverfügbarkeits-Setup in einer Cluster-Architektur Unterstützung unterschiedlicher Objektspeicher (z. B. Ceph und Amazon S3) Online Bereinigung der Datenbank (d. h. ohne Shutdown des Servers) Multi-Tenancy Unterstützung Integration von MS Office Online zur Voransicht und Bearbeitung von Office Dokumenten Audit Log zur Protokollierung von Anmeldungen, Berechtigungsänderungen und Zugriffen Integration einer Antiviruslösung Synchronisation von Benutzern und Gruppen mit LDAP / AD Verzeichnis

Funktionale Erweiterungen des Seafile Professional Servers gegenüber der Community Edition sind: Volltextrecherche Dateisperrung (File Locking) von Office Dokumenten zur Vermeidung von Versionskonflikten Differenzierte Zugriffsrechte für (Unter-)Ordner, d. h. Abweichung ggü. übergeordneten Verzeichniselementen Gast-Accounts ohne Rechte zur Erstellung von Bibliotheken und Gruppen Erweiterte Freigabestufen

Nutzung des Seafile Community Servers Es gibt keine verlässlichen Zahlen über die aktiven Seafile-Community-Server-Instanzen oder über die Anzahl der aktiven Benutzer. Seafile hat sich aber gerade auch dank seiner geringen Hardware-Anforderungen, die eine Installation auf dem Einplatinencomputer Raspberry Pi erlaubt, wachsender Beliebtheit erfreut. Neben der offiziellen Installationsanleitung existieren auch Video-Tutorials, die die Installation in Eigenregie für ambitionierte Nutzer möglich machen.

Auch die Seafile Professional Edition ist teilweise kostenlos verfügbar. Bei bis zu drei aktiven Nutzern kann ein Seafile-Professional-Server auch ohne gültige Lizenzdatei genutzt werden.

Versionsgeschichte Die nachfolgende Tabelle stellt die Versionsgeschichte des Seafile Professional Servers dar, da sich die Entwicklung auf diese Edition fokussierte. Seit der Veröffentlichung des Seafile Professional Servers mit dem Release 1.7 wurde die Community Edition parallel als funktionsreduzierte Version der Professional Edition weiterentwickelt.

Version Release Funktionserweiterungen Anmerkungen 1.7 2012 n/a n/a 2.0 n/a FSCK Utility zur Prüfung der DatenbankintegritätUnterstützung von LDAP Umstellung des Crypto-Algorithmus für verschlüsselte Datenbanken 2.1 n/a Unterstützung von FUSE und LDAPPublic Link Funktion für UploadsCaptcha Funktion zum Schutz gegen Brute-Force-Attacken Redesign des Webinterfaces Seahub 2.2 n/a n/a Umstellung auf PBKDF2 Algorithmus und Random Salt zur Speicherung von Nutzerpasswörtern 3.0 7. Juni 2014 Unterstützung bibliotheksübergreifender Kopier- und Verschiebevorgänge Redesign des Webinterfaces 3.1 15. August 2014 Passwortschutz und Befristung von Public LinksBenutzerimport über CSV-Datei 4.0 13. Dezember 2014 Wiederherstellung gelöschter Daten und Ordner aus Snapshot 4.1 1. April 2015 Unterstützung von Shibboleth Update auf Django 1.5 4.2 29. Mai 2015 Direkter Downloadlink Umstellung von TCP Sync Protokoll auf ausschließlich HTTP/HTTPS Sync 4.3 25. Juni 2015 Bibliotheksweise Synchronisation im Sync-Client Entfernung des NachrichtenmodulsErweiterung der API 4.4 19. Oktober 2015(stable 4.4.2) 5.0 4. Dezember 2015(stable 5.0.2) Separater Papierkorb für jeden OrdnerServer Konfiguration über Webinterface Seahub Umstellung von GET auf POST Requests zur Erhöhung der SicherheitKonsolidierung aller Konfigurationsdateien im Conf-Ordner 5.1 8. April 2016(stable 5.1.1) Download mehrerer Dateien über Webinterface Seahub Entfernung von Sub-BibliothekenÄnderung der Navigation in Webinterface SeahubUpgrade auf Django 1.8 6.0 20. Oktober 2016(stable 6.0.2) Responsive Webinterface SeahubIntegration von Collabora OnlineRollenbasierte BerechtigungsvergabeZwei-Faktor-AuthentifizierungRemote Wipe 6.1 19. Juni 2017(stable 6.1.1) Integration von OnlyOffice Default-Deaktivierung der Wiki-Funktion 6.2 12. Dezember 2017(stable 6.2.2) Statistik ModulFreigabe von Bibliotheken mit Admin-RechtenLabels für Snapshots von BibliothekenUnterstützung von OAuth und Swift v1 Protokoll Umstellung auf WSGI als Standardmodus für Webinterface Seahub 6.3 30. Juli 2018(stable 6.3.2) WYSIWYG Markdown EditorRobuste Public LinksGruppenbibliothekenUnterstützung mehrerer lokaler Storage BackendsErweiterung der API Calls für Multi Tenancy Systeme Upgrade auf Django 1.11Deaktivierung des FastCGI Modes 7.0 13. Juni 2019 (stable 7.0.3) (Öffentliches) WikiFile TaggingSpaltenansicht und Kontextmenüs im WebinterfaceNeue Freigabe-BerechtigungenVerbesserte Favoriten Umstellung des Webinterfaces auf React (ehemals Django)Erweiterte Kommentar- und Bearbeitungsfunktionen (insbesondere für Bilder/Tabellen) im Markdown EditorUpdate auf Elasticsearch 5.0Verbesserter Schutz von verschlüsselten Bibliotheken gegen Brute-Force-Angriffe 7.1 8. April 2020 (stable 7.1.3) Verbesserte Gast-Einladen Funktion API-Tokens für Bibliotheken Umstellung von Python 2 auf Python 3Umstellung der System Administration auf React (ehemals Django)8.07. April 2021 (stable 8.0.1)Kombinierte Upload/Download-LinksVerbesserter Markdown-EditorOpen Cloud Mesh mit anderen Seafile ServernUmstellung des Benutzerfrontends auf React (ehemals Django)Entfernen des ccnet-servers9.024. January 2022 (stable 9.0.4)In go neugeschriebener HTTP-ServerFlexiblere FreigabeberechtigungenOpen Cloud Mesh mit anderen Cloud-LösungenHerauslösen von Elasticsearch als separate Komponente

Technisches und Lizenzen Den Seafile Server Community Edition gibt es für die Linux-Distributionen Debian, Ubuntu und CentOS. Darüber hinaus gibt es einen Docker Container. Eine Windows-Version, die sich gemäß Entwickleraussagen für kleinere Installationen mit beschränktem Benutzerkreis eignet, steht aktuell noch in der veralteten Version 6.0.7 zum Download zur Verfügung. Die Version wird von Seiten der Seafile Ltd. jedoch nicht mehr weiterentwickelt. Als Alternative kann der Docker Container auf Windows eingesetzt werden.Ankündigung des CEOs der Seafile Ltd. im Seafile Forum vom 2. September 2018, abgerufen am 23. Oktober 2018 (englisch). Für den Einsatz in noch beschränkteren Umgebungen stellt die Firma Seafile auch eine Version für den Raspberry Pi zur Verfügung. Seafile lässt sich ebenfalls unter FreeBSD installieren. Diese Portierung stammt aber nicht von dem offiziellen Entwicklerteam.

Das Seafile-Server-Webend (Seahub) ist unter der Apache-Lizenz veröffentlicht.Seafile Online-Handbuch (englisch), abgerufen am 9. Juni 2015.

Der Seafile Server Professional Edition ist für die drei Linux-Distributionen Debian, Ubuntu und CentOS sowie als Docker Container verfügbar.

Multiplattformfähigkeit erhält Seafile durch die Verfügbarkeit von Clients für alle verbreiteten Betriebssysteme: Clients zur Datei-Synchronisation sind für Windows, macOS, Linux und FreeBSDSeafile-Gui bei Freshports verfügbar. Clients zur Integration der zentral abgelegten Dateien in Form von virtuellen Laufwerken gibt es für Windows, macOS und Linux. Mobile Clients gibt es für iOS und Android.

Seafile Server und Clients bestehen aus unterschiedlichen Komponenten, die in C programmiert sind, während das Webinterface (Seahub) auf der JavaScript-Softwarebibliothek React basiert. Als Datenbank kann MySQL bzw. MariaDB sowie SQLite verwendet werden.

Geschichte