Appreciate the advice. The good news is that the backups from our prod system work in a dockerized installation just fine (I’ve tested that), so if/when they decide that using a Docker-based installation is the right way to go, we’ll be in good shape. We’ve got a lot of data (migrated from vBulletin a few years ago to Discourse), and generally things have worked pretty well, with a few odd hiccups here and there.
Consequently, we’ve learned a lot about how Discourse works, so not a bad thing all around. ![]()
It looks like the /categories.json is an API endpoint rather than a static file that’s created and then read, so I think that helps limit the issue to either ruby or javascript. I’ve found where the schema is for this endpoint, but not being particularly familiar with ruby (I’ve accumulated a lot of programming language experience over the years, so reading most languages isn’t a problem for me even if I can’t code in them - I can get the gist pretty easily), but it looks like the javascript is mostly executed in the browser, and the ruby is executed on the server (though I note that nodejs is installed as well, so that generalization may not really hold).
If I can find the function that processes /categories (as it looks like .json on the end just tells the code how to format the output; I see similar behaviour in /top vs /top.rss, for example), then that should narrow down where I need to look in the code, and that’ll tell me what ruby gems (I’m fairly certain it’ll be ruby code) need to be checked that they’re properly built.