<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>homelab &amp;mdash; Braindump</title>
    <link>https://moxnet.eu/braindump/tag:homelab</link>
    <description></description>
    <pubDate>Wed, 07 Oct 2026 23:06:57 +0000</pubDate>
    <item>
      <title>Evolution of my homelab</title>
      <link>https://moxnet.eu/braindump/evolution-of-my-homelab</link>
      <description>&lt;![CDATA[#homelab #selfhosting&#xA;&#xA;One of my big interests is self-hosting. The actual implementation of the homelab changes and evolves over the years, but since I started 15 years ago, I never thought about dropping it. I have diverse reasons for that, but privacy and control over our family data remain the most prominent ones.&#xA;&#xA;!--more--&#xA;&#xA;moxnet is born&#xA;&#xA;In the beginning, there was a Synology NAS where the family photos were stored. We just got kids, and needed some safe storage for baby pics. I, on the other hand, simply wanted something that worked. So buying an off-the-shelf NAS and attaching it to the router was the easiest solution.&#xA;Then we moved into the new apartment where we had roller shutters with electric motors, but still had to go around every evening and morning to close or open them. Of course, after some time, my engineer side started looking for options to automate this task. I figured out that I could install some Z-Wave relays behind the switches and use Domoticz to switch them at sunset and sunrise. Because it was not possible to run this on the NAS, I got a Raspberry Pi 2B, which ran Domoticz for multiple years without problems.&#xA;Next, we formulated the use case as &#34;We want to watch the baby photos and videos on the TV.&#34; So a Raspberry Pi 3 with LibreELEC was added to the mix. About this time, I started referring to my home lab as moxnet. The name is based on my youth nickname Mox. This setup that I ran until 2020 could be called moxnet v0.1.&#xA;&#xA;  My name is Kemal, short form is Kemo. If you apply Šatrovački to that you get Moke. To make it more modern, my friends started calling me Mox 🙂.&#xA;&#xA;Organic growth&#xA;&#xA;Over the years, I grew tired of updating multiple devices. During Covid, I got some time on my hands to consolidate everything, so I bought a NUC and installed Debian on it. Then I degraded the NAS to a simple storage appliance as after 8 years it was getting too slow. Services were moved to the NUC. At the end, I had extended the homelab with Nextcloud, PiHole, Domoticz, and OpenVPN. This really felt like coming back home because I was administrating a Linux server again. That was actually my first job as a System Administrator in the university library in Banja Luka (BiH). Also, Kodi got replaced by Volumio on a RPi 3 where I added a HiFiBerry for better audio output.&#xA;&#xA;My smarthome started to grow organically. I was not only attaching Z-Wave devices as in the beginning but adding WIFI devices with Tasmota, Zigbee lights, and Vacuum Cleaner with Valetudo. I needed something more flexible than Domoticz, which had problems catching up with all the new devices. So I decided to migrate to Homeassistant, for the first time introducing a Docker container in my homelab. Around the same time, I also installed Writefreely, to serve this blog. With this, I reached moxnet v1.0.&#xA;&#xA;One simple &#34;yes&#34; brought it all down&#xA;&#xA;Then this summer came, and I thought it makes sense to update the base server to Debian 13. I did the steps to update everything... but everything broke down 😖. The problem was not Debian, it was the dependency hell I landed in as Nextcloud needed to be updated as well, then this clashed with the installed PHP version. Zigbee stick started loosing connection... so after a couple of days of implementing workarounds, I decided it&#39;s time to start over.&#xA;&#xA;The idea was to do a fresh base install of Debian 13 and rebuild everything using Docker in order to isolate dependencies. Getting stuff up initially wasn&#39;t that intensive, but stabilizing everything took longer than expected.&#xA;Architecture is now cleaner, and I think I am done with it for the next 5 years. Long live moxnet v2.0 🥳.&#xA;&#xA;Internet&#xA;   │&#xA;Pi-hole + WireGuard&#xA;   │&#xA;Debian NUC&#xA;   ├─ Caddy (public access)&#xA;   ├─ Fail2ban (security)&#xA;   └─ Docker&#xA;       ├─ Nextcloud&#xA;       ├─ WriteFreely&#xA;       ├─ Immich&#xA;       ├─ Jellyfin&#xA;       ├─ KitchenOwl&#xA;       ├─ FreshRSS&#xA;       └─ Home Assistant&#xA;   │&#xA;DAS RAID1 (storage)&#xA;   │&#xA;Monit + mdadm (monitoring)&#xA;   │&#xA;Borgmatic&#xA;   ├─ Synology&#xA;   └─ Hetzner&#xA;&#xA;Keep on hacking!]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="/braindump/tag:homelab" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">homelab</span></a> <a href="/braindump/tag:selfhosting" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">selfhosting</span></a></p>

<p>One of my big interests is self-hosting. The actual implementation of the homelab changes and evolves over the years, but since I started 15 years ago, I never thought about dropping it. I have diverse reasons for that, but privacy and control over our family data remain the most prominent ones.</p>



<h2 id="moxnet-is-born">moxnet is born</h2>

<p>In the beginning, there was a Synology NAS where the family photos were stored. We just got kids, and needed some safe storage for baby pics. I, on the other hand, simply wanted something that worked. So buying an off-the-shelf NAS and attaching it to the router was the easiest solution.
Then we moved into the new apartment where we had roller shutters with electric motors, but still had to go around every evening and morning to close or open them. Of course, after some time, my engineer side started looking for options to automate this task. I figured out that I could install some Z-Wave relays behind the switches and use Domoticz to switch them at sunset and sunrise. Because it was not possible to run this on the NAS, I got a Raspberry Pi 2B, which ran Domoticz for multiple years without problems.
Next, we formulated the use case as “We want to watch the baby photos and videos on the TV.” So a Raspberry Pi 3 with LibreELEC was added to the mix. About this time, I started referring to my home lab as <code>moxnet</code>. The name is based on my youth nickname Mox. This setup that I ran until 2020 could be called <code>moxnet v0.1</code>.</p>

<blockquote><p>My name is Kemal, short form is Kemo. If you apply <a href="https://en.wikipedia.org/wiki/%C5%A0atrova%C4%8Dki" rel="nofollow">Šatrovački</a> to that you get Moke. To make it more modern, my friends started calling me Mox 🙂.</p></blockquote>

<h2 id="organic-growth">Organic growth</h2>

<p>Over the years, I grew tired of updating multiple devices. During Covid, I got some time on my hands to consolidate everything, so I bought a NUC and installed Debian on it. Then I degraded the NAS to a simple storage appliance as after 8 years it was getting too slow. Services were moved to the NUC. At the end, I had extended the homelab with Nextcloud, PiHole, Domoticz, and OpenVPN. This really felt like coming back home because I was administrating a Linux server again. That was actually my first job as a System Administrator in the university library in Banja Luka (BiH). Also, Kodi got replaced by Volumio on a RPi 3 where I added a HiFiBerry for better audio output.</p>

<p>My smarthome started to grow organically. I was not only attaching Z-Wave devices as in the beginning but adding WIFI devices with Tasmota, Zigbee lights, and Vacuum Cleaner with Valetudo. I needed something more flexible than Domoticz, which had problems catching up with all the new devices. So I decided to migrate to Homeassistant, for the first time introducing a Docker container in my homelab. Around the same time, I also installed Writefreely, to serve this blog. With this, I reached <code>moxnet v1.0</code>.</p>

<h2 id="one-simple-yes-brought-it-all-down">One simple “yes” brought it all down</h2>

<p>Then this summer came, and I thought it makes sense to update the base server to Debian 13. I did the steps to update everything... but everything broke down 😖. The problem was not Debian, it was the dependency hell I landed in as Nextcloud needed to be updated as well, then this clashed with the installed PHP version. Zigbee stick started loosing connection... so after a couple of days of implementing workarounds, I decided it&#39;s time to start over.</p>

<p>The idea was to do a fresh base install of Debian 13 and rebuild everything using Docker in order to isolate dependencies. Getting stuff up initially wasn&#39;t that intensive, but stabilizing everything took longer than expected.
Architecture is now cleaner, and I think I am done with it for the next 5 years. Long live <code>moxnet v2.0</code> 🥳.</p>

<pre><code>Internet
   │
Pi-hole + WireGuard
   │
Debian NUC
   ├─ Caddy (public access)
   ├─ Fail2ban (security)
   └─ Docker
       ├─ Nextcloud
       ├─ WriteFreely
       ├─ Immich
       ├─ Jellyfin
       ├─ KitchenOwl
       ├─ FreshRSS
       └─ Home Assistant
   │
DAS RAID1 (storage)
   │
Monit + mdadm (monitoring)
   │
Borgmatic
   ├─ Synology
   └─ Hetzner
</code></pre>

<p>Keep on hacking!</p>
]]></content:encoded>
      <guid>https://moxnet.eu/braindump/evolution-of-my-homelab</guid>
      <pubDate>Wed, 07 Oct 2026 11:39:10 +0000</pubDate>
    </item>
  </channel>
</rss>