G'day, I'm Aidan and I like to make things, almost as much as I like to break things. In this blog you can expect to find writeups of various home/personal projects, as well as hackthebox/ctf writeups. Hope you enjoy!

The Raspberry Pi Project: Part 1 - The Context

So I recently acquired a Raspberry Pi 4 with 4GB of RAM accompanied by a fantastic FLIRC case to replace my Raspberry Pi 3B+. Up until now, I had been using my Raspberry Pi 3B+ for a mix of things, including:

  1. A web server running NGINX, with automated SSL certs from Let's Encrypt so I can serve cool web content I develop.
  2. A DNS server running Pihole to block ads on my network
  3. An OpenVPN server so I can VPN into my home network from wherever
  4. A Dynamic DNS updater for DuckDNS, so I don't have to deal with pesky IP addresses.
  5. A development environment for various embedded systems projects that use the Pi's GPIO pins.

So now comes the fun part of migrating all of these services over to the new Pi. Unfortuantely, since the Raspberry Pi 4 runs on a newer version of Raspbian (Buster), it's not just a simple case of swapping over the SD cards and it all working.

So I started thinking to myself,

How can I make this migration/setup easier for the future?

The answer I eventually arrived at, Docker & Docker Compose. The reason I decided upon this approach is that in the event that my SD card dies, or I want to setup a new SD card for X reason, all I should have to do is install the OS and Docker/Docker Compose, and then BAM everything is up and running with a few docker-compose up's. Sounds easy, right?

Well that's what I thought when I set out on this journey, but boy did I have a few late nights. In this series, I plan to detail this journey, rabbit holes and source code included. Stay tuned!