How to clean unused share key link


Somehow, my cell is docker wiped itself (datasources, users, roles).
Anyways, I have recovered access to the systems,and recreated the datasources mapped to the file system but I cannot reuse any sharing link because they are already stored in the datastore database.

I tried removing the files in the datastore and restart, but the newly created stores are empty, and no file will share.

What is the way to properly clean this datastore.
FWIW these files are located in /cells/services/pydio.grpc.docstore

This seems the same kind of problem as :

Ok let’s try this (just tested locally)

  • Go to the pydio.grpc.docstore folder
  • Backup the docstore.db file by making a copy :wink:
  • Download GitHub - br0xen/boltbrowser: A CLI Browser for BoltDB Files (they give pre-built binaries)
  • Stop Cells
  • Open docstore.db file using boltbrowser, and fully remove the store-share bucket (use ‘?’ to get help). Eventually you can enter the store-share bucket and clean/keep the links that interest you.
  • Quit and restart Cells
  • You should then be able to recreate links with the old hashes.

FYI, Cells v4 now offers MongoDB support exactly for that reason: all boltdb and bleve indexes can be moved to a Mongo server, making this type of external intervention much easier!

Ok, I’ll try that.

Regarding the mongoDB, it is offered in the cell configure, but default to N so, I did no go with it.

Should I try to enable it? If yes, how can I do this without reconfiguring?

If I enable mongo db, knowing that the whole thing is running in docker, What will the suggested way of going for managing the mongodb?



It does work indeed.
I wish I could update the repo field of the 944 shares, so as not recreate them.
But at least, I can reuse share ids and they point to the proper files .

Thank you.

Good to know it worked.

As for editing the links, re-using your boltdb backup, you can try to migrate all bolt/bleve to mongo, then use a tool like MongoDB Compass to dig the links and edit them. See (bottom of the page). Basically you can add a mongo container in your docker setup.

If you have an issue you can still revert config changes.