Tutorials  /  Linux Basics

Nextcloud, ownCloud oder Seafile: Welche Lösung wofür?

LLudwig · August 2026 ·9 Min. Lesezeit ·Linux Basics, Tutorial

Nextcloud, ownCloud und Seafile lösen auf den ersten Blick dieselbe Aufgabe: Dateien auf eigener Infrastruktur ablegen, teilen und auf Clients synchronisieren. Unter der Oberfläche unterscheiden sich die drei Projekte in Architektur, Speicherformat und Funktionsumfang so deutlich, dass ein späterer Wechsel auf eine vollständige Datenmigration hinausläuft. Diese Anleitung ordnet die Systeme ein und zeigt für jedes einen lauffähigen Testaufbau mit Docker.

Was ist der Unterschied zwischen Nextcloud, ownCloud und Seafile?

Nextcloud ist eine PHP-Groupware mit Datei-Sync, ownCloud Infinite Scale ein in Go geschriebener Rewrite mit S3-Backend und OIDC-Pflicht, und Seafile ein C-basierter Sync-Server, der Dateien blockweise wie ein Git-Repository ablegt.

Kriterium Nextcloud ownCloud Infinite Scale Seafile
Laufzeit PHP 8.2+ mit Webserver Go, Single Binary C-Daemons plus Django-Frontend
Datenbank MariaDB oder PostgreSQL keine externe DB nötig MariaDB/MySQL, Pflicht ab 12.0
Speicherformat Dateien 1:1 im Dateisystem Blobs plus Metadaten oder S3 Blöcke, content-addressed
Authentifizierung lokal, LDAP, SAML, OIDC OIDC verpflichtend lokal, LDAP, OAuth, SAML (Pro)
Groupware Kalender, Kontakte, Mail, Talk keine keine
Office Collabora, OnlyOffice Collabora, OnlyOffice SeaDoc, OnlyOffice
Lizenz AGPLv3 Apache 2.0 (Kern) CE unter AGPL, Pro proprietär

Wichtig für die Einordnung: „ownCloud" bezeichnet heute zwei verschiedene Produkte. Der klassische ownCloud Server 10 ist die PHP-Anwendung, aus der Nextcloud 2016 hervorgegangen ist, und wird nicht mehr weiterentwickelt. Der aktive Zweig ist ownCloud Infinite Scale (oCIS), ein vollständiger Rewrite in Go mit eigenem Speicherkonzept, Spaces statt klassischer Home-Ordner und verpflichtendem OpenID Connect. Wer heute neu plant, vergleicht Nextcloud gegen oCIS, nicht gegen ownCloud 10.

Voraussetzungen

  • Ein Linux-Host mit Docker Engine 24.0 oder neuer und dem Compose-Plugin v2
  • Mindestens 2 vCPU und 4 GB RAM pro Testinstanz, bei Seafile mit Volltextsuche mehr
  • Freie Ports 8080 (Nextcloud), 9200 (oCIS) und 8000 (Seafile)
  • Ein DNS-Name plus TLS-Zertifikat, sobald du über localhost hinausgehst
  • Ein Benutzerkonto mit sudo-Rechten oder Mitgliedschaft in der Gruppe docker

Für den Vergleich lassen sich alle drei Stacks parallel auf einer skalierbaren Cloud-VM mit 4 vCPU und 8 GB RAM betreiben. Im Produktivbetrieb trennst du Datenbank, Applikation und Objektspeicher auf eigene Instanzen.

Welche Lösung passt zu welchem Anwendungsfall?

Nextcloud passt, wenn Kalender, Kontakte, Chat und Office in einer Oberfläche liegen sollen, Seafile bei Millionen kleiner Dateien und hoher Sync-Last, ownCloud Infinite Scale bei S3-Backend und zentralem OIDC-Login über einen bestehenden Identity Provider.

graph TD
    A["Anforderungen klären"] --> B{"Groupware, Office und Chat nötig?"}
    B -->|ja| C["Nextcloud"]
    B -->|nein| D{"Sehr viele kleine Dateien, Sync-Performance kritisch?"}
    D -->|ja| E["Seafile"]
    D -->|nein| F{"S3-Backend und OIDC bereits gesetzt?"}
    F -->|ja| G["ownCloud Infinite Scale"]
    F -->|nein| C

Die Entscheidung fällt selten über einzelne Features, sondern über Betriebsaufwand. Nextcloud bringt die größte Funktionsbreite mit, verlangt dafür aber PHP-Tuning, Redis für File-Locking, korrekt konfigurierte Cronjobs und regelmäßige App-Kompatibilitätsprüfungen bei Major-Upgrades. oCIS reduziert den Stack auf ein Binary, erzwingt dafür eine OIDC-Infrastruktur. Seafile ist im Betrieb am genügsamsten und liefert die schnellste Synchronisation, bietet aber keine Groupware.

VM

Passende Infrastruktur bei centron

Zum Mitmachen braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff, stundengenau abgerechnet und in Sekunden startklar. Cloud-Server mieten →

Warum speichert Seafile Dateien nicht direkt im Dateisystem?

Seafile zerlegt jede Datei in Blöcke von rund einem Megabyte, speichert sie content-addressed unter /opt/seafile-data/seafile-data/storage/blocks/ und versioniert jede Bibliothek wie ein Git-Repository, weshalb Originaldateinamen auf der Platte nicht mehr sichtbar sind.

Daraus folgt der wichtigste praktische Unterschied der drei Systeme: das Backup-Verfahren.

System Ablage auf dem Host Backup-Verfahren
Nextcloud data/<user>/files/ als reale Dateien Dateisystem-Backup plus DB-Dump
ownCloud Infinite Scale Blobs mit UUID-Namen plus Metadaten Blob-Store plus Metadaten konsistent sichern
Seafile Blöcke, Commits, FS-Objekte DB-Dump und Blockspeicher im selben Zeitfenster

Bei Nextcloud kannst du eine einzelne Datei per rsync direkt vom Server holen, auch ohne laufende Anwendung. Bei Seafile und oCIS funktioniert das nicht: Ohne die zugehörige Datenbank beziehungsweise den Metadaten-Store sind die Objekte auf der Platte wertlos. Plane das Backup deshalb immer als konsistentes Paar aus Datenbank und Objektdaten und sichere beides zum selben Zeitpunkt, idealerweise über einen Storage-Snapshot.

Nextcloud testweise aufsetzen

Nextcloud braucht im Testaufbau drei Container: MariaDB mit READ-COMMITTED-Isolation, Redis für das File-Locking und das offizielle Apache-Image. Ohne Redis fällt Nextcloud auf datenbankbasiertes Locking zurück, was bei parallelen Uploads regelmäßig zu Sperrfehlern führt.

yaml
services:
  db:
    image: mariadb:11.4
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    environment:
      MARIADB_ROOT_PASSWORD: <root-passwort>
      MARIADB_DATABASE: nextcloud
      MARIADB_USER: nextcloud
      MARIADB_PASSWORD: <db-passwort>
    volumes:
      - db:/var/lib/mysql
  redis:
    image: redis:7-alpine
  app:
    image: nextcloud:31-apache
    ports:
      - "8080:80"
    environment:
      MYSQL_HOST: db
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: <db-passwort>
      REDIS_HOST: redis
    volumes:
      - nextcloud:/var/www/html
    depends_on:
      - db
      - redis
volumes:
  db:
  nextcloud:

Starte den Stack und lege den Administrator über den Web-Installer auf http://<deine-ip>:8080 an:

Konsole
$ docker compose up -d
$ docker compose logs -f app

Alle Wartungsaufgaben laufen über occ, das im Container als Benutzer www-data ausgeführt werden muss:

Konsole
$ docker compose exec -u www-data app php occ status
$ docker compose exec -u www-data app php occ config:system:set default_phone_region --value=DE

ownCloud Infinite Scale testweise aufsetzen

oCIS läuft als Single Binary ohne externe Datenbank. Vor dem ersten Start erzeugt ocis init die Konfiguration in /etc/ocis und gibt einmalig das Admin-Passwort aus. Notiere es, es wird nicht erneut angezeigt.

Konsole
$ docker volume create ocis-config
$ docker volume create ocis-data
$ docker run --rm -v ocis-config:/etc/ocis owncloud/ocis:latest init --insecure true

Anschließend startest du den Server. OCIS_URL muss exakt der URL entsprechen, unter der du die Instanz im Browser aufrufst, sonst schlägt der OIDC-Redirect nach dem Login fehl:

Konsole
$ docker run -d --name ocis -p 9200:9200 \
    -e OCIS_URL=https://<deine-domain>:9200 \
    -e OCIS_INSECURE=true \
    -e PROXY_TLS=true \
    -v ocis-config:/etc/ocis \
    -v ocis-data:/var/lib/ocis \
    owncloud/ocis:latest

Ein Detail, das bei Migrationen regelmäßig übersehen wird: Basic Auth ist in oCIS standardmäßig deaktiviert. WebDAV-Clients und Skripte, die bisher mit Benutzername und Passwort gegen remote.php/webdav gelaufen sind, brauchen entweder ein App-Passwort oder einen OIDC-fähigen Client. Für den Produktivbetrieb ersetzt du den eingebauten IDP durch Keycloak oder einen anderen externen Provider.

Seafile testweise aufsetzen

Seafile besteht aus MariaDB, Memcached und dem Seafile-Container. Seit Version 12.0 ist eine MySQL-kompatible Datenbank Pflicht, die frühere SQLite-Variante entfällt. Prüfe die Variablennamen gegen die Compose-Datei deiner konkreten Version, sie haben sich zwischen 11.x und 12.x geändert.

yaml
services:
  db:
    image: mariadb:10.11
    environment:
      MYSQL_ROOT_PASSWORD: <db-root-passwort>
      MYSQL_LOG_CONSOLE: "true"
    volumes:
      - /opt/seafile-mysql/db:/var/lib/mysql
  memcached:
    image: memcached:1.6
    entrypoint: memcached -m 256
  seafile:
    image: seafileltd/seafile-mc:12.0-latest
    ports:
      - "8000:80"
    volumes:
      - /opt/seafile-data:/shared
    environment:
      DB_HOST: db
      DB_ROOT_PASSWD: <db-root-passwort>
      SEAFILE_SERVER_HOSTNAME: <deine-domain>
      SEAFILE_ADMIN_EMAIL: <admin@deine-domain>
      SEAFILE_ADMIN_PASSWORD: <admin-passwort>
    depends_on:
      - db
      - memcached

Die Community Edition deckt Sync, Freigaben, clientseitig verschlüsselte Bibliotheken und WebDAV ab. Volltextsuche über Elasticsearch, S3- oder OpenStack-Swift-Backends, Audit-Logs und Antivirus-Anbindung bleiben der Pro-Edition vorbehalten, die bis drei Nutzer kostenlos ist.

Installation verifizieren

Prüfe jede Instanz mit einem HTTP-Statuscheck, bevor du Clients verbindest:

Konsole
$ curl -s http://localhost:8080/status.php
{"installed":true,"maintenance":false,"needsDbUpgrade":false,"version":"31.0.5.1","productname":"Nextcloud"}
$ curl -k -s -o /dev/null -w "%{http_code}\n" https://localhost:9200/
200
$ curl -s -o /dev/null -w "%{http_code}\n" http://localhost:8000/accounts/login/
200

Bei Nextcloud gilt die Installation erst als sauber, wenn installed auf true und needsDbUpgrade auf false steht. Ergänzend zeigt occ status dieselben Werte im Klartext. Bei Seafile ist ein HTTP 200 auf der Login-Seite nur die halbe Prüfung: Lade zusätzlich eine Testdatei hoch, denn Uploads laufen über den separaten Fileserver-Endpunkt und scheitern bei falscher SERVICE_URL trotz erreichbarem Web-Frontend.

Troubleshooting

Nextcloud meldet Sperrfehler beim Upload

Ursache ist fast immer eine fehlende --transaction-isolation=READ-COMMITTED in MariaDB oder ein nicht erreichbarer Redis. Prüfe die Konfiguration und setze das Locking gezielt zurück:

Konsole
$ docker compose exec -u www-data app php occ config:list system | grep -A3 redis
$ docker compose exec -u www-data app php occ maintenance:repair

oCIS-Login endet mit invalid_grant

Die Variable OCIS_URL weicht von der tatsächlich aufgerufenen Adresse ab, etwa localhost in der Konfiguration gegen eine IP im Browser. Setze OCIS_URL auf die exakte externe URL inklusive Schema und Port, entferne das Config-Volume und initialisiere neu.

Seafile zeigt Dateien an, Download bricht ab

Der Fileserver ist über die konfigurierte URL nicht erreichbar. Kontrolliere SERVICE_URL und FILE_SERVER_ROOT im Admin-Bereich unter „Einstellungen" und stelle sicher, dass dein Reverse Proxy den Pfad /seafhttp ohne Puffergrenze weiterreicht.

Fazit

Die Wahl hängt an drei Fragen: Brauchst du Groupware, wie viele Dateien synchronisierst du, und existiert bereits ein Identity Provider. Nextcloud ist die richtige Antwort für Teams, die eine Plattform statt eines Dateidienstes wollen. Seafile gewinnt bei Sync-Last und Ressourcenverbrauch. ownCloud Infinite Scale spielt seine Stärken dort aus, wo S3-Storage und OIDC ohnehin gesetzt sind. Teste den Favoriten mit einem realistischen Datensatz, bevor du produktiv migrierst, denn ein Wechsel bedeutet in allen drei Richtungen einen vollständigen Export und Reimport.

Weiterlesen

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

Ludwig Technische Redaktion

Schreibt bei centron über Linux-Administration, Container und Datenbanken – mit Fokus auf Anleitungen, die im Betrieb tatsächlich funktionieren.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren