This sounds like a very fun project. I also run a small local news organization and we use a company that specialize in managing small news sites (Our-Hometown.com, in case you want to give them a look). We’ve been very happy with their service for the past 25 years, so I don’t plan on leaving them any time soon, but, as a self-hoster, I’ve also spent a lot of time thinking about how I’d put together the infrastructure. I think my preference is Nginx plus Varnish for caching. Also, in case you’re not aware of it, Automattic makes a plugin for newsrooms that adds some industry-specific features (github.com/Automattic/newspack-plugin) that looks interesting, though I haven’t tried it.
Lee Hutchinson at ArsTechnica wrote an interesting series about hosting a weather news site in Houston that I thought was awful interesting and might be worth a read. Here’s part 1 and part 2.
dan@upvote.au 1 month ago
Use a page caching plugin that writes HTML files to disk. I don’t do a lot with WordPress any more, but my preferred one was WP Super Cache. Then, you need to configure Nginx to serve pages directly from disk if they exist. By doing this, page loads don’t need to hit PHP and you effectively get the same performance as if it were a static site.
See how you go with just that, with no other changes. You shouldn’t need FastCGI caching. If you can get most page loads hitting static HTML files, you likely won’t need any other optimizations.
One issue you’ll hit is if there’s any highly dynamic content on the page. You’ll need to use JavaScript to load any dynamic bits.
rimu@piefed.social 1 month ago
This is good advise, listen to dan. WP Super Cache is amazing although getting it working just right can take some tweaking.
The Redis Object Cache plugin is worth a try. It’ll only take a minute to set up.
Is it 200k users or 200k page loads? Those are really different as each user will load multiple pages in a month.
goldensw@lemmy.dbzer0.com 5 weeks ago
goldensw@lemmy.dbzer0.com 5 weeks ago
dan@upvote.au 5 weeks ago
Since you’re using Hetzner, one option is to get a Hetzner storage box to store the media. 1TB space is $4/month (not sure about EU pricing).
On-disk cache prevents a “thundering herd” problem when you reboot - an in-memory cache would be empty on rebootz whereas an on-disk cache survives a reboot. Linux handles caching files in RAM automatically.