Wenn es um reine Dateisynchronisierung geht, ist Seafile oft wesentlich schneller und weniger ressourcenhungrig als Nextcloud. Besonders spannend: Die professionelle Edition (Seafile Pro) ist für bis zu 3 Nutzer kostenlos und unterstützt native S3-Speicheranbindung (Object Storage).

In diesem Tutorial erfährst du, wie du Seafile Pro mittels Docker-Compose aufsetzt und deine Datenblätter, Commits und Blöcke in einen günstigen S3-Bucket (z.B. Hetzner Storage Box, AWS, Wasabi) auslagerst.

Wichtig: S3-Support ist offiziell ein Feature der Seafile Pro Edition, nicht der Community Edition (CE). Da die Pro-Version für kleine Teams oder Solopreneure (bis zu 3 User) kostenlos ist, nutzen wir in diesem Setup exakt diese Version.

Voraussetzungen

  • Ein VPS (z.B. Ubuntu 22.04 oder 24.04).
  • Installiertes Docker & Docker Compose.
  • S3 Zugangsdaten: Ein komplett leerer S3-Bucket (bucket_name, endpoint_url, access_key und secret_key).
  • Domain & DNS eingerichtet.

Schritt 1: Docker Compose Datei

Erstelle den Ordner ~/seafile-s3 und wechsle dorthin. Lege dann die Datei docker-compose.yml an:

version: '2.0'
services:
  db:
    image: mariadb:10.11
    environment:
      - MYSQL_ROOT_PASSWORD=Ein_Sicheres_Root_Passwort
      - MYSQL_LOG_CONSOLE=true
    volumes:
      - /opt/seafile-mysql/db:/var/lib/mysql

  memcached:
    image: memcached:1.6
    entrypoint: memcached -m 256

  elasticsearch:
    image: seafileltd/elasticsearch-with-ik:5.6.16
    environment:
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /opt/seafile-elasticsearch/data:/usr/share/elasticsearch/data

  seafile:
    image: docker.seadrive.org/seafileltd/seafile-pro-mc:latest
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD=Ein_Sicheres_Root_Passwort
      - TIME_ZONE=Europe/Zurich
      - SEAFILE_ADMIN_EMAIL=admin@deinedomain.ch
      - SEAFILE_ADMIN_PASSWORD=Sicheres_Admin_Passwort!
      - SEAFILE_SERVER_LETSENCRYPT=false   # Reverse Proxy übernimmt das Zertifikat
      - SEAFILE_SERVER_HOSTNAME=seafile.deinedomain.ch
    ports:
      - "8080:80"
    volumes:
      - /opt/seafile-data:/shared
    depends_on:
      - db
      - memcached
      - elasticsearch

Starte den Server einmal kurz (docker compose up -d), warte bis das Admin-Konto erstellt ist und stoppe ihn dann wieder (docker compose down). Wir generieren zunächst nur die Konfigurationsdateien.

Schritt 2: seafile.conf für S3 anpassen

Seafile speichert die Dateien als “Blöcke” (Blocks), Datei-Historien (Commits) und Dateisysteme (FS). Um all dies auf deinem S3-Bucket abzulegen, öffne die neu erstellte /opt/seafile-data/seafile/conf/seafile.conf und füge am Ende Folgendes ein:

[commit_object_backend]
name = s3
bucket = dein-seafile-bucket
key_id = DEIN_ACCESS_KEY
key = DEIN_SECRET_KEY
use_v4_signature = true
aws_region = eu-central-1
host = s3.eu-central-1.amazonaws.com # oder der Hetzner S3 Host
path_style_request = true

[fs_object_backend]
name = s3
bucket = dein-seafile-bucket
key_id = DEIN_ACCESS_KEY
key = DEIN_SECRET_KEY
use_v4_signature = true
aws_region = eu-central-1
host = s3.eu-central-1.amazonaws.com
path_style_request = true

[block_backend]
name = s3
bucket = dein-seafile-bucket
key_id = DEIN_ACCESS_KEY
key = DEIN_SECRET_KEY
use_v4_signature = true
aws_region = eu-central-1
host = s3.eu-central-1.amazonaws.com
path_style_request = true

Schritt 3: Neustart & Reverse Proxy

Starte die Container mit docker compose up -d wieder. Seafile nutzt nun deinen S3-Speicherplatz! Der lokale Speicher deines VPS (unter /opt/seafile-data) enthält jetzt nur noch temporäre Cache-Dateien, Datenbanken und kleine Strukturinformationen. Die grossen Datenblöcke landen im Object Storage.

Wie gewohnt solltest du noch einen Reverse Proxy (Caddy, Traefik, Nginx Proxy Manager) vorschalten, um die Verbindung auf Port 8080 abzufangen und sicher über HTTPS nach aussen anzubieten.

Fazit

Mit Seafile Pro und S3 hast du eine der blitzschnellsten und zuverlässigsten Cloud-Lösungen. Da sich S3 unendlich skalieren lässt, musst du deinen teuren VPS nie wieder migrieren, nur weil dir der Speicherplatz für deine Backups oder Daten ausgeht! Brauchst du Hilfe bei Integration und Hosting für dein Unternehmen? Als Freelancer für Corporate IT stehe ich gerne zur Verfügung.