<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>bella.network Blog</title><link>https://blog.bella.network/</link><description>Recent content on bella.network Blog</description><language>en-us</language><copyright>Thomas Bella</copyright><lastBuildDate>Sun, 01 Mar 2026 15:05:00 +0100</lastBuildDate><atom:link href="https://blog.bella.network/feed.xml" rel="self" type="application/rss+xml"/><item><title>Speeding up APT with GoAPTCacher</title><link>https://blog.bella.network/speeding-up-apt-with-goaptcacher/</link><pubDate>Sun, 01 Mar 2026 15:05:00 +0100</pubDate><guid>https://blog.bella.network/speeding-up-apt-with-goaptcacher/</guid><description>In CI/CD pipelines and on isolated networks, apt performance often tanks because every build fetches the same packages over the WAN - sometimes from flaky mirrors. GoAPTCacher solves this with a pull-through cache: requested artifacts are stored locally and served from disk on subsequent requests. You keep your normal repository layout and package signatures; clients don&amp;rsquo;t need vendor-specific tooling. 🚀
This post explains what GoAPTCacher does, how the request flow works, when HTTPS interception makes sense (and when it&amp;rsquo;s a bad idea), and how to roll it out without shooting yourself in the foot. 😅</description><category>Sysadmin</category><category>DevOps</category><category>Networking</category><media:content url="https://blog.bella.network/speeding-up-apt-with-goaptcacher/mr-cup-fabien-barral.jpg" medium="image"/><enclosure url="https://blog.bella.network/speeding-up-apt-with-goaptcacher/mr-cup-fabien-barral.jpg" length="0" type="image/*"/></item><item><title>Protecting Self-Hosted Apps with PassBeyond: A SAML SSO Reverse Proxy</title><link>https://blog.bella.network/securing-web-applications-with-passbeyond/</link><pubDate>Sun, 30 Nov 2025 12:43:00 +0100</pubDate><guid>https://blog.bella.network/securing-web-applications-with-passbeyond/</guid><description>Self-hosted web applications are everywhere - from homelabs to critical internal tools - but many of them were never designed for modern SSO. With the proliferation of self-hosted applications, managing user authentication can become a complex task. Enter PassBeyond, a lightweight SAML Service Provider designed to act as a reverse proxy, enabling Single Sign-On (SSO) for your web applications without the need for extensive code changes or additional portals.
My problem In my home lab and at work I run a lot of web applications: dashboards, admin tools, monitoring, password managers, wiki, storage, you name it. Most of them are &amp;ldquo;classic&amp;rdquo; self-hosted apps that were never designed to speak modern SAML or OIDC - if they support authentication at all, it&amp;rsquo;s usually local users or some basic LDAP integration if you&amp;rsquo;re lucky.</description><category>Security</category><category>Sysadmin</category><category>DevOps</category><media:content url="https://blog.bella.network/securing-web-applications-with-passbeyond/pexels-padrinan-2882659.jpg" medium="image"/><enclosure url="https://blog.bella.network/securing-web-applications-with-passbeyond/pexels-padrinan-2882659.jpg" length="0" type="image/*"/></item><item><title>Introduction: Self-hosted services</title><link>https://blog.bella.network/introduction-selfhosted-services/</link><pubDate>Wed, 01 Oct 2025 08:50:00 +0200</pubDate><guid>https://blog.bella.network/introduction-selfhosted-services/</guid><description>In my homelab, I run a variety of services that I and my family use almost daily. Some of these services are used for private purposes, others are shared with friends and work colleagues, for learning or development purposes. Most of these services run in Docker containers on a Proxmox VE host. A few services run directly on the host operating system or on virtual machines.
This page is a follow-up to Homelab Page on my personal website and gives a concise overview of the services I run and why.
In the following article I want to give a short overview of the services I run and use. Every service serves a specific purpose and helps me to manage my digital life more effectively. Select the tools and services that best fit your needs and preferences.</description><category>Sysadmin</category><media:content url="https://blog.bella.network/introduction-selfhosted-services/pexels-panumas-nikhomkhai-1148820.jpg" medium="image"/><enclosure url="https://blog.bella.network/introduction-selfhosted-services/pexels-panumas-nikhomkhai-1148820.jpg" length="0" type="image/*"/></item><item><title>Personal Man-in-the-Middle</title><link>https://blog.bella.network/personal-man-in-the-middle/</link><pubDate>Sun, 21 Sep 2025 10:00:00 +0200</pubDate><guid>https://blog.bella.network/personal-man-in-the-middle/</guid><description>More and more products are &amp;ldquo;smart&amp;rdquo; - or trying to be, with always-on mobile app connections to the cloud. Yet many apps expose no API and send your telemetry or health metrics straight to their cloud. Even after politely asking the vendor, you may be offered neither an API nor a data export, often citing &amp;ldquo;internal business secrets&amp;rdquo;.
That raised two questions for me: What sensitive data is my phone actually sending about me that qualifies as a &amp;ldquo;business secret&amp;rdquo;? And how can I automatically capture my own copy of that data in my database, redact sensitive fields in transit (e.g., names, email, precise location) before they ever leave my phone?</description><category>Sysadmin</category><media:content url="https://blog.bella.network/personal-man-in-the-middle/noellegracephotos-906018.jpg" medium="image"/><enclosure url="https://blog.bella.network/personal-man-in-the-middle/noellegracephotos-906018.jpg" length="0" type="image/*"/></item><item><title>Basic Web, Mail, and DNS Configuration</title><link>https://blog.bella.network/basic-web-mail-and-dns-config/</link><pubDate>Sat, 13 Sep 2025 07:00:00 +0200</pubDate><guid>https://blog.bella.network/basic-web-mail-and-dns-config/</guid><description>All services on the internet provide a variety of functionalities and features to enhance user experience. Due to ever-growing possibilities and new configuration options, I summarize general concepts and best practices on this page. The goal is to not only secure or extend existing systems, but also to give some hints to some not so well known functions and performance improvements. These configurations are not exhaustive and should be adapted to your specific needs and environment. It also does not only reflect public services, but also include recommended settings for internal domains and services in home and business networks.</description><category>Sysadmin</category><media:content url="https://blog.bella.network/basic-web-mail-and-dns-config/glasses-1052010_1920.jpg" medium="image"/><enclosure url="https://blog.bella.network/basic-web-mail-and-dns-config/glasses-1052010_1920.jpg" length="0" type="image/*"/></item><item><title>Dynamic routing using FRR over WireGuard</title><link>https://blog.bella.network/internal-bgp-with-wireguard/</link><pubDate>Sun, 21 Jul 2024 20:38:50 +0200</pubDate><guid>https://blog.bella.network/internal-bgp-with-wireguard/</guid><description>Public IPv4 addresses are becoming less and less available, IPv6 addresses will still not be widespread or dynamically assigned to end customers in 2024 and many applications still communicate with each other unencrypted today.
A wide variety of technologies and methods can be used to securely connect different networks. I would like to present one such approach here:
Dynamic site to site networking using WireGuard and BGP
Why should I do this? There are many different reasons to use these technologies:</description><category>Network</category><media:content url="https://blog.bella.network/internal-bgp-with-wireguard/thomas-jensen-UrtxBX5i5SE-unsplash.jpg" medium="image"/><enclosure url="https://blog.bella.network/internal-bgp-with-wireguard/thomas-jensen-UrtxBX5i5SE-unsplash.jpg" length="0" type="image/*"/></item><item><title>Services and timer using systemd</title><link>https://blog.bella.network/systemd-services/</link><pubDate>Sun, 21 Jul 2024 12:00:00 +0200</pubDate><guid>https://blog.bella.network/systemd-services/</guid><description>Some Linux based systems like Debian and Ubuntu are using systemd as init daemon. That means that initially after loading the kernel, systemd is the first program which is started on the system which in result starts all other components of the system. Such service can be compared with Windows Services, where a service can be defined to run at start, run at specified intervals and use a specific user when executed.</description><category>Sysadmin</category><media:content url="https://blog.bella.network/systemd-services/pen-5146200_1280.jpg" medium="image"/><enclosure url="https://blog.bella.network/systemd-services/pen-5146200_1280.jpg" length="0" type="image/*"/></item><item><title>Monitor borgbackup with checkmk local check</title><link>https://blog.bella.network/monitor-borgbackup-with-checkmk/</link><pubDate>Tue, 03 Jan 2023 16:11:00 +0100</pubDate><guid>https://blog.bella.network/monitor-borgbackup-with-checkmk/</guid><description>Just recently I deleted a folder in Syncthing which I did not want to delete. Since I had set up an hourly incremental backup of Syncthing some time ago, I wanted to use it to restore the deleted data.
Unfortunately I had to notice that the automatic backup did not work anymore since more than half a year because the SSH connection to the backup server was blocked by a firewall change.</description><category>Sysadmin</category><media:content url="https://blog.bella.network/monitor-borgbackup-with-checkmk/checkmk-entry.png" medium="image"/><enclosure url="https://blog.bella.network/monitor-borgbackup-with-checkmk/checkmk-entry.png" length="0" type="image/*"/></item><item><title>LACP with Cisco IOS and Debian</title><link>https://blog.bella.network/lacp-with-ios-and-debian/</link><pubDate>Mon, 27 Jun 2022 19:20:00 +0200</pubDate><guid>https://blog.bella.network/lacp-with-ios-and-debian/</guid><description>I just bought a new switch for my homelab, a Cisco Catalyst 2960-X Series (WS-C2960X-48TD-L), and wanted to configure IEEE 802.3ad Link Aggregation Policy and LACP to bundle 4 existing ethernet ports of my HP Proliant DL360p G8 to be connected to the switch. I am running Proxmox 7 on my servers, but after upgrading from Proxmox 6 to 7 I encountered problems with LACP causing no link at all.</description><category>Network</category><media:content url="https://blog.bella.network/lacp-with-ios-and-debian/network-ga9afdfe80_1920.jpg" medium="image"/><enclosure url="https://blog.bella.network/lacp-with-ios-and-debian/network-ga9afdfe80_1920.jpg" length="0" type="image/*"/></item><item><title>Internal ACME server</title><link>https://blog.bella.network/internal-acme-server/</link><pubDate>Sat, 18 Jun 2022 20:27:00 +0200</pubDate><guid>https://blog.bella.network/internal-acme-server/</guid><description>Let&amp;rsquo;s Encrypt was instrumental in driving the uptake of the encrypted web. Not only by providing free certificates, but also by providing a simple way to get validated and trusted certificates automatically. In addition, renewal of these certificates can be automated without any human interaction.
For these automations, the Automatic Certificate Management Environment - short ACME - protocol was created. Tools and programs like certbot, acme.sh, Caddy and Traefik use it to issue certificates.</description><category>Sysadmin</category><media:content url="https://blog.bella.network/internal-acme-server/pexels-george-becker-333837.jpg" medium="image"/><enclosure url="https://blog.bella.network/internal-acme-server/pexels-george-becker-333837.jpg" length="0" type="image/*"/></item><item><title>WireGuard, a fast and secure VPN</title><link>https://blog.bella.network/wireguard-tunnel/</link><pubDate>Wed, 08 Dec 2021 11:00:00 +0100</pubDate><guid>https://blog.bella.network/wireguard-tunnel/</guid><description>I liked to use OpenVPN to allow my servers to communicate securely with each other and to enable communication with my home network. However, I had increasing problems with stability and latency with OpenVPN, what made me looking for an alternative.
WireGuard is a relatively new VPN technology, developed with a focus on security, speed and simplicity. In 2020 Linux 5.6 was released, where WireGuard was built directly into the kernel. This allows better performance to be achieved than with other technologies like OpenVPN, IPSec, &amp;hellip;. Due to the comparatively small amount of code of WireGuard, audits can be carried out more efficiently.</description><category>Network</category><media:content url="https://blog.bella.network/wireguard-tunnel/erlend-ekseth-0a5VbkqqFFE-unsplash.jpg" medium="image"/><enclosure url="https://blog.bella.network/wireguard-tunnel/erlend-ekseth-0a5VbkqqFFE-unsplash.jpg" length="0" type="image/*"/></item><item><title>Backups using Borgbackup</title><link>https://blog.bella.network/backups-using-borgbackup/</link><pubDate>Tue, 20 Jul 2021 14:00:00 +0200</pubDate><guid>https://blog.bella.network/backups-using-borgbackup/</guid><description>After installing a server and securing the operating system, I like to set up backup as early as possible. This prevents me from forgetting to create a backup at a later point in time or from losing previous configurations while setting things up.
For the sake of simplicity, I will refer to a system that creates backups and transfers them to another system as a &amp;ldquo;client&amp;rdquo; in this article. The central system on which the backups are stored is the &amp;ldquo;server&amp;rdquo;.</description><category>Sysadmin</category><media:content url="https://blog.bella.network/backups-using-borgbackup/pexels-azamat-esenaliev-117729.jpg" medium="image"/><enclosure url="https://blog.bella.network/backups-using-borgbackup/pexels-azamat-esenaliev-117729.jpg" length="0" type="image/*"/></item><item><title>Create a dummy file</title><link>https://blog.bella.network/create-dummy-file/</link><pubDate>Fri, 07 May 2021 12:00:00 +0200</pubDate><guid>https://blog.bella.network/create-dummy-file/</guid><description>Ever wanted to create dummy files to test if your configured quota works as expected or to have a reason to buy a new disk?
Here is your way to go.
Windows You can create a dummy file using fsutil where the created file is filled with zeros. If you have compression in place, this file will not consume a big amount of space.
To create the file, you can use the following command within cmd or PowerShell:</description><category>Sysadmin</category><media:content url="https://blog.bella.network/create-dummy-file/pexels-pixabay-357514.jpg" medium="image"/><enclosure url="https://blog.bella.network/create-dummy-file/pexels-pixabay-357514.jpg" length="0" type="image/*"/></item><item><title>Hello World</title><link>https://blog.bella.network/hello-world/</link><pubDate>Sun, 14 Feb 2021 16:00:00 +0100</pubDate><guid>https://blog.bella.network/hello-world/</guid><description>Hello and welcome to my new blog.
I&amp;rsquo;ve been planning to post in a blog again for some time. I will update individual articles from my previous blog and transfer them to this blog, with which I will then shut down the previous blog. By the way, this page is generated with Hugo, whereby I have this page generated with GitLab CI. - Blog post about this topic will follow ;-)</description><category>Personal</category><media:content url="https://blog.bella.network/hello-world/pexels-tyler-lastovich-699122.jpg" medium="image"/><enclosure url="https://blog.bella.network/hello-world/pexels-tyler-lastovich-699122.jpg" length="0" type="image/*"/></item></channel></rss>