euxhenh / cellar

Interactive software tool for the assignment of cell types in single-cell studies.
https://cellar.cmu.hubmapconsortium.org/app/cellar
MIT License
31 stars 5 forks source link

Dataset upload support for multi-user environments #10

Closed VPetukhov closed 1 year ago

VPetukhov commented 1 year ago

While using your public web-server, it looks like the uploaded datasets are not persistent. However, if I run an instance myself, they're simply stored in the uploaded sub-folder. Consequently, every user sees everything anyone uploads to the server. And in case of a name conflict, an older dataset gets overwritten without any warning. Is there any way to make these uploaded datasets temporary and user-specific?

euxhenh commented 1 year ago

This is a problem I haven't been able to solve using dash open-source. The current solution is to use shinyproxy which spins up a new container for every user that logs in. In this manner, the datasets they upload are visible to them only and get destroyed when the container is released. You can also run shinyproxy locally if you wish to obtain a similar behavior. See my answer to #4. Let me know if this answers your question.

VPetukhov commented 1 year ago

Thank you for the answer, that's a viable solution! Just to clarify, is it correct that every new simultaneous user would additionally require ~800 megabytes of RAM?

euxhenh commented 1 year ago

I haven't noticed a large increase in RAM just for starting a new container. But additional RAM will be needed for the extra datasets ofc.

VPetukhov commented 1 year ago

I just meant that it seems like each container does take some RAM, while new users for the same container don't. Anyway, from my side the issue is resolved and could be closed. Thanks!