SEAFUSE - For the love of God PLEASE HELP!

HI Friends,

Been using seafile for last one month or so, 24x7, with little issues but were resolved. Now I wanted to access my seafile folder outside seafile and that lead me to FUSE. I installed fuse by fllowing below guide
https://manual.seafile.com/extension/fuse.html

it works ONCE, the first time and after that I have been pulling my hair to make it work. It stopped for some reason and since then when I stop seafuse and start again, (./seaf-fuse.sh start /mnt/seafile-fuse), below is how seafile directory structure appears now …

pi@sam9s_cloud:/mnt $ ls -l
ls: cannot access seafile-fuse: Permission denied
total 8
drwxrwxrwx 3 root root 4096 Jul 5 22:23 nfs
drwxr-xr-x 3 root root 4096 Jun 30 22:41 samba
d??? ? ? ? ? ? seafile-fuse

What on mother earth is ???. I cannot access is. I cannot run any command on it.

When I stop seafuse (./seaf-fuse.sh stop)

All looks good, the director is fine

pi@sam9s_cloud:~/sam9scloud/installed/seafile-server-6.1.1 $ sudo ./seaf-fuse.sh stop

Stopping seaf-fuse …
Done.
pi@sam9s_cloud:~/sam9scloud/installed/seafile-server-6.1.1 $ cd /mnt
pi@sam9s_cloud:/mnt $ ls -l
total 12
drwxrwxrwx 3 root root 4096 Jul 5 22:23 nfs
drwxr-xr-x 3 root root 4096 Jun 30 22:41 samba
drwxr-xr-x 2 pi pi 4096 Jul 7 03:50 seafile-fuse

Now I can access the director, but I see 0 files in it, as obviously seafuse is not running.

This is what i have tried.

  1. removing the directory seafile-fuse and re create.
  2. removing seafuse from Rpi and reinstalling seafuse again
  3. Restarting Rpi and then try step 1 and 2.

What ever I do the moment I start seafuse service (./seaf-fuse.sh start /mnt/seafile-fuse)

I end up with a directory with ??? and nothing works.

I dont knwo what else I can do to make this work. Please gurus here help me out to make FUSE work. I need directories outside seafile …

Regards
Sammy

When the user-space daemon for a fuse filesystem dies, you get

in that case, you will also not be able to do anything with that directory, since the backing process is not there anymore.

OKeeyyy … then how do we solve it … reinstalling FUSE does not help ??? what else can I do?

Try to find some output or logfile of seaf-fuse and post it here

Which log file you would want. Well I have uploaded all log files I was able to find.

Anyone any ?? Any help here???

Which user ran the script when it was working? According to the manual :

If you get a “Permission denied” error

If you get an error message saying “Permission denied” when running ./seaf-fuse.sh start, most likely you are not in the “fuse group”. You should:

Add yourself to the fuse group

sudo usermod -a -G fuse <your-user-name>

Logout your shell and login again
Now try ./seaf-fuse.sh start <path>again.

I am not getting error permission denied, when I am running the script. I am gettinng permission denied when I list the directory by ls -l and get ??? against the directory. Then when I stop seafuse all is good and I see the directory normaly … Please read the OP again.

But still for your information pi is the user that runs the script and and pi is added to the fuse group.

Sorry, I did misread the manual. Do you know when this started occurring? You have a bunch of db locked errors in the fuse log. You also have this error in the seaf-fuse.log :
[07/06/17 23:27:08] repo-mgr.c(322): Repo add36556 is corrupted.

It maybe that the database is not being able to be read from since it’s locked by some process.

Yes it started happeining after I installed miniDLNA, and yes I thought that might have caused it, so I stopped it, have not uninstalled it. but its not running anymore. Not sure what the error means that you have listed. Plz suggest the corrective action or more probing if that is needed and I shall perform …

Thanks regards
Sammy

Are you sure that miniDLNA is not running? Did you happen to set it to run at boot? I’m not sure if it and FUSE conflict, but it sounds like there maybe something between the two that is causing this error, if that is all that’s changed from FUSE working to not working now.

I’m also not sure of how miniDLNA works, as I’ve never used it, but in a few guides I’ve seen references to a database for miniDLNA, which could be the reason that the log is saying that the database is locked by another process. I’m not 100% sure of this though.

Ok I will completely remove miniDLNA and see if that hlps … give me some time I will report back

You don’t need to completely remove the packages. You can run a “ps aux | grep minidlna” or “sudo service minidlna status” to see if it’s loaded. If it is, you should be able to just do a “sudo systemctl stop minidlna” and then “sudo systemctl disable minidlna” to stop and remove the package from startup.

/mnt/seafile-fuse is owned by user pi. Check which user is running seaf-fuse.sh start /mnt/seafile-fuse and also which user is trying to ls -l

ok managed to solve it ““for now””"

This is what I did

1.Completely removed miniDLNA. It was already stopped and process was killed.
2. removed the user seafuse directory
3. removed seafuse completely. Earlier I was just reinstalling it, which was not solving the issue
4. create seafuse user directry but this time with a different name
5. Installed seafuse again
6. started seafuse and now I can see the folders.

Hope it stays this way

NOW MY QUESTION ::: If this was caused my miniDLNA, what are the alternatives of streaming music from seafile server externally. Coz miniDLNA was the only option I cold think offf that was making my seafile media available. How can this be achieved without miniDLNA

Thanks for all for assisting me here, fourms is veryhelpfull

Regards
Sammy

I just spun up a rpi test server and I can recreate the same issue that you have. I’m trying to find a solution and I’ll post one if I do.

pi@raspberrypi:~ $ ls -la /mnt/
ls: cannot access /mnt/fuse: Permission denied
total 12
drwxr-xr-x 4 root root 4096 Jul 10 15:24 .
drwxr-xr-x 21 root root 4096 Nov 25 2016 …
d??? ? ? ? ? ? fuse
drwxrwxrwt 11 pi pi 4096 May 8 16:35 vol1

wow how were you able to re create… ?? did you also install miniDLNA?? Love to see the solution none the less

I started by:

-Setting up Seafile 6.1.1 without a proxy
-Uploaded some media
-Setup miniDLNA with defaults
-Edited the conf to point to my seaf-fuse dir
-Started seaf-fuse.sh
-Started miniDLNA
-Same error as you received (d???)

That was the “base” test. I then tried using different users, root, seafile, and pi, in the conf file for miniDLNA and /etc/defaults/minidlna without success. I came across an option to “allow_other” users for fuse in a guide specified for Seafile, but was not able to get it to work. All options I’ve tried so far have been with no luck. I was able to keep using seaf-fuse.sh with the same directory and different directorys after stopping miniDLNA. Once I started miniDLNA the permissions changed to the ?'s.

I don’t think I have miniDLNA setup correctly on my system. I added media to a test directory and am not able to stream or have it show up in my “library” via the web page.

The aforementioned guide is here: Tutorial for streaming video/audo with your Seafile server via miniDLNA and FUSE

I will keep this thread updated with my findings.

As I don’t have a free raspberry to test on, I used one that currently being used in my household. I would like to test on one that has been setup from scratch, but cannot at the moment. I don’t know if my current setup with installed packages has any conflict with the Seafile/miniDLNA setup.

I don’t think miniDLNA has anything to do with your ???-problem. I think it is a permission problem.

You need to run the seaf-fuse command with option -o allow_other to grant access to the mounted files for other users as well. Otherwise they only will see your ???-problem. If a non-root user is running the seaf-fuse command, you need to enable user_allow_other (in configuration-file of fuse) to allow non-root users to use this option.

Necessary steps to make this work:

  • stop seaf-fuse: /path/to/seafile-server-latest/seaf-fuse stop
  • remove the hashtag before user_allow_other in the file /etc/fuse.conf
  • make sure the mountpoint is owned by the user who will be running the seaf-fuse command
  • run the command with option -o allow_other

Example:
/path/to/seafile-server-latest/seaf-fuse start -o allow_other /path/to/mountpoint

Then the ???-problem should be gone.

Notice: miniDLNA won’t index new added media-files automatically, because seaf-fuse / seafile doesn’t support inotify. You will have to rebuild miniDLNA-index manually for newly added files to show up in miniDLNA.

Cheers, Bernie_O

1 Like

Bernie_O, thank you for your detailed response.

I do understand that it’s a permissions problem. I was able to to get the ?'s to go away editing the fuse.conf and using the “-o allow_other” option. The mount point for seaf-fuse is owned by my seafile user. Every time I start miniDLNA after seaf-fuse.sh, the mount point owner is changed to root. I’m not 100% sure if this is the expected behavior.

After those results, I decided to scrap the idea of using miniDLNA with Seafile until I got it working without it. I created another directory to be used with miniDLNA, but I have yet to be able to get it to load any files. Hence why I think I have a configuration problem with miniDLNA. If I can’t get it to work standalone, how am I to get it to work with Seafile.

I’m not too worried about getting this working for myself, just trying to help the OP getting it to work. Maybe the OP can follow the steps you provided and can report back with the results.

Edit:
I’m now able to get miniDLNA working on it’s own. I haven’t tried with Seafile again, but I’ve made some progress. I used root as the user and owner of the mount and can see a few images that I put in the directory.

Edit#2:
I was able to get this working with Seafile. Ultimately my issue was from not have miniDLNA configured correctly to begin with. Once, it was working all I had to do is change the minidlna.conf to point to my seaf-fuse mount point.