Erratic loading of static resources on dockerised shiny server

I'm trying to deploy an app that I have dockerised to run on digitalocean. Everything works fine if I run the image locally, but when I deploy it on digitalocean (currently at Disagapp ), I get erratic errors that change when the app is refreshed. Sometimes the css fails to load, other times various bits of javascript fail to load. Below are some examples of errors appearing in the console at various times in firefox and chromium. They all seem to relate to failing to load various js and css resources, but I don't know what changes I could make to the server set up to resolve them. I'm very much a noob at devops so any pointers would be greatly received ! The dockerfile is here: disagapp/Dockerfile at main · simon-smart88/disagapp · GitHub

Uncaught ReferenceError: HTMLWidgets is not defined
    <anonymous> https://disagapp-4mqws.ondigitalocean.app/disagapp/datatables-binding-0.33/datatables.js:161
    <anonymous> https://disagapp-4mqws.ondigitalocean.app/disagapp/datatables-binding-0.33/datatables.js:1539

Uncaught ReferenceError: Selectize is not defined
    <anonymous> https://disagapp-4mqws.ondigitalocean.app/disagapp/selectize-0.15.2/selectize-plugin-a11y.min.js:1

downloadable font: download failed (font-family: "Open Sans" style:normal weight:400 stretch:100 src index:0): status=2147746065 source: https://disagapp-4mqws.ondigitalocean.app/disagapp/bootstrap-3.4.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2

Uncaught TypeError: Cannot read properties of undefined (reading 'Proj')
    at Object.<anonymous> (leaflet.js:473:31)
    at Object.<anonymous> (leaflet.js:476:4)
    at 11 (leaflet.js:476:17)
    at o (leaflet.js:1:265)
    at leaflet.js:1:316
    at 3../global/leaflet (leaflet.js:168:21)
    at o (leaflet.js:1:265)
    at leaflet.js:1:316
    at 13../cluster-layer-store (leaflet.js:509:18)
    at o (leaflet.js:1:265)
index.js:4 Uncaught ReferenceError: L is not defined
    at index.js:4:1
    at bundle.js:1:121
    at bundle.js:1:125
selectize.min.js:1 Uncaught (in promise) Error: Unable to find "selectize-plugin-a11y" plugin
    at e.loadPlugin (selectize.min.js:1:2197)
    at e.require (selectize.min.js:1:2504)
    at e.initializePlugins (selectize.min.js:1:2066)
    at new w (selectize.min.js:1:14830)
    at HTMLSelectElement.<anonymous> (selectize.min.js:1:48402)
    at Function.each (jquery.js:385:19)
    at S.fn.init.each (jquery.js:207:17)
    at d.fn.selectize (selectize.min.js:1:47937)
    at t.value (selectInput.ts:277:25)
    at t.value (selectInput.ts:232:12)
fill.css:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()
leaflet.css:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()
ionRangeSlider.css:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()
v4-shims.min.css:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()
bootstrap.min.css:1 
        
        
       GET https://disagapp-4mqws.ondigitalocean.app/disagapp/bootstrap-3.4.1/font.css net::ERR_ABORTED 404 (Not Found)
selectize.css:1 
        
        
       GET https://disagapp-4mqws.ondigitalocean.app/disagapp/selectize-0.15.2/selectize.css net::ERR_ABORTED 404 (Not Found)

Hi @Simon_Smart,

access the container and try to call some resources from curl (or whatever you prefer) and see if:

  • you see that certain outside links are blocked
  • there is a rate/resource limit regarding the app

The other issue could be that you run everything in root locally but the service prohibits that level of execution. So you would have to make sure that the libraries and other resources you are using can be accessed without root rights. You have some documentation o the rocker page regarding that: Rocker Project - shiny, shiny-verse