<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Christoph Baier</title>
    <description>The latest articles on DEV Community by Christoph Baier (@christoph_baier).</description>
    <link>https://dev.to/christoph_baier</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4054607%2F4bdaccca-76f5-4cc6-98c3-85dce012d400.jpeg</url>
      <title>DEV Community: Christoph Baier</title>
      <link>https://dev.to/christoph_baier</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/christoph_baier"/>
    <language>en</language>
    <item>
      <title>Open-Source Self-Hosting Platform Comparison</title>
      <dc:creator>Christoph Baier</dc:creator>
      <pubDate>Sat, 08 Aug 2026 09:51:22 +0000</pubDate>
      <link>https://dev.to/christoph_baier/open-source-self-hosting-platform-comparison-24kj</link>
      <guid>https://dev.to/christoph_baier/open-source-self-hosting-platform-comparison-24kj</guid>
      <description>&lt;p&gt;When I tell people I'm working on a solution to make self-hosting open-source software easier, I often get asked: "How does your solution differ from solution X?" Instead of explaining the differences from scratch each time, I created an overview article covering the existing self-hosting platforms and how they differ. The selected platforms had to be open source and aim to make self-hosting apps easier through an opinionated deployment and maintenance model that reduces complexity.&lt;/p&gt;

&lt;p&gt;The article compares:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Quollix&lt;/li&gt;
&lt;li&gt; FreedomBox&amp;nbsp;&lt;/li&gt;
&lt;li&gt; YunoHost&amp;nbsp;&lt;/li&gt;
&lt;li&gt; Runtipi&amp;nbsp;&lt;/li&gt;
&lt;li&gt; StartOS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some of the dimensions covered are:&lt;br&gt;
 -  installation and host model&lt;br&gt;
 -  app package format&lt;br&gt;
 -  custom app integration&lt;br&gt;
 -  backup and restore behavior&lt;br&gt;
 -  identity and access management&lt;br&gt;
 -  certificate handling&lt;/p&gt;

&lt;p&gt;The full comparison is published on the Quollix website, where the larger comparison tables are easier to read and keep up to date: &lt;a href="https://quollix.org/docs/introduction/comparison/" rel="noopener noreferrer"&gt;https://quollix.org/docs/introduction/comparison/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>linux</category>
    </item>
    <item>
      <title>Why Is Self-Hosting Still So Hard?</title>
      <dc:creator>Christoph Baier</dc:creator>
      <pubDate>Sun, 02 Aug 2026 11:36:40 +0000</pubDate>
      <link>https://dev.to/christoph_baier/why-is-self-hosting-still-so-hard-3i8</link>
      <guid>https://dev.to/christoph_baier/why-is-self-hosting-still-so-hard-3i8</guid>
      <description>&lt;p&gt;Professionally, I work as a software developer. I also value privacy, which is why I decided to host my own open-source services at home. While I had some system administration experience, this was my first serious self-hosting project at this scale. I assumed getting a few services running would be straightforward. But I underestimated what I was actually signing up for.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Experienced
&lt;/h2&gt;

&lt;p&gt;I bought a cheap little server for my home, installed Linux, and set up Docker. No problem. I had done all of that countless times before. Then I deployed a few Docker stacks: a wiki, Nextcloud, and a handful of other services.&lt;/p&gt;

&lt;p&gt;Next, I needed a reverse proxy, TLS certificates, and because my ISP assigned me a dynamic IP address, I also needed Dynamic DNS. To obtain certificates using the HTTP-01 challenge via Let's Encrypt, I also had to expose parts of my home network to the Internet. I wasn't particularly happy about that, but at the time I didn't really see another option.&lt;/p&gt;

&lt;p&gt;Backups were next. I wrote backup scripts, recovery scripts, and, of course, tested them. Weeks later, when a hard drive actually failed, the hardware wasn't the problem. I had a replacement. The difficult part was remembering everything around it. Docker Compose files, scheduled jobs, reverse proxy configuration, and all the little details that had accumulated over time.&lt;/p&gt;

&lt;p&gt;Then I wanted single sign-on. That meant setting up Keycloak, refreshing my memory on OpenID Connect, reading the integration documentation for every application and searching for the parts that fit my use case. Every new service followed the same pattern: read the documentation, configure networking, configure authentication, update the backup scripts, update the recovery procedure, test everything.&lt;/p&gt;

&lt;p&gt;Eventually, after all that work, I had the system I originally wanted. I could sit back and enjoy my privacy-respecting services. Then the updates started. My approach was simple: just pull the latest Docker images every night. Surely the applications would take care of compatibility, right? Wrong. Breaking changes happened and apps suddenly required a service with an older version. Sometimes I found compatibility matrices, sometimes I had to read release notes, and sometimes I simply had to test upgrades myself to ensure stability.&lt;/p&gt;

&lt;p&gt;At some point I noticed that I wasn't spending my time using my services anymore. I was maintaining the infrastructure around them. My scripts kept growing, my notes became longer, and every so often, I had to reload all this knowledge into my head because some component required attention again. What had started as an exciting weekend project had slowly become a responsibility.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Actually Wanted
&lt;/h2&gt;

&lt;p&gt;That experience changed how I thought about self-hosting. I also realized I wasn't the only one facing this problem. The technologies weren't the problem. I already knew them. What I had underestimated was how much operational work accumulates around a self-hosted system over time.&lt;/p&gt;

&lt;p&gt;What I really wanted was a system that minimized the time spent maintaining infrastructure. Simple design reduces the need to read documentation, opinionated defaults simplify installation, and automation replaces repetitive maintenance.&lt;/p&gt;

&lt;p&gt;That idea eventually became Quollix, an open-source project that aims to make self-hosting easier. You can find the project at &lt;a href="https://quollix.org/" rel="noopener noreferrer"&gt;quollix.org&lt;/a&gt;. I'd appreciate hearing what you think about the idea behind Quollix. Feedback and constructive criticism are always welcome.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>docker</category>
      <category>linux</category>
    </item>
  </channel>
</rss>
