{"id":124,"date":"2026-04-09T15:20:05","date_gmt":"2026-04-09T15:20:05","guid":{"rendered":"https:\/\/www.purple-liquid.com\/?p=124"},"modified":"2026-04-24T16:39:04","modified_gmt":"2026-04-24T16:39:04","slug":"repeatedly-blowing-up-a-homelab-with-komga","status":"publish","type":"post","link":"https:\/\/www.purple-liquid.com\/?p=124","title":{"rendered":"Repeatedly Blowing Up A Homelab With Komga"},"content":{"rendered":"\n<p>Komga, the comic book media server. I&#8217;ve had a ubooquity server for a long time. Very minimal, based entirely around file paths. It&#8217;s utilitarian but it has worked. And a lot of comics have been acquired over the years. But I wanted something better, something more modern. Something like Plex or Jellyfin but for comicbooks. So I went looking and found a couple of seemingly good contenders: Kavita and Komga.<br><\/p>\n\n\n\n<p>I tried Kavita first. It was easy to spin up in docker, sat happily alongside the other containers on a NAS, and was completely awful. The metadata was nonsensical at best. If I recall correctly, it had several dozen series called &#8217;01&#8217; because there were some folders with story arcs inside of them that plotted them out issue by issue (01, 02, 03, etc). It was just unusable.<\/p>\n\n\n\n<p>The I tried Komga. And it was actually the thing that convinced me to buy a second homelab PC. Because DNS was hosted on the Synology NAS. And Komga exploded. It was entirely my fault, of course. I didn&#8217;t set any resource limits and Komga was happy to eat all of my resources, starve the NAS and prevent anything else from running.<\/p>\n\n\n\n<p>The family noticed that the internet wasn&#8217;t working and it was pretty clear that the DNS server was gone, along with everything else hosted on the NAS. A hard reboot later, deleting the Komga container, and everything was back to normal.<\/p>\n\n\n\n<p>&#8216;Ok,&#8217; I thought to myself, &#8216;everything shouldn&#8217;t be on the same box. The NAS is happy doing NAS-y things and everything else should be on a different server.&#8217; So I got a cheap PC, loaded ProxMox on it and started migrating services. <\/p>\n\n\n\n<p>Learning nothing from my previous experience, I also used it as an excuse to migrte off of PiHole (on the NAS) to AdGuard (on the Proxmox). So now I have a critical service running alongside less important experiments. And I had the bright idea to try Komga again.<\/p>\n\n\n\n<p>After all, now I can carefully resource limit it in the LXC and just let it do its thing.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"522\" height=\"312\" src=\"https:\/\/www.purple-liquid.com\/wp-content\/uploads\/2026\/04\/Screenshot-2026-04-08-at-4.53.35-PM.png\" alt=\"\" class=\"wp-image-127\" srcset=\"https:\/\/www.purple-liquid.com\/wp-content\/uploads\/2026\/04\/Screenshot-2026-04-08-at-4.53.35-PM.png 522w, https:\/\/www.purple-liquid.com\/wp-content\/uploads\/2026\/04\/Screenshot-2026-04-08-at-4.53.35-PM-300x179.png 300w\" sizes=\"auto, (max-width: 522px) 100vw, 522px\" \/><\/figure>\n\n\n\n<p>It came up ok. I watched it go through three thousand-ish tasks of the hundred thousand it needed. <\/p>\n\n\n\n<p>Then I was getting ready for bed a noticed that DNS resolution was failing again. Sure enough, that Proxmox box was dead in the water. The logs are delightfully useless <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Apr 08 19:41:31 pve kernel: nvme 0000:02:00.0: PCIe Bus Error: severity=Correctable, type=Physical Layer, (>\nApr 08 19:41:31 pve kernel: nvme 0000:02:00.0:   device &#91;1344:5410] error status\/mask=00000041\/00002001\nApr 08 19:41:31 pve kernel: nvme 0000:02:00.0:    &#91; 6] BadTLP                \nApr 08 19:41:31 pve kernel: nvme 0000:02:00.0: AER:   Error of this Agent is reported first\nApr 08 19:44:59 pve pvedaemon&#91;1854846]: &lt;root@pam> successful auth for user 'root@pam'\n-- Boot 97eccfcfdb424beaa7a1e78f39f0360f --<\/code><\/pre>\n\n\n\n<p>And a hard reboot and removal of Komga brought it back online.<\/p>\n\n\n\n<p>So the lesson, which I refused to learn, is still relevant. Do not overload the box that has DNS running on it. And Komga does not like large collections.<\/p>\n\n\n\n<p>So next I think I&#8217;ll try seeing if AdGuard has an HA mode I could run with Raspberry Pi backup server and try to run Komga on its own on RaspPi itself. Something with no other service to starve.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Komga, the comic book media server. I&#8217;ve had a ubooquity server for a long time. Very minimal, based entirely around file paths. It&#8217;s utilitarian but it has worked. And a lot of comics have been acquired over the years. But I wanted something better, something more modern. Something like Plex or Jellyfin but for comicbooks. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":128,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[26,25,6],"class_list":["post-124","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-homelab","tag-komga","tag-proxmox"],"_links":{"self":[{"href":"https:\/\/www.purple-liquid.com\/index.php?rest_route=\/wp\/v2\/posts\/124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.purple-liquid.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.purple-liquid.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.purple-liquid.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.purple-liquid.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=124"}],"version-history":[{"count":3,"href":"https:\/\/www.purple-liquid.com\/index.php?rest_route=\/wp\/v2\/posts\/124\/revisions"}],"predecessor-version":[{"id":129,"href":"https:\/\/www.purple-liquid.com\/index.php?rest_route=\/wp\/v2\/posts\/124\/revisions\/129"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.purple-liquid.com\/index.php?rest_route=\/wp\/v2\/media\/128"}],"wp:attachment":[{"href":"https:\/\/www.purple-liquid.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.purple-liquid.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.purple-liquid.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}