About JBLan.ca

JBLan.ca (Jacques Bourdeau's LAN) is the DNS domain I use for publishing the services I deployed for myself and relatives (I also own .org and .net). If you take a look at my portal, you can see that today, JBLan.ca is built using mostly enterprise-grade solutions. Kubernetes, Keycloak, TrueNAS and more are solutions that require an expertise too high for many small or medium businesses. Most of their features are also way beyond what a regular user will ever need. But just like everything, my environment started much smaller and much simpler...
Starting from almost nothing...
In the 1990s, I started to learn Linux on computers I assembled with whatever pieces I could get. Just like today, an important question was "which distribution should I use ?". For me, it was Slackware. I chose it because it was the most "manual" distros back then. You would not get anything out of it without building 100% of it yourself. Download source code, compile, deploy... Start scripts, config files, ... You had to read and understand everything before being able to make it to the next level.
My first projects were simple things like a router with firewall and NAT using ipchains. DNS and FTP were next, followed by a mail server. File and Print came relatively late for me. I remember one principle of the time that illustrates this kind if philosophy...
"You are not a real Unix sysadmin until you configured yourself a sendmail server ; and you are a fool if you do it twice!".
How cryptic was it ? Try to figure out next line (answer at the end...) :
R$*%$* $1@$2
Entry in the official league...
After a while, I acknowledged that I was doing enough with my "servers" to justify the acquisition of an actual server. That is when I bought my first Dell tower server, a T-110. Soon enough though, that server ended undersized for what I was trying to do with it. At that moment came my second server, a T-130.
One must realize that this is a pretty addictive game... The more resource and power you have, the more you use, the more you need, the more you want, the more you get yourself! That T-130 ended up short and next was a much bigger T-330.
I was still relatively happy with that one when a colleague of mine chose to buy himself a used server. At first, I was supposed to only help him move his own server. But when I saw all that was available, I could not resist! The guy made me an offer I could not refuse : a Dell R-820, 32 Cores and 256G of RAM for about 2,500$ CAN.
At first, I deployed it at home just like every server I owned so far. Still, by doing always more and more, relying more and more on it and considering how much power it takes to keep it running, I decided that it was time for me to put it in a professional data center in colocation.
Now at a real enterprise level
Today, that R-820 is my main server. It runs ESXi 6.7U3 and is hosted at Globo Tech's data center. My T-330 is still at home and is running TrueNAS Core. Thanks to that, I can run VMs from it. Its storage and services are configured for backups and disaster recovery (DR). Should something go very bad at the data center, I can recover using that server.
The old T-130 is also running TrueNAS Core and is deployed at my father's place. It was once the DR server when everything was at my place. Now, it is more a point of service in his network. Because you never have too many backups, it also hosts some backups. The old T-110 is not dead yet and I use it for offline backups. I power it up, sync my backups with it and power it back down.
Most of my VMs are running Ubuntu. When it was time for me to learn Kubernetes, I tried Talos. I liked it but unfortunately, I was never able to configure it properly for IPv6. Because I turned back to a Kubernetes cluster built with kubeadm, I stayed with the distribution I am most used to today.
As for services, I now run basically all the services I personally use on a regular basis. My private medias server (Jellyfin) contains the few hundreds movies I own, as well as all my music and TV series. I also have my private cloud (Nextcloud) in which I save my contacts, calendars, files, photos and more.
Other than services for the average user like these, I also have services meant for an actual IT department. One is an highly available (HA) database cluster running MariaDB and managed by Maxscale. Every software that needs a database server points to that cluster. phpIpam, Nextcloud, Ghost and more, all of them rely on that cluster. Minio is in the same category.
HA storage is not easy to build. One of the main solution for that is an S3 storage service as offered by Amazon. Minio is an S3 compatible service for self-hosting similar service. Considering the limited storage available in the main server, it was hard to host a second copy there for HA. By using an S3 service, it is possible to run the main one from the data center and a second one from the DR server. That way, in regular time, everything is running locally in the data center. When needed though, it is possible to switch to the DR server without causing any interruption.
Thanks to that solid foundation, services can be easily deployed with a high level of security and availability.
So that is how I started with scrap pieces and ended up where I am today.
As for the line written above, it reads :
R = Re-writing rule
$* = first string of anything
% = followed by the character %
$* = followed by a second string of anything
$1 = is to be rewritten as the first string
@ = followed by character @
$2 = followed by the second string
So overall, that line converts the character % to @ in a larger string of characters.