Homeserver: Glances and Home Assistant for Monitoring

Now that I have a minimal home server running, I thought it would be good idea to monitor temperature, disk usage and such. The simplest solution that I found was to use Glances and use Home Assistant to store and display the data. ...

April 30, 2025 · 2 min · 242 words · Andreas Happe

Homeserver: Creating local Proton Drive/Mail Backups

By now, I am using Proton Drive for cloud data storage and Proton Mail as my primary mail service. While I trust Proton with my data, I do not want to rely on them completely. As I have a small server standing around at home, it’s kinda obvious to use it for automatically performing backups of my cloud data. I try to use systemd services and timers for this, as this makes monitoring and logging quite easy. This blog post mostly serves as a reminder for me, but maybe it helps someone else as well. ...

April 27, 2025 · 8 min · 1616 words · Andreas Happe

Homeserver: Services Pt. 1

I am running a home server for a while now. I have been using it to host some services that I use regularly. In this post, I will share my experience with some of the services I have set up on my home server. This initial post will go over local git hosting using gitea, audiobook streaming using audiobookshelf and a self-hosted RSS reader using tt-rss. ...

April 9, 2025 · 6 min · 1239 words · Andreas Happe

Using tailscale on Fedora Silverblue

I am using Fedora Silverblue as one of my main desktops. Recently, I’ve been moving some services to a server behind tailscale but was still using its local IP address when at home at my Silverblue desktop. While doable, using an IP-address with an invalid HTTPS certificate wasn’t that pretty — so why not just access it through tailscale even within the same network, it’s an overlay network overall (so it should do a direct connection between my desktop and the home-server). ...

April 7, 2025 · 1 min · 175 words · Andreas Happe

Building a little home-server with Linux, TailScale, ProtonVPN, Docker Compose and VM support

I’ve been using a mini-computer as home-server for the last couple of years. Originally, I used it to share files between my computers, but over time more and more services (like RSS-readers, media-libraries, home automation, etc.) were moved on that surprisingly capable mini-server. I’ve grown up using Linux (well, I was already 16 when Linux became available around here, but you get the gist) so it always felt natural to me to just just use a minimal Linux installation (debian) instead of using some NAS that supports add-on third-party software. ...

April 5, 2025 · 13 min · 2615 words · Andreas Happe

LangGraph: Adding Plan-and-Execute Planner

Adding Plan-and-Execute Planner All sources can be found in our github history. When using LLMs for complex tasks like hacking, a common problem is that they become hyper-focused upon a single attack vector and ignore all others. They go down a “depth-first” rabbit hole and never leave it. This was experienced by me and others. Plan-and-Execute Pattern One potential solution is the ‘plan-and-solve’-pattern (often also named ‘plan-and-execute’-pattern). in this strategy, one LLM (the planner) is given the task of creating a high-level task plan based upon the user-given objective. The task plan is processed by another LLM module (the agent or executor). Basically, the next step from the task plan is taken and forwarded to the executer to solve within in a limited number of steps or time. ...

October 14, 2024 · 8 min · 1607 words · Andreas Happe

LangGraph: Simplify our Tool-Calling Agent through `create_react_agent`

Simplify our Tool-Calling Agent through create_react_agent LangGraph has some amazing Prebuilt Components, one of them is the create_react_agent function that allows you to hughely simplify creating new tool-using agents. The full source code can be found within our github history. The simplified version This willb e based upon our recent configuration-improved version. Similar to that version, we start by reading the configuration data, setting up our LLM, connecting to the target system via SSH, and configuring tools for usage through LLMs: ...

October 12, 2024 · 2 min · 309 words · Andreas Happe

LangGraph: Improving Configuration Handling, esp. for Tools

Improving Configuration Handling, esp. for Tools While being quite happy that the initial prototype worked within hours, its code was very prototype-y, i.e., much of its configuration was hard-coded. In a second step, we want to fix this by making our target information (the SSH connection) configurable and remove all hard-coded credentials from the code. Big Picture We are already using python-dotenv for some of our configuration so it makes sense to further utilize this for more configuration data. In the improved implementation, our .env will look like this: ...

October 11, 2024 · 5 min · 920 words · Andreas Happe

Work/Life Balance, pt. 3: Scheduling Work

The first parts of this series were about getting more done while at work as well as making it easier to switch from work into leisure mode. Both have a rather bottom-up feeling to them. In contrast, this post will be top-down: investigating my scheduling habits and trying to get them to a point where they actually protect myself from over-scheduling too much work. My Scheduling Habits thus far After years or trying different todo and task applications, I’ve settled upon a rather simplistic approach: simple markdown todo lists versioned through git. Mostly I use this for reminders, things that I need to do for work and, leisure activities such as reminding me to go do some yoga. ...

November 11, 2023 · 6 min · 1261 words · Andreas Happe

Work/Life Balance, pt. 2: Separation and Blurry Lines

While the initial experiment focused upon productivity, the main goal of this series is to improve my work/life balance. Getting more productive should just allow me to switch from work to leisure earlier. Currently I have access to my university office, so I have a nice geographical separation between Work/“The Office” and “Everything Else”. So basically I want to keep work at the Office and leisure (mostly) outside of it: getting out of the office to recover while keeping distractions out of the office to let me get out of it faster. This is primarily about the office space, my coworkers are actually part of my recovery activities such as climbing. If I wouldn’t have access to the university office anymore I would have to get some shared office space. ...

October 28, 2023 · 4 min · 744 words · Andreas Happe