teratan.lan - My Self-Hosted private Enterprise

One of my favourite topics to talk about with anyone is self hosting. Some people refer to home automation, some people call it homelabs - I have both, and many other systems, in a fairly vast environment where everything is self hosted.

I truly believe that self hosting is the best way to really understand lots of aspects of technology, privacy, and how to efficiently build and secure systems.

“So, what do you self host?”

I’ve often wondered even howto refer to all this “stuff” I have - which is more than a collection of servers (at home, in cloud, in all different architectures). It’s also more than a collection of services, which ranges from Home Assistant, to Apache clusters, Kubernetes clusters, and everything in between. Do I just give people a list my containers, for example?


Continue reading...

Today I switched to Quadlet to start Linux containers

This post is written simply for myself to mark the date when I fully decided to ditch Ansible’s containers.podman.podman_containers, and Podman’s nasty port of docker-compose, in favour of Quadlet. Hopefully this page can serve as a useful reference for others considering the same move.

Problems with containers.podman.podman_containers

Ansible is great, but it’s a pain if you ssh on to a server, to find a container is down. You then have to jump on to another server to run the playbook to start the container.


Continue reading...

Prometheus: My Life in a Time Series Database

I aggressively use Prometheus in my day-to-day life, not just for regular technical and application metrics, but for everything I can get an exporter for.

I have a Prometheus exporter for my Gmail inbox (personal and work), for my Google calendar (mostly work), all my websites I’ve written export prometheus metrics, I monitor my servers CPU and Memory usage with Prometheus metrics, but also their Hard Drive SMART status. I even have a Prometheus exporter for my fledgling weight loss program. Domain expiry, GitHub stars, virtual machine status, even databases and the watch status of my media library!


Continue reading...

Freedom from Google Photos: taking 18 years and 80gb out of the cloud

Google Photos, the free, easy to use, on-for-many-android-users service has been the single Photo backup strategy for many of those who have used it, since it was released in 2015. I, for one, was amazed to discover that I have uploaded photos dating as far back as 2005, totalling over 80Gb. Initially, Google photos seemed like that ultimate, hassle-free, cloud backup service that would never be replaced…. However, as time went on, I found myself growing increasingly concern about cloud services that “own” my personal data. and I’ve just now managed to clear my data out of Google Photos.


Continue reading...

My desk has 6 monitors

Taken in approx Mar 2021

I want to explain how I use this setup, and how I got here. Perhaps I will encourage you, to experiment with your desk and workflow.

Pictured above, is my desk. It does indeed have 6 monitors. It also has 4 computers with 3 operating systems (2x Linux, 1x Windows — for gaming, 1x Mac — for iOS development).

I don’t intend to brag, or show off, or try and say that this set-up is absolutely essential for me and that nothing else would work. However, it certainly works for me. This is what I naturally got to after lots of experimenting over the years. I certainly don’t think having lots of monitors is right for many people — certainly 1 large 4k ultra wide monitor is a very popular option for many people now-a-days.


Continue reading...

All storage will fail, so all my files are distributed & tracked in Git Annex. ❤

This post is about how, and why, I use Git Annex to implement my 3-2-1 backup strategy backup strategy. In summary, that is;

  • At least 3 copies of the data
  • In at least 2 different storage mediums
  • With at least 1 copy offsite

In practicality, I’ve used Git Annex to implement more like a 9-5-3 backup strategy and track everything nicely. This strategy should mean that I should not ever lose files that I care about ever again.


Continue reading...

You can't do GitOps until you `git add`

This article explains how I solved a couple of challenges of getting my initial environment and configs into Git — the first steps to GitOps.

I’ve been wanting to embrace GitOps for quite some time, but it’s always tricky to know where to start. Do I use Jenkins Jobs — I know Jenkins well? It’s a bit old school though, maybe I should be using Ansible Tower. I’ve heard things about ArgoCD, and lots of others. The truth is, I can’t do anything until I actually have my environment and configuration stored in Git.


Continue reading...

About James Read

Picture of James Read James is a "full stack" Open Source enthusiast, who enjoys creating no-nonsense open source software.

Dad, hobbyist developer, open-source enthusiast and Red Hatter.