Raspberry Pi Internet Radio

Build an internet radio with an old Raspberry Pi 3 leveraging the Music Player Daemon (mpd). The ultimative goal is to refurbish a beautiful old radio from the 1930’s. I intend to tell more about this radio in an upcoming post, but - spoiler alert - I can already tell that the original radio mechanism is probably beyond repair. The most feasible way seems to build a new device inside the old radio and bind the original buttons to the new platform, to control things like switching the power on and adjusting the sound volume.
Read full post

Unifi Controller on K3s

Goal: Run the unifi controller as container on my home K3s cluster. Introduction The synology D916+ can run a docker application packed in a single container, which I found quite convenient to host a couple of applications in my home network: The unifi controller, to manage our two Unifi Access Points The Logitech Media Server - yes, I still own several squeezeboxes I wouldn’t change for anything :D Home Assistant Planning to add further applications - and having in mind a setup where the logs from some of the home applications are fed into a elasticsearch cluster later - I decided to move them to Kubernetes, which it meant to reactivate my K3s cluster, which I had installed on a Raspberry Pi 4 a while ago - see my previous post:
Read full post

Boot Asahi Kernel with u-root on Macbook

Goal: Boot an Asahi Linux kernel and an u-root initramfs on a water-damaged Apple-Silicon Macbook At some point I encountered myself with a Macbook Air booting Asahi’s m1n1 in proxy mode, without being able to boot MacOS or doing anything else with it, since the power button was fatally damaged. Introduction Why did I buy a Macbook and how I accidentally destroyed it Even if I definitely am a Linux-kind-of-person, I got myself an entry-level MacBook Air M1 which should fullfill the following purposes:
Read full post

Coreboot on ThinkPad W500

Goal: Give an old Lenovo Thinkpad W500 a second life featuring Coreboot and Ubuntu My partner replaced his laptop already two years and half ago, buying a beautiful brand-new Lenovo Thinkpad T480s. The old machine, a Lenovo Thinkpad W500 - heavier and bulkier and a lot less pretty - wasn’t getting any further updates for Windows 7 and it was painfully slow, rarely being used. Furthermore, the machine was overheating and the battery was almost dead.
Read full post

Nextcloud self-hosting on K8s

Goal: Self-host Nextcloud on Kubernetes and use it as server-side for the /e operating system Nextcloud offers an on-premises content collaboration platform, which is open-source and free. The Nextcloud server is written in the PHP and JavaScript scripting languages. The /e/ ROM is a fork of Android (more precisely from LineageOS). See previous post to see how to install the OS on a LG G3 and my efforts to self-host the /e server beta version.
Read full post

/e self-hosting and /e OS on LG G3

Goal: Rely on the /e platform for private cloud self-hosting and as android operating system /e is a mobile ecosystem that: is open source is presented as an environment which values privacy is un-googled but still compatible with android apps The /e/ ROM is a fork of Android (more precisely from LineageOS). The /e/ cloud includes several applications and it’s built upon NextCloud, Postfix, Dovecot and OnlyOffice. It’s been integrated to offer a single login identity in /e/OS as well as online, where users can retrieve their data from the ecloud global services.
Read full post

K3s on Raspberry Pi 4

Goal: Set up a minimal Kubernetes cluster on Rapberry Pi 4. I ordered a new Raspberry Pi 4 a couple of days ago. I already use one at work for automated testing and I think it’s pretty cool, but I actually wasn’t sure what I wanted it for. After giving it a thought, I decided to install Rancher’s K3S distribution on it, turning it to a convenient, low-power-consumption, single-node K8s distribution I can use as a playground.
Read full post

Self-hosted cozy on K8s

Goal: Deploy cozy on my homemade kubernetes cluster The K8s homemade cluster on baremetal was meant to be just an exercise and not a permanent setup. Still, I needed to find something to deploy on it :) I decided to try out Cozy Cloud deploying software and dependencies as containers in my K8s cluster. Cozy is a personal, free and self-hostable cloud platform, written in Go. Milestones Pre-requisites: make sure the infrastructure is ready Cozy Software: installation, dependencies and configuration Docker Images: which one are available and which new ones we need K8s Configuration: write manifests for deployment in the cluster Cozy instance: create a new cozy instance and test it 1.
Read full post

DNS Configuration for K8s

Goal: Configure DNS, so applications running on the K8S cluster are reachable from the internet and TLS-protected Setting up a home made kubernetes cluster is quite straightforward. However, for deploying applications or services accessible from the internet, the configuration capabilities of the standard provider’s internet boxes are usually too limited. In particular I had the issue of the internal host resolution. My internet box wasn’t able to properly route requests to the own external IP address from inside the internal network.
Read full post

Home-made K8s Cluster

Goal: Set up a home Kubernetes cluster with old hardware: 1 Master and 1 Worker Tasks: Find old hardware Install Ubuntu Server 18.04 LTS Set up Master Node Set up Worker Node Service Account Install helm Install ingress Install cert-manager Cluster Issuer (Let’s Encrypt) Storage 1. Find old hardware Since kubernetes is lightweight and can run almost everywhere, I decided to go down to the cellar and rescue some old PC which I thought could still work for this.
Read full post