Hosting bokeh apps on a cloud server with large data requirements

Hi all. I have developed a Bokeh app for manually labelling features in three-dimensional medical image data, which I am hoping that my university students can use to undertake remote projects (due to covid-19 restrictions).

My original plan was to use one of my desktop workstations on the university network to host the app (alongside approx. 1TB of image data) and for the students to access it via SSH tunneling. However, the university network is now running very slowly due to everyone remote working, and I’ve just been told that the workstation I had in mind has been destroyed in a flooding incident (don’t ask…!).

So, I’m looking for suggestions for cloud-based solutions that would: 1) allow me to use SSH tunneling (or some other secure mechanism) for serving and accessing the bokeh app; 2) allow me to store the ~1TB of image data (it’s currently stored on dropbox); and 3) would allow the students to easily downloadthe results of their image labelling sessions for further analysis. Ideally it would be fast and low-cost (free?), but am happy to allocate some cash if required.

Any suggestions very much appreciated!

Given your requirements, I think you need a VPS. At least, I don’t know of anything else that would suit you. Given the 1TB requirement, you will have to search for a VPS that has very cheap storage cost and high bandwidth limits. The total price will probably be at least $30/mo.

Thanks for this. Do you know of any good resources for getting up to speed with deploying a Bokeh app on a VPS. Googling didn’t get me very far…

VPS is just a regular server that you have access to. So it shouldn’t be any different from what you had at the university. I don’t know of any deployment guides or documentation other than https://docs.bokeh.org/en/latest/docs/user_guide/server.html#deployment-scenarios
Personally, I just create a regular Python application, embed Bokeh there (so I don’t use bokeh serve at all), and run it behind Nginx via a systemd service on Ubuntu.