How does one proceed (under linux) to recover from a situation where all data is intact (and passwords are known for any encrypted libraries) but
seahub.db is corrupt preventing any access to the HTTP frontend?
I’m using Seafile Community Edition with NGINX and SQLite. All my data and databases are on a remote Amazon S3 based filesystem (using the userspace
My server suffered an out of memory condition that caused the kernel to kill off some of the s3ql userspace processes, causing an unclean mount of the data.
fsck on the S3QL filesystem, only
seahub.db seems to have been corrupted.
I remounted the filesystem and then ran a seafile
fsck, which correctly identified all my libraries and found no errors. So it would seem all my data is intact.
However I cannot access the webserver because of the corrupt
seahub.db (server crashes with Django related errors and a complaint about “DatabaseError: database disk image is malformed”).
I’ve tried completely removing the seahub.db file or replacing it with an empty file in the hope that seafile would generate me at least a working stub, but I still get errors when trying to connect to the webserver (Django crashes again and I get “OperationalError: no such table: notifications_notification”).
In summary the actual data appears to be intact (it was encrypted but I still have all the passwords), but the frontend is dead. What steps do I need to take to recover?