Haven’t seen RTFM casually dropped in conversation online in… um… a while…
You’ve been hanging out on the intartoobz at least as long as I have. Circa the paleolithic era, or so…
Haven’t seen RTFM casually dropped in conversation online in… um… a while…
You’ve been hanging out on the intartoobz at least as long as I have. Circa the paleolithic era, or so…
As part of a much larger project that was all-in on Java to begin with, I’ve used Tomcat to serve pages and PDFs/office doc formats rendered based on a postgres backend and FreeMarker templates.
For these purposes, you don’t want that level of complexity (or Java) but the general premise and template libs should be available in nearly any sane web programming language.
Not aware of a FOSS 1:1, but that sounds like Ghost or your blogging platform of choice.
Except WP, if self hosting, IMHO. Wordpress == PHP == trouble and risk. I don’t mean to malign WP specifically, but if you’re a noob, you want to avoid exposing PHP to the public internet - especially if there’s any possibility you’ll eventually forget about maintaining and upgrading.
Just too damn easy for some threat actor to come along and exploit a vuln you missed, in the software or the web server or WP.
That said, years of WP taught me that, roughly, you want “pages” linking to “posts” ( == chapters). In theory, the former is a permanent reference and the latter is dynamic to some degree.
In reality, the existence of search engines before enshittification means the two have been conflated frequently.
Pages would often get links in a sidebar or menu. Posts might get buried much farther down, but can also be linked to. They’re often, but not always, time—specific.
“2023 NY [financial product] Guide” (page) might well link to a years-old post about subrogation regarding an attempted BBQ of a random wild animal that went wrong and caused a fire, because it’s a positively classic example of the same that makes a great deal of sense to most people, even if they don’t understand terms like subrogation.
Post/page are distinctions that WP makes, but are abstractly relevant to setting up abs any CMS (which is what you want, Content Management System) so that you (ideally) never have to figure out how or where to link something, its just native. Changing the structure means changing the URLs which is annoying at best, and fraught with peril at worst.
Above 2023 xxxx Guide page, would be https://example.org/NY-Xxxx-Guide and that way you DGAF about the sidebar links, for instance. Link it once, and then you only have to update 50 posts with the year and/or some change in the data, which can be done programmatically in the db as a trivial exercise. “UPDATE page SET title = (SELECT title FROM… WHERE ‘2022’ in title TO ‘2023’;”
Disclaimer: do not run that query as copypasta, it’s meant to illustrate a point and not to exhibit valid SQL on any db (Not least because I intentionally left out at least one closing paren and simplified a bit. I’m a PG guy, and I am 100% certain it would fail as written, but fully expect anything approaching the standard to reject it. But you get the idea, update 50 states at once with a fairly simple query, once a year.
Lots going on here, but go for a modern CMS and repeatable updates, not a legacy product with a bunch of tech debt accumulated. Build it clean, plan it out first, and know whatever DB is backing it fairly well.
Migadu has been amazing. It “”just works,”and there’s no reason to deal with any of the crap that comes with hosting email.
They are affordable, and provide exactly what they claim to provide.
Email is not - IMHO - worth the trouble to self host. There are too many hard stops where email is required as login, etc to bother.
I enjoy hosting and using a variety of services. But I’ve no desire to bother with something I can ship out to folks who live and breathe that particular service.
Try it all. Keep good notes.
Some service names are marginally misleading, but understanding what it does and how it bills does two thing: Helps you avoid overbilling; and also ensures you “get” it.
Properly secured and understood, S3 + immutable saves my ass more than o once because could prove that as of x bi-hourly backup, PG reflected some given status.
In other words, “I did not fuck that specific thing up, and as of the last time I was in good faith awake, it looked like x. Let’s look at logs/code, bc last I saw it, it mapped perfectly to reality.”
The bit about “keep good notes,” above, is for future you.
“Oh yeah I played with that random AWS service a few years back, wish I could recall the outcome,” vs “Mind giving g me a sec to have a look at my notes, I’ve seen this before!”
That translates to execs as “Yep, I follow, and u have ref material from the last n times I solved this problem, so I’m your guy, I just need a sec to locate the details of the last round before I straight up commit to an answer.”
Boxes that physically live in my home are mostly Manjaro. They’re also not externally accessible from the internet.
Anything in the cloud I standardize on Debian. Two distros and consistency makes maintenance much easier.
Anything in a container runs whatever it was built on because porting a docker compose file from, say, Alpine to anything else is just not worth the time and energy.
Right there with you on “just works,” as well as the simple fact that the config snippets you need are readily available - either in the repo of whatever you’re putting behind the proxy, or elsewhere on the internet.
I consistently keep in mind that it’s ultimately an RU product, of course. But since it’s open source and changes relatively infrequently, that’s mitigated to a large degree from where I sit.
Nothing against Caddy, though Apache gets heavy quickly from a maintenance standpoint, IMHO. But nginx has been my go to for many, many years per the above. It drops into oddball environments without having to rip and tear existing systems out by the roots, and it doesn’t care what’s behind it.
Ages ago, I had a Tomcat app that happened to be supported indirectly by an embedded Jetty (?) app that didn’t properly support SSL certs in a sane way on its own.
That was just fine to nginx and certbot, the little-but-important Jetty app just lived off to the side and functionally didn’t matter because with nginx and certbot, nothing else gave a crap - including the browser clients and the arcane build system that depended on that random Jetty app.