Thursday, 12th of September
This is thorium
NMS Online has always been self-hosted. It began on a Raspberry Pi 1B which lived on top of a cupboard, beside the router, in our kitchen - since then it's moved between two other Pis and three other servers.
The website as a whole has got a lot more complicated since it started, as there are multiple services running for different parts, many of which need to be duplicated elsewhere for redundancy.
For example, the Ceefax section is hosted as a normal webpage - but the viewer needs a seperate websocket service, which runs on "Cerium", and a Subversion repository, which runs on the appropriately named "Subversion".
In normal operation, all traffic arrives at the Enniskillen Router. Some content is cached here, which gives more flexibility in the event of an upstream server failing. The router then decides where to send each request - or if it should be dropped.
Server | Location | Status |
---|---|---|
NMPSERVERS | Enniskillen | Retired |
NMPSERVER2 | Enniskillen | Retired, died shortly after |
NMPSERVER3 | Belfast | Died in action |
NMPSERVER4 | Enniskillen | Retired |
NMPSERVER5 | Belfast | Backup, due for retirement by 2022 end |
NMPSERVER6 | Enniskillen | Died in action |
NMPSERVER7 | Enniskillen | Backup - Due for relocation to Belfast by 2022 end |
Xenon | Enniskillen | Primary |
The original website layout (which this section inexplicably maintains, as well as "Projects" and "Weather" until recently) has a server ident at the top of every page. You can see this change while looking through the site's history on the Wayback Machine. You may also spot it switch over to backup if I'm messing around and/or something has broke.
NMP Server 4 and 6 briefly share a rack during handover. Server 4 has been retained for an "all-else-fails catastrophe" backup, and lives in the garage
NMP Server 5 and its UPS in Belfast. My sister absolutely loves it.
The original NMP Server, and the Ceefax Pi, in the same place the main rack lives now
NMP Server 2 also controlled a VBIT-Pi teletext inserter
The main router getting modified prior to deployment. A big feature is it's built in UPS, which is being tested in this photo.
For those in the know: yes, the trimpot has lived in that power supply ever since, and will do for The Rest Of Time
Patching the router into the main network during deployment, very very late one night! Also spot Server 6
Almost all of the pages in this website are written by hand in PHP. Most of this is, of course, just HTML, but things like the Navigation bar, header
date and server identifier are all dynamically generated.
There's quite a bit of CSS in here too, I find it a lot easier than other methods of
customisation. Some parts are written by other people and are available online, for example the teletext viewer.
No editors were used in the construction
of this website - I wrote it all from source code and just fiddled with it until it looked the way I wanted it to. The great thing about not using editors
is that you can have it exactly the way you want it - no forced templates or messed up layouts.
One of my original websites - nmp.001www.com -
began life with pages from Net Objects Fusion - a great editior, but it didn't give me the flexibility I wanted, so I ditched all the pages and wrote a
very simple page in HTML source code. And that's the way it's been since.