Ich habe bereits schon hier eine Anleitung geschrieben, wie ihr Seafile normal “von Hand” installieren könnt. Nun zeige ich euch, wie ihr dies in wenigen Minuten mit Docker realisiert. Traefik dient uns hier als Reverse Proxy und stellt später den Dienst verschlüsselt per TLS bereit.
Datum | Änderungen |
---|---|
28.03.2020 | Erstellung dieser Anleitung. |
26.07.2022 | Docker Compose Datei angepasst |
29.05.2023 | Anpassung an neue Traefik Anleitung |
02.12.2023 | Anpassung für Seafile 11. Danke an @shipy |
13.12.2023 | Kapitel 7 hinzugefügt (Collabora Office) |
28.10.2024 | Anpassung an aktuelle Version. Danke an @allurt |
Als Grundlage meiner Anleitung dient die offizielle Seafile Anleitung für Docker.
1. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- Traefik V3 Installation, Konfiguration und CrowdSec-Security
2. Ordner anlegen
Zuerst legen wir uns passende Ordner-Strukturen an.
mkdir -p /opt/containers/seafile/{mysql-db,seafile-data}
3. Docker Compose anlegen
Nun legen wir die eigentliche Docker Datei an. Hierfür habe ich mir die offizielle Seafile Compose genommen und diese abgeändert für Traefik.
nano /opt/containers/seafile/docker-compose.yml
Inhalt
services: seafile-db: image: mariadb:10.11 container_name: seafile-mysql environment: - MYSQL_ROOT_PASSWORD=db_dev - MYSQL_LOG_CONSOLE=true - MARIADB_AUTO_UPGRADE=1 volumes: - ./mysql-db:/var/lib/mysql networks: - default seafile-memcached: image: memcached:1.6.18 container_name: seafile-memcached entrypoint: memcached -m 256 networks: - default seafile: image: seafileltd/seafile-mc:11.0-latest container_name: seafile volumes: - ./seafile-data:/shared environment: - DB_HOST=seafile-db - DB_ROOT_PASSWD=db_dev - TIME_ZONE=Europe/Berlin - SEAFILE_ADMIN_EMAIL=test@euredomain.de - SEAFILE_ADMIN_PASSWORD=test - SEAFILE_SERVER_LETSENCRYPT=false - SEAFILE_SERVER_HOSTNAME=cloud.euredomain.de depends_on: - seafile-db - seafile-memcached networks: - default - proxy labels: - "traefik.enable=true" - "traefik.http.routers.seafile.entrypoints=websecure" - "traefik.http.routers.seafile.rule=(Host(`cloud.euredomain.de`))" - "traefik.http.routers.seafile.tls=true" - "traefik.http.routers.seafile.tls.certresolver=http_resolver" - "traefik.http.routers.seafile.service=seafile" - "traefik.http.services.seafile.loadbalancer.server.port=80" - "traefik.docker.network=proxy" - "traefik.http.routers.seafile.middlewares=default@file" networks: proxy: external: true
Notwendige Anpassungen:
- 2x MySQL Passwort anpassen (DB_ROOT_PASSWD)
- Admin E-Mail vergeben (SEAFILE_ADMIN_EMAIL)
- Admin Kennwort vergeben (SEAFILE_ADMIN_PASSWORD)
- Eure URL eingeben bei Seafile (SEAFILE_SERVER_HOSTNAME)
- eure URL eingeben bei Traefik
4. Seafile Konfiguration erzeugen
Nun lassen wir uns alle Konfigurationsdateien erstellen. Dazu starten wir den Server:
docker compose -f /opt/containers/seafile/docker-compose.yml up
Wenn ihr nun folgendes in der Konsole seht, dann könnt ihr den Server mittels “STRG+C” wieder beenden:
seafile | seafile | Seahub is started seafile | seafile | Done. seafile | seafile |
Nun müssen wir noch eine Datei anpassen. Gebt dazu folgendes ein:
nano /opt/containers/seafile/seafile-data/seafile/conf/seahub_settings.py
Fügt hier am Ende folgendes hinzu:
CSRF_TRUSTED_ORIGINS = ["https://cloud.euredomain.de"]
Die Domain müsst ihr natürlich auf die selbe Domain wie im Schritt 3 anpassen.
5. Seafile Server starten
Den Server startet ihr wie gewohnt mit folgendem Befehl:
docker compose -f /opt/containers/seafile/docker-compose.yml up -d
Nun sollte es so aussehen, wenn ihr auf “cloud.euredomain.de” geht.
6. Anpassungen für Uploads vornehmen
Unsere Verbindung wird mittels Traefik TLS verschlüsselt. Daher müssen wir noch Seafile anpassen. Diese Einstellungen müsst ihr mit dem Administrator Benutzer vornehmen.
Klickt auf euer “Avatar” oben rechts.
Hier klickt ihr auf “System-Administration”.
Nun auf “Einstellungen”. Hier sind jetzt die “SERVICE_URL” und “FILE_SERVER_ROOT” wichtig. Diese passt ihr an.
Wichtig ist, dass wenn ihr änderungen vornehmt, dass ihr diese mit dem “Haken” bestätigt.
Nun ändert die Einstellungen folgendermaßen ab:
- SERVICE_URL = https://cloud.euredomain.de
- FILE_SERVER_ROOT = https://cloud.euredomain.de/seafhttp
7. Collabora Office integrieren
In Seafile ist es auch möglich innerhalb weniger Minuten ein Online Office einzubinden. Dies ermöglicht es euch, Dokumente direkt im Browser zu bearbeiten. Die Anleitung zu Collabora Office findet ihr hier.
8. Quellen
https://download.seafile.com/published/seafile-manual/docker/deploy%20seafile%20with%20docker.md
https://github.com/haiwen/seafile-docker
Moin!
Das genutzte Docker-Image für Seafile gibt es mit diesem Namen scheinbar nicht mehr und man läuft mit der Anleitung in einen Fehler. Der korrekte Name wäre (für v11): seafileltd/seafile-mc:11.0-latest
Hallo, ich werde von crowdsec ständig gebannt. Ihr nicht? Was muss denn in der Whitelist stehen damit das nicht mehr passiert?
VG
Hallo Christian
Kannst du noch Webdav und Onlyoffice integrieren? Danke
Hallo Christian,
deine Anleitung hier scheint nicht mehr aktuell zu sein!
in der Datei /opt/containers/seafile/seafile-data/seafile/conf/seahub_settings.py muss folgendes hinzugefügt werden:
Natürlich muss hier die URL angepasst werden. Siehe dazu den Issus auf Github CSRF verification failed for docker after update to seafile 11.0.0 · Issue #2707 · haiwen/seafile (github.com)
Scheinbar gibt es ansonsten ein CSRF Fehler welcher dass einloggen verhindert!
Lg Shipy
Wie aktiviert man WebDAV bei Seafile in Verbindung mit Traefik v2, das eingerichtet wurde nach eurer Anleitung? https://goneuland.de/traefik-v2-reverse-proxy-mit-crowdsec-einrichten
Möchte DAVx5 nutzen und Backups wie z.B. Seedvault, Swift Backup usw. darüber auf meinen nach eurer Anleitung eingerichteten Seafile-Server sichern.
Kommentare kann ich hier nicht aufklappen/ lesen…wieso auch immer (keine Adblocker usw. auf eurer Seite aktiviert) Oder kann man die nur über Abo lesen? Steht zumindest ja nirgends etwas davon. Da ich keine Antworten lesen kann lasse ich das so mal da.
Hallo.
Schöne detaillierte Anleitung. Habe Traefik auf Anhieb zum Laufen bekommen, allerdings zickt Seafile etwas rum. Immer wenn ich meine Domain aufrufe werde ich zur Hauptseite von Traefik weitergeleitet. Habe es dann mit Ports, brachte aber nix. Was mache ich falsch ? Danke.
Gruß Thorsten
Seltsam bei mir waren die Kommentare noch drin. Hatte die Webseite aber aktualisiert.
Nun sind sie weg. Alles gut, funktioniert nun.
Vielen Dank Christian….
Funktioniert immer noch nicht.
Du musst noch das hier löschen.
Dann geht es….
VG Jens
Funktioniert nicht mehr…! Bitte mal überprüfen.
Danke konnte paar Sachen abspicken, hat geholfen!
Mein Dank kennt keine Worte! So truly made my day/night!