Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

unRaid, vmUbuntu mit Seafile CLI Client, Share SMB-Freigabe - Problem(lösung!)

Featured Replies

Moin!

 

mein unRaid (Version: 6.9.2) ist noch 16 Tage im Testmodus, aber bisher bin ich schon schwer angetan vom System ;)

 

Kommen wir zu meinem "Projekt": alte Windows VM mit Seafile, ersetzen durch Linux + Seafile CLI + Share-Freigabe

Im Detail:

- unRaid:
     - Share "Seafile", freigegeben(SMB) für user:scan (read-write)

- vm Ubuntu Server 20.04.3:
     - Unraid Share: /mnt/user/Seafile/ (die SMB-Freigabe)
     - Unraid Mount tag: seafile
     - in Ubuntu eingebunden/gemountet durch:
          > sudo mkdir /mnt/seafile
          > sudo nano /etc/fstab
               Eintrag hinzugefügt: seafile /mnt/seafile 9p msize=262144,trans=virtio,version=9p2000.L,_netdev,rw 0 0
          (Inhalt der Freigabe "Seafile" ist nun in Ubuntu unter "/mnt/seafile" sichtbar und beschreibbar)
          > sudo wget https://linux-clients.seafile.com/seafile.asc -O /usr/share/keyrings/seafile-keyring.asc
          > sudo bash -c "echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/seafile-keyring.asc] https://linux-clients.seafile.com/seafile-deb/focal/ stable main' > /etc/apt/sources.list.d/seafile.list"
          > sudo apt update
          > sudo apt install seafile-cli
          > mkdir ~/seafile-client
          > seaf-cli init -d ~/seafile-client
          > seaf-cli start
          > seaf-cli sync -l 'Seafile-Bibliothek-ID-siehe-in-Web-URL' -s 'https://myseafile.org' -d '/mnt/Seafile' -u '[email protected]' -p 'MyPassword'
          (Seafile synchronisiert die Bibliothek mit /mnt/Seafile ohne Fehlermeldung)

- Brother Drucker/Scanner:
     - scan-to-smb: an \\unRaid-IP\Seafile\ scannen (user:scan) funktioniert. scan-PDF wird gespeichert

 

Kommen wir zu den PROBLEMEN:

1. Brother Drucker/Scanner speichert scan-PDF in der SMB-Freigabe \\unRaid-IP\Seafile\scan.pdf (erfolgreich)

2. in Ubuntu, im mount /mnt/seafile, ist die Datei scan.pdf (vorhanden) (bearbeiten und löschen ist möglich)

3.A wenn Seafile(seaf-cli) bereits lief, dann synchronisiert er die neue scan.pdf nicht mit dem Seafile-Server.

3.B wenn aber Seafile(seaf-cli) die Bibliothek desynchronisiert und dann erneut synchronisiert, dann klappt es und die scan.pdf landet auf dem Seafile-Server.

 

In die andere Richtung funktioniert es auch nur bedingt:

1. am Windows-Client lokal im Ordner Seafile ein Dokument erstellen, z.B. test.txt -> wird mit Seafile-Server synchronisiert

2. der ubuntu-Seafile-Client lädt die test.txt herunter und speichert diese im mount /mnt/seafile

3. in der SMB-Freigabe \\unRaid-iP\Seafile sehe ich die Datei test.txt, die ich:

     - umbenennen kann (wird dann jedoch nicht mehr durch seafile synchronisiert)

     - löschen kann (wird mit Seafile auch nicht synchronisiert, bleibt auf dem Seafile-Server bestehen)

     - editieren kann (wird dann jedoch nicht mehr durch seafile synchronisiert)

 

Dieses Verhalten kann ich nicht nachvollziehen.

Und habe nicht mal eine Idee wo ich ansetzen kann/soll.

 

Hat jemand einen Tipp? 🙂

 

Edited by KnuspriGER

guten Morgen, ist das nicht sehr "seafile" spezifisch ?

 

ich würde hier ansetzen https://forum.seafile.com/ und / oder mal die logs durchschauen was, wann passiert (oder auch nicht) ;)

 

ansonsten braucht es jemand der evtl. auch dieses Szenario durchspielt ... denke nur wenn ich das lese ist es eher ein App Thema ...

Seafile ist doch von der Funktionsweise wie owncloud und nextcloud, oder?

Der Datenpfad liegt irgendwo und das Programm bekommt bzw liefert seine Informationen über eine Datenbank die im Endeffekt die Infos hat.

Also Name, Speicherort, Berechtigungen....

 

Wenn Du hergehst und über eine smb Freigabe etwas änderst dann weiß Deine Anwendung nichts davon.

Unter Nextcloud nutzt man glaube ich ein plugin namens external storage. Dieses überwacht dann ein Verzeichnis und liefert Infos ans System.

 

 

  • Author

Soo... ich habe versagt 😪

 

Das Problem ist wohl, dass der von unRaid durchgereichte Share (in den Einstellungen zur VM: Unraid Share + Unraid Mount tag) mit den Berechtigungen(UID+GID) vom unRaid daherkommt, insbesondere die darin erstellen Dateien und Unterordner.

 

Bedeutet:
Seafile (auf der VM laufend) bekommt Dateien mit "komischen" UID und GID settings und möchte diese nicht verarbeiten.

 

Lösungs(ver)suche:

Mein unRaid-Share (in unRaid per SMB freigegeben) ist durch Benutzer+Passwort geschützt.

Für diesen Benutzer (in meinem Fall: seafile-user) habe ich die UID herausgesucht:

 - entweder: Konsole auf dem unRaid: sudo id seafile-user

 - oder: in der Linux-VM wo Seafile CLI installiert ist im gemounteten Share die UID+GID der Dateien auslesen/anzeigen: ls -lu /mnt/seafile

Bei mir waren diese wie folgt: UID:1001(seafile-user) und GID:100(users)

 

Ich habe dann den User seafile-user im Linux-VM mit der UID 1001 erstellt und ihm danach die Gruppe users(GID:100) zugewiesen.

sudo adduser seafile-user --uid 1001

sudo usermod -a -G users seafile-user

Half nicht. Auch nicht mit einigen Variationen (habe jetzt nicht mehr alle im Kopf).

 

Ebenso half es nicht den Share per Eintrag in der /etc/fstab wie folgt einzubinden (mehrere Varianten ausprobiert, einzelnt natürlich):
seafile       /mnt/seafile    9p   msize=262144,trans=virtio,version=9p2000.L,_netdev,gid=100,uid=1001,rw    0    0

seafile       /mnt/seafile    9p   msize=262144,trans=virtio,version=9p2000.L,_netdev,gid=1000,uid=1000,rw    0    0

seafile       /mnt/seafile    9p   msize=262144,trans=virtio,version=9p2000.L,_netdev,gid=0,uid=0,rw    0    0

 

 

Am Ende habe ich es nun doch so gemacht wie eigentlich nicht gewollt:

- Samba auf Linux-VM installiert

- SMB-Freigabe über Samba erstellt und freigegeben

- SMB-Freigabe getestet

- Seafile CLI installiert

- Seafile Sync mit einem Ordner in der SMB-Freigabe eingerichtet:

    seaf-cli sync -l 'Seafile-Bibliothek-ID-siehe-in-Web-URL' -s 'https://myseafile.org' -d '/mnt/smb-freigabe/Seafile' -u '[email protected]' -p 'MyPassword'

 

...läuft!

 

Leider muss ich für die Benutzerverwaltung dann immer auf die VM, falls ich in Zukunft was am Seafile-SMB-Share ändern möchte.

Aber nunja, immerhin funktioniert es.

  • KnuspriGER changed the title to unRaid, vmUbuntu mit Seafile CLI Client, Share SMB-Freigabe - Problem(lösung!)
  • Community Expert
On 2/5/2022 at 12:29 AM, KnuspriGER said:

Seafile(seaf-cli)

Was ist das? Ein Container? Eine VM?

 

Du kannst jeden SMB Share so mounten als wärst du ein anderer User. Ich mounte zb NPM so, dass ich beim Ändern der Dateien Root-Rechte anwenden kann, weio NPM selbst keine unRAID Standardrechte verwendet:

https://forums.unraid.net/topic/119311-docker-img-im-appdata-folder/?do=findComment&comment=1091626

  • Author

Hi mgutt,

 

es ist eine VM, genauer: DietPi v8.1 basierend auf Debian 10 (Buster).

Auf diesem VM-Linux läuft Seafile als Anwendung (seaf-cli), siehe ersten Post.

 

Du meinst den unRaid Share (SMB-Freigabe) übers Netzwerk ins die VM mounten?

Könnte man auch machen, hm...

 

Ich schaue mir mal gleich deinen Link an, danke :)

  • Community Expert
Just now, KnuspriGER said:

Du meinst den unRaid Share (SMB-Freigabe) übers Netzwerk ins die VM mounten?

Könnte man auch machen, hm...

Wie machst du es denn sonst? Mit dem komischen 9p? Das ist eh super lahm. SMB ist in jedem Fall die bessere Option.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.