What do I need to consider regarding the longevity of my Bokeh app?

I posted this question on stackoverflow, too:

I successfully created a Bokeh server application (that is started with bokeh serve MyAppFolder). I also managed to package the app in a docker image, with the correct port exposed. When I run a container with that image, I can access my webpage and everything works fine. For now.

Will this image still work in, say, 5 years? Are there things I should consider to improve the longevity?
I think the biggest potential problem is changing dependencies in the python libaries. This should not be an issue, because the docker image freezes everything in place.

When we create standalone html documents from bokeh, we can see that the html contains references to external sources (stylesheets and javascript, e.g. https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js).
I assume these references also exist in a bokeh server application, and that they are downloaded everytime the bokeh server is started.
Should I be worried that these links might break someday?
Is there any way to package those sources into my docker image?

It seems like this documentation is related to what I would like to achieve.
I guess BOKEH_RESOURCES=server should allow to point to a static source for all the dependencies, but I am not sure how to properly use that.

Any other helpful guidance?

I’ve had the demo site https://demo.bokeh.org/ up for months at a time and even a few years one stretch when I didn’t get around to updating it for a long time. It has had occasional issues from time to time so if you need 100% uptime it’s probably worth looking into redundancy or some sort (same as with anything else) e.g. load balancers and supervisors, etc. That could be manual, e.g. nginx and supervisord or something automated, depending if you are using a cloud provider.

Thanks for your thoughts. I am using a “Container-App” on Microsoft Azure to run my Docker image.
Its seems to have its own load balancing / scaling options (which I did not properly understand yet), but it seems to work just fine.
I guess I will not mess with the resource URLs until there are actual problems.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.