I heard great things about this nginx replacement written in Go, maybe you guys should consider it?
I did a server upgrade. Took 5 minutes. All done now.
The forum is powered by Discourse, which ships in a Docker container using nginx. It’s fronted by Caddy. Caddy was never the problem. This Ruby monolith + Docker is why upgrades are slow and tedious.
Well… on the topic of Discourse and Caddy, I have this to say:
I’ve worked with numerous PHP-based forums and even toyed with Discourse at one point.
PHP, for all its derision from the critics (including me), actually has very good forum software, such as Vanilla and XenForo (paid, closed-source). It wouldn’t be hard to run any of these behind Caddy, and therefore have an all-Caddy stack for this site.
(Alternatively… my quick examination of the Discourse source code seems to indicate that you could make Discourse use Caddy, provided you can proxy HTTP requests to a Unix socket and add Brotli support. But that’s an exercise best left to someone else.)
You can proxy to an Unix socket, and I understand that Caddy does serve pre-compressed Brotli files from disk (but it doesn’t compress them on the fly like it can with gzip).
This topic from the Discourse Meta forums is still relevant:
I’m a fan of Discourse, to be honest. Can’t say I’ve come across another forum software that feels as smooth and gets so many little things right, like email digests, notifications in general, unread status, moderation… Just really happy with it. I try to convince other communities to move to Discourse wherever I can.
I know that we’re proxying Discourse’s nginx server behind Caddy - I’m referring to extending that so that Discourse is served by Caddy directly (proxying the Thin server).