Hi,
I have installed Seafile Server Pro (latest) on my Synology DS218+ (8GB RAM) using a Portainer stack which is effectively docker-compose with a UI.
Installation went fine and I have successfully synced some of my files from my laptop using the windows sync client without error.
I have over 600GB of data on the synology NAS which I have moved to “/shared/import” in the seafile docker. (I’ve mapped the seafile directories to the NAS so that I can access them easily via SMB)
The problem is with seaf-import.sh.
I ran the script through the docker exec console in portainer which succeeded after many hours but no new libraries appear for either of the 2 users.
The commands I ran were:
“./seaf-import.sh -p /shared/import/amy -n Laptop -u Amy”
“./seaf-import.sh -p /shared/import/rhys/gaming -n Gaming -u Rhys”
(Amy and Rhys being the login ID’s of the 2 users.)
After hours of successful imports, I log in as Amy, expecting to see a library called Laptop but there is nothing, same with Rhys. Also, I can’t see any new libraries through the admin interface.
The data is somewhere as the volume size has increased.
What have i done wrong?
Don’t really want to have to blow the setup away but i may have to start again as i don’t have that amount of space to spare on my NAS drives, and you can’t just go in and delete the library if it doesn’t exist?
Edit: If i run seaf-fsck, It shows that the libraries do exist, they just aren’t showing up anywhere else.
any way i can make it happen?
Thanks for any help
For anyone interested in the future, i managed to solve this by using DBeaver to open the database and edit a couple of tables.
In seafile_db, looking at the table RepoOwner, i could see the 2 missing libraries with incorrect values under owner_id.
It appears that you have to use the user’s email address and NOT the login ID.
This could be made clearer in the docs…
After changing those values, I went into RepoInfo to find the 2 libraries were missing from here.
I’m guessing due to the incorrect owner_id, it failed before it got here.
Adding 2 new rows to this table and copying the ID’s from another table then filling in the other fields by looking at the other library entries, the libraries have now appeared in the web UI complete with all their data.
File count is at 0 but it’s all there. i’m guessing after an index or a reboot this will correct itself but it works.
There is actually close to 1TB of data that i didn’t have to move all over again! 
Moral of the story… when using seaf-import.sh, use the user’s email address and not the Login ID!
1 Like
I just ran into the same issue, however I did use the user’s email address when importing 
[2025-04-21 02:49:49] [INFO] seaf-import.c(237): Import dir /hdd1/onedrive_rach/Pictures/ to repo 07dd2a4c successfully.
run done
I guess 07dd2a4c
is hidden somewhere within the db? Super annoying since I can’t just reattempt the upload without adding hundreds of gigs more to the system
Hello @TechnicallyReal , since seafile 12, a virtual email is used as the owner_id
for users, such as 48a89b0cde164495bfa829b91176fb19@auth.local
. You can check the owner_id
of an already created library through the RepoOwner
table, and then try using the corresponding owner_id
when running seaf-import
.
1 Like
Thank you.
Is there a tool to find orphaned libraries? I thought the admin user would see them on https://seafile.my-domain.com/sys/all-libraries/
. It would be wonderful if they all showed there so an admin could delete or reassign them.
I was able to replace the email I passed to seaf-import.sh
with the @auth.local
email of the same user as you suggest and now all is well.
I noticed that the main/admin user (myself) does not have this same issue - the real email is used for that user. The circled libraries had to be adjusted, but notice all the ones below have a real email address:
Hello @TechnicallyReal , there is currently no such tool available. You can only verify whether a library belongs to a specific user by checking the RepoOwner
.Admain account and accounts created before version 12.0 generally do not use virtual email, only newly created users have virtual email.