FOSS Warn with Self-Hosted ntfy

Marvin Beckers

March 13, 2026

Categorized as selfhosted

FOSS Warn is an open source app for Android (and Linux) that doesn’t rely on Google Play services to notify you about emergency alerts sent out to the population by authorities. I primarily use it as a replacement for the German NINA app.

Since version 1.0, FOSS Warn relies on UnifiedPush (UP) providers to handle push notifications. UnifiedPush is a relatively niche standard in the FOSS community for push notifications not handled by Google or Apple relays. I happen to host my own ntfy instance already to handle Prometheus alerts.

When FOSS Warn updated to version 1.0, I couldn’t get notifications to work. It would always fail with a somewhat cryptic error in the “Notification Self Check” flow at the “Test subscription and notifications” stage that my UP provider was not available to use. The exact error was:

Something went wrong. Can not subscribe. Please try again later. The server responded with RegisterAreaError: Your push service is invalid or not reachable. Please check your push notification server.

Turns out, I had my ntfy instance configured with authentication, and had this in my configuration:

auth-default-access: "deny-all"

As such, no anonymous access to my ntfy instance is possible, which hopefully prevents abuse. But it appears that there is no way in FOSS Warn to pass authentication information to the public alert server that registers with the UnifiedPush service (my ntfy instance, in that case).

How to Fix

The solution was to make the specific topic used by FOSS Warn available without authentication. Thankfully, this self-check page (and the “Troubleshoot notifications” menu entry) prints the full ntfy endpoint, which includes the topic. The format displayed looks something like https://<ntfy endpoint>/<ntfy topic>?up=1.

The topic is a random string and as such already kind of secret information that besides your FOSS Warn app and the alerts server, no one should be aware of to abuse.

Use the topic to set up unauthenticated access via an access control list (ACL). This can be done via configuration file or ad-hoc via the CLI. I haven’t migrated my instance to declarative configuration files for ACLs yet, so I ran:

ntfy access '*' <topic> rw

After doing this, FOSS Warn started working after another self-check and I was able to register places to receive notifications for.

2024 Roundup

Marvin Beckers

December 30, 2024

Categorized as community and CNCF

As I’m sitting on a train back from the very last conference of the yearpurely as an attendee, thankfully., I’m writing this post to reflect on 2024. It’s been a pretty long year with lots of professional and personal developments and it’s the time of year to reflect on it.

I’ve recently been accepted as an Ambassador for the Cloud Native Computing Foundation, which I am absolutely thrilled about it. Seriously, there are less than 300 people worldwide that can call themselves that. Being recognized as a community voice lets the imposter syndrome kick in really hard. But I’m incredibly grateful for the opportunity.

All of this got me thinking: How did I get here?

I started working with Kubernetes in early 2018. The interview was for a local Linux sysadmin job – exactly the kind of position for a Linux nerd running Gentoo at home. In the interview I was asked if I had used docker-compose before and maybe heard of “Kubernetes”. At that time Kubernetes 1.0 had been released less than three years ago, so I was in luck – There was no expectation of having worked with it before. In hindsight, it was incredible that a small local MSP was already running Kubernetes for its customers.

I’ve since long left my first Kubernetes job, but this year saw me returning to the very same meeting room that my interview took place in – To host the local meetup group we started this year. In a way, it felt like the Ouroboros biting its own tail (yes, I absolutely had to Google that, so here’s a link). A foregone conclusion, somehow. The community around Kubernetes and its ecosystem has exponentionally grown since my first working day. We’ve been able to fill that room to the brim with people. Where there were two talking about Kubernetes, there were now many.

Working that first job I was yearning for the “big leagues” – as you do when you’re young and impatient. At the time, there were two “Kubernetes companies” in Germany, and I dreamt about them. Today, I work for one of them. It’s easy to lose yourself in the day to day work of your job, but I have to remind myself once in a while that this was my dream job – and frankly speaking, still is.

Being a CNCF Ambassador is a big milestone in my personal development. If you knew me in high school, you’d never imagine seeing me on a public stage, talking to strangers at a conference. Describing this as stepping outside my comfort zone would be a tremendous understatement. And yet, it somehow worked.

My public speaking activites started only last year, at Cloud Native Rejekts in Amsterdam. And let me tell you, it was terrifying. I did not sleep the night before. Without the chance to attend a previous KubeCon I didn’t know what to expect, COVID had destroyed my chance to attend the “original” Amsterdam KubeCon in 2020. But the cloud native community at Rejekts and KubeCon last year showed me how welcoming it is. Some amazing people approached me, told me I looked a little lost (damn right I did, because I was) and started engaging with me. I’m not sure if they even remember doing that but it meant the world to me in that moment. So, thank you, kind community folks!

All things considered the year 2024 has been pretty crazy for me. My plans for 2025 are stepping up my role as CNCF Ambassador in public speaking and our local meetup community. kcp is starting to build some momentum as a community project, which feels extremely gratifying, and I hope to continue contributing to its success in the coming year.

One last thing though – 2024 has been a great year for me personally, but let’s be honest, the world has been moving fast under our feet and in many ways not in the right direction. 2025 will likely be less kind, less certain, less factual. It is our collective responsibility to keep our communities and those around us safe. A little compassion will go a long way.