Log2ram is software that redirects logs to the memory instead of the SD Card. Here’s how I used it to extend my SD Card’s lifespan in my Raspberry Pi.

Image for post
Image for post
Originally published at ikarus.sg on October 24, 2020

In my previous post, I talked about how you can use zram to squeeze more memory out of your Raspberry Pi at no cost. In this, I will talk about how you can then use that additional compressed memory to extend the life of the SD card on your Raspberry Pi.

Since the advent of the Raspberry Pi, almost all single-board computers (SBCs) on the market have followed their lead in using SD cards as the main storage medium for the OS.

The main benefits of doing so, as I see it, are:

  1. The convenience of not needing to disconnect and move the device to your computer to be reset or re-flashed in the event of some catastrophic failure of the…


I demonstrate how you can use zram to increase the available memory of your Raspberry Pi by more than 50% with a negligible performance impact.

Image for post
Image for post
Originally published at ikarus.sg on August 17, 2020

Raspberry Pi and other single-board computers (SBCs) have always had minimal memory. At a maximum of 1GB in the Raspberry Pi 3, it was just sufficient to run lightweight programs and scripts. That trend held until the advent of the Raspberry Pi 4 with 2GB, 4GB and a few months later, 8GB models, opening doors to running databases and other memory-intensive applications.

This shift is due in no small part to the explosive growth of the data industry, where previously the focus of SBCs was IoT and embedded applications and now the focus is slowly shifting towards data applications. …


I used my old Pebbles as a QR Code storage for SafeEntry at frequented locations in Singapore during COVID-19 and a minimalistic desk clock

Image for post
Image for post
Originally published at ikrs.tech on July 29, 2020.

In 2018, I had the privilege of meeting a friend Lester who gave me his Pebble Time Steel as he has since moved on to Apple Watch. Two years in, this same watch I received is still serving me well, even in Singapore’s COVID-19 circuit breaker.

As Pebble web services shut down 4 years ago in 2016, I’ve switched the boot URL to point to Rebble web services instead, breathing new life into this watch.

Pebble for SafeEntry

For those who’re unfamiliar, SafeEntry is Singapore’s national digital check-in system that logs the identity and mobile numbers of individuals visiting places of interest (POI).

Those information along with the timestamp of visit would then be used for contact-tracing for prompt testing and quarantine should there be a risk of infection due to the presence of an infected individual at the same place and time. …


My experiences with the Kubernetes Dashboard and a step-by-step tutorial on how you can deploy your own instance on your Raspberry Pi Kubernetes cluster.

Image for post
Image for post
Originally published at ikarus.sg on August 03, 2020.

The Kubernetes Dashboard is essentially a web UI for managing the Kubernetes cluster that it is deployed on. It allows the administrator to perform CRUD (Create, Read, Update, Delete) operations on the most commonly used cluster resources.

Less commonly used resources such as LimitRange and HorizontalPodAutoscaler, you’ll still have to fallback to the command line to manage them. In the screenshot you can already see all the resources you can manage within the UI in the sidebar on the left.

The dashboard has just reached 2.0.0 a few months back after staying in 2.0.0-beta for almost a year. Though there still are some rough edges that can be ironed out, I feel it is sufficiently stable for production usage. …


Some fun facts about Kubernetes that you probably didn’t know, caveats when running it on Raspberry Pi, and how you can set it up with k3s.

Image for post
Image for post
Originally published at ikarus.sg on July 27, 2020.

Kubernetes or k8s in short (first and last letters, with 8 letters in-between), is all the hype in 2020 in the container orchestration space.

If you have been living under a rock in the container orchestration space, here’s what Kubernetes is:

Kubernetes is an open source container orchestration system for automating application deployment, scaling and management. It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation. (Wikipedia)

In plain English, Kubernetes is a system that runs on a cluster, and provides a framework through which the user deploys applications. Kubernetes provides useful features that make deploying high-availability apps much easier, such as multiple replicas of the same app, support for load-balancers natively as well as horizontal and vertical autoscaling. …


How Docker Swarm introduced me to distributed container orchestration and established the foundations for Kubernetes.

Image for post
Image for post
Originally published at ikarus.sg on July 20, 2020.

In my previous post, I detailed my struggles with bare-metal setups of applications and how Docker saved me from the pain of installing and configuring PHP. In this post, I shall outline the process through which I (finally) started clustering.

I assume that you already have knowledge on and some experience with Docker and docker-compose. If you don’t, I’d suggest referring to my previous post which should give you some context.

Identity crisis and more Phpain

Even though docker-compose was great, there was still one problem.

Docker-compose runs all the services defined on a single machine.

There’s no point to the cluster I built if everything ends up running on a single machine is there? …


I outline my voyage and pains through which I found Docker and I aim to convince just one person reading this, that Docker is worth learning and using.

Image for post
Image for post
Originally published at ikarus.sg on July 13, 2020

I’ve been lurking around in r/selfhosted for about a year now, spying on the apps that people self-host, and their pretty dashboards full of self-hosted apps. Over time I observed some dissent in the community. There exists a group of people that vehemently reject the use of Docker.

…what happens if the container is not maintained further? i have no desire to do that. I still prefer to install my dependencies, run the applications via systemd and set up an nginx reverse proxy. i still feel like i can interact with the process. (Reddit)

I’m a person who has never really been too fond of Docker. I like having full control of the applications I’m running, their configuration and their storage. With Docker, I’ve always felt like I’ve lost a bit of that control. …


I built a 28-core gigabit cluster, Kraken, consisting of 7 Raspberry Pi 3 Model Bs

Image for post
Image for post
The Kraken cluster (Image source: Author) (Originally published at ikarus.sg on July 6, 2020)

This is the second instalment of my “how I built” trilogy detailing the build process of all three of my clusters. Read the first instalment here.


Image for post
Image for post
Originally published at ikarus.sg on June 29, 2020

I was just firing commits at my self-hosted Gitea server just as I would every evening but this time, something changed. I was unable to connect to Gitea via its public SSH endpoint.


Image for post
Image for post
The Octopi Cluster (Originally published at ikarus.sg on June 19, 2020)

This is the first of the ‘How I built’ trilogy detailing the build process of all 3 of my clusters.

About

Will Ho

Machine Learning Engineer by day, Self-hosting Addict by night. Follow me @ ikarus.sg for the latest updates.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store