2 Punkte von GN⁺ 2025-12-31 | 1 Kommentare | Auf WhatsApp teilen
  • FediMeteo ist ein weltweiter Wetterinformationsdienst, der auf einem 4-Euro-FreeBSD-VPS begann und über das Fediverse automatisch das Wetter für einzelne Städte veröffentlicht
  • Jedes Land wird in einem FreeBSD jail getrennt verwaltet; die Daten werden mit der Software snac und der Open-Meteo API abgerufen und im Markdown-Format veröffentlicht
  • Das System wird alle 6 Stunden automatisch aktualisiert, unterstützt 39 jails, 2937 Städte in 38 Ländern und ist auf mehr als 7700 Follower gewachsen
  • Es gab verschiedene betriebliche Probleme wie geleakte API-Schlüssel, Fehler bei der Koordinatenberechnung und Probleme bei Sprachübersetzungen, die jedoch durch Caching und Verbesserungen bei der Mehrsprachigkeit stabilisiert wurden
  • Das Projekt gilt als Beispiel dafür, dass sich auch mit kostengünstiger Infrastruktur effiziente und autonome globale Dienste aufbauen lassen

Projektüberblick

  • FediMeteo ist ein automatischer Wetterbenachrichtigungsdienst auf Fediverse-Basis, der aus persönlichem Interesse entstanden ist
    • Der Entwickler begann mit dem Wunsch, das Wetter seiner eigenen Stadt direkt in der Timeline zu sehen
    • Der Dienst erstellt Konten (Bots) pro Stadt und veröffentlicht regelmäßig das Wetter jeder Stadt
  • Als Betriebssystem wurde FreeBSD gewählt; pro Land werden jails getrennt verwaltet, um Verwaltung und Sicherheit zu verbessern
  • Die ersten Tests liefen auf einem VPS in Deutschland, derzeit wird der Dienst auf einem 4-Euro-VPS in Mailand, Italien betrieben

Designprinzipien

  • Trennung der Instanzen nach Ländern stärkt Verwaltung und Sicherheit und erlaubt bei Bedarf eine individuelle Migration
  • Als Datenquelle stehen wttr.in und Open-Meteo zur Wahl, mit Fokus auf Open-Source-Freundlichkeit und Zuverlässigkeit
  • Bessere Zugänglichkeit: lokale Sprachen, Kompatibilität mit Textbrowsern, Emoji-Nutzung und keine Abhängigkeit von JavaScript
  • Gemäß der Unix-Philosophie bleibt die Struktur aus kleinen, zusammenarbeitenden Komponenten erhalten
  • Als Kernsoftware wurde snac gewählt; sie unterstützt ActivityPub, erzeugt RSS, benötigt wenig Ressourcen und kompiliert schnell

Technische Umsetzung

  • Jedes jail arbeitet unabhängig; ein Python-Skript ruft die Daten für jede Stadt ab und wandelt sie in Markdown um
    • Koordinaten werden mit geopy berechnet, danach wird die Open-Meteo API aufgerufen
    • Beiträge werden mit dem note-Befehl von snac versendet, ohne dass ein externes API-Key-Management nötig ist
  • Das Skript post.sh durchläuft alle Städte und erzeugt sowie veröffentlicht Beiträge automatisch
    • cron führt es alle 6 Stunden aus, Uptime-Kuma überwacht den Status
  • Stadtnamen werden in einer Datei (cities.txt) verwaltet; neue Städte werden beim Hinzufügen automatisch berücksichtigt

Wachstum und Reaktionen

  • Zunächst wurde mit Fokus auf Italien getestet, danach erfolgte die Ausweitung auf europäische Länder
  • Nachdem FediFollows das Projekt vorgestellt hatte, stieg die Zahl der Follower sprunghaft an und die Nutzeranfragen aus verschiedenen Ländern nahmen zu
  • Ergänzt wurden Mehrsprachigkeit, Emoji-Darstellung und die Funktion für nicht gelistete Beiträge (unlisted)
  • Durch schnelles Feedback aus der Entwickler-Community wurden Funktionen kontinuierlich verbessert

Erweiterung und technische Herausforderungen

  • Bei der globalen Ausweitung traten Probleme auf wie Einheitenumrechnung (Celsius/Fahrenheit), Zeitzonenunterschiede und die Unterscheidung gleichnamiger Städte
  • Mit dem Start in den USA und Kanada kamen mehr als 1200 Städte hinzu; zur Unterscheidung nach Bundesstaaten wurde das Trennzeichen __ verwendet
  • Nach Überschreitung des Limits der kostenlosen Open-Meteo-API wurde ein dedizierter API-Schlüssel bereitgestellt
  • Dank der Effizienz von FreeBSD und snac können selbst auf einem einzelnen VPS viele Länder betrieben werden

Systemleistung und Infrastruktur

  • VPS-Spezifikation: FreeBSD 14.3-RELEASE, Verwaltung der jails mit BastilleBSD
    • Insgesamt 39 jails, ZFS-Snapshots alle 15 Minuten, externe Backups stündlich
    • RAM-Nutzung 501 MB, bei Updates etwas höher
  • Durchschnittliche CPU-Last unter 10 %, bei großen Updates Anstieg auf 70–75 %
  • Die US-Instanz veröffentlicht mit einem Abstand von 5 Sekunden zwischen den Städten; die komplette Verarbeitung dauert rund zweieinhalb Stunden

Beispiele für Problemlösungen

  • API-Schlüssel-Leak: durch Debug-Code offengelegt, sofort behoben und ein neuer Schlüssel ausgestellt
  • geopy-Fehler: durch Einführung von Koordinaten-Caching behoben, wenn Nominatim-Antworten ausfielen
  • Sprachprobleme: fehlende Übersetzungen und falsche Auswahl lokaler Sprachen wurden korrigiert

Aktueller Stand (Stand: Dezember 2025)

  • Unterstützte Länder: 38, Anzahl der Städte: 2937
  • Mehr als 7707 Follower im Fediverse; die Zahl der RSS-Abonnenten ist nicht abschätzbar
  • Enthält wichtige Städte in Europa, Nordamerika, Asien und Ozeanien
  • Das System läuft stabil und bietet Spielraum für eine Ausweitung auf weitere Länder

Fazit

  • FediMeteo belegt, dass sich auch mit kostengünstiger Infrastruktur globale Dienste aufbauen lassen
  • Das Projekt zeigt den Wert von Datensouveränität, einfacher Struktur und Open-Source-Zusammenarbeit
  • Der Entwickler betont, dass das Projekt gezeigt habe, wie das Wetter zu einem sozialen Bindeglied zwischen Menschen werden kann

1 Kommentare

 
GN⁺ 2025-12-31
Hacker-News-Kommentare
  • Es ist wirklich schön zu sehen, wie solche kleinen Projekte erfolgreich wachsen.
    Ich habe das Gefühl, dass FreeBSD im Vergleich zu Linux-Distributionen weniger Ballast und geringere Latenzen hat.
    Ich habe bei Vultr eine FreeBSD-VM für 4 Dollar im Monat eingerichtet (1 GB RAM, 1 vCPU), und selbst mit Caddy liegt die RAM-Nutzung nur bei 12 %.
    Mit einer VM mit 4 GB RAM und 4 vCPU sollte sich wohl ziemlich viel Traffic bewältigen lassen.
    Ich möchte meinen persönlichen Blog als textbasierte Web-App im Retro-BBS-Stil bauen — eine Kombination aus Nim-Multithread-Server + sqlite, die auf FreeBSD als einzelne 4-MB-Binärdatei ohne Container oder JS-Bibliotheken läuft.
    Dieser Beitrag hat mich in meinem Entschluss bestärkt, auf FreeBSD zu setzen.

    • Bei Linux hängt es von Distribution und Konfiguration ab.
      Ich habe heute mit mkosi(https://github.com/systemd/mkosi) getestet: Bei einer Minimalinstallation nutzt Fedora 43 ungefähr 130 MiB RAM, Debian etwa 100 MiB.
      Als ich früher eine FreeBSD-Minimalinstallation ausprobiert habe, war es ähnlich oder je nach ZFS-Konfiguration etwas mehr.
    • Ich erinnere mich, dass Linux vor 20 Jahren nur halb so viele Ressourcen gebraucht hat wie heute.
      Wahrscheinlich ist der Umstieg auf x64 einer der Gründe.
      Es war schon bemerkenswert, plötzlich doppelt so viel RAM für dieselbe Aufgabe zu brauchen, aber dafür hat man heute praktisch unbegrenzt RAM zur Verfügung.
    • Es gibt auch leichte Distributionen wie Alpine.
      Selbst der SSH-Login ist deutlich schneller als bei Ubuntu, und auch der Paketmanager apk ist sehr flott.
    • BSD-Utilities sind viel leichter zu lesen als GNU-Utilities, wenn man verstehen will, wie sie intern funktionieren.
      Beim Lizenzmodell bevorzuge ich zwar GNU, aber der BSD-Stil gefällt mir beim Code selbst besser.
    • Bei „retro BBS-like web app“ frage ich mich, ob damit alte Dial-up-BBS gemeint sind oder eher ein forenartiges Schwarzes Brett.
      Falls Letzteres gemeint ist, könnte FlaskBB einen Blick wert sein.
  • Ich baue ebenfalls mit open-meteo ein persönliches Surfvorhersage-System.
    Es deckt nur eine Region ab, lässt sich aber leicht erweitern.
    Ich kombiniere die Ozeandaten von open-meteo mit kurz- und langfristigen Wettervorhersagen und lasse das Ergebnis von einem LLM quantitative Daten in qualitative Beschreibungen umwandeln.
    Im Grunde automatisiert das, was ich sonst im Kopf gemacht habe.
    Wenn jemand Ideen hat, würde ich mich freuen.
    https://surfrash.xyz/

    • Sehr cool. Das dürfte für jeden Strand nützlich sein.
      Mir gefällt die erklärungsorientierte Oberfläche statt einer Datenwand.
      Ich würde mir auch die Region Manly (NSW, Australien) wünschen.
  • Hat Spaß gemacht zu lesen.
    Ich wünschte, ich hätte mich in jüngeren Jahren stärker für *BSD interessiert, aber inzwischen bin ich zu sehr an Linux gewöhnt, um leicht zu wechseln.
    Dank ZFS und den Jail-Funktionen scheint die Verwaltung sehr reibungslos zu laufen.
    Ich nutze zwar podman, habe ZFS unter Linux aber noch nicht ausprobiert.
    Ich plane ein persönliches Archiv und möchte dafür die Deduplizierung von ZFS nutzen.

    • Geht mir genauso.
      Ich versuche ebenfalls, komplexe Stacks wie Docker zu reduzieren, und obwohl es systemd gibt, finde ich das Jail- oder Sandbox-Konzept ziemlich attraktiv.
      Ich bevorzuge Tools, die schon mit den Standardeinstellungen gut funktionieren.
  • Die Spezifikationen dieser „4-Euro-VPS“ sind erstaunlich.
    Zum Beispiel hat die günstigste VPS von Hetzner 2 vCPU, 4 GB RAM und 40 GB NVMe-SSD, aber keine 1-Gb/s-Anbindung.
    Das Günstigste, das ich gefunden habe, war Contabo.

    • LowEndBox ist eine beliebte Seite, die solche VPS-Angebote sammelt.
    • Netcup VPS 500 G11s ist ebenfalls einen Blick wert.
    • Man sollte bei VPS-Anbietern auf Vergleiche der vCPU-Leistung achten.
      Billige Server sind oft älter oder stark überbucht.
      4 vCPU können langsamer sein als 2 vCPU auf einem modernen Server.
      Für RAM-lastige Anwendungen kann das aber trotzdem eine gute Wahl sein.
    • Oracle Cloud bietet kostenlos 4 oCPU (ARM), 24 GB RAM, 200 GB NVMe-SSD und 4 Gb/s Bandbreite.
      Man hört zwar, dass Instanzen schwer zu bekommen sind, aber ich nutze das seit über zwei Jahren problemlos.
      Es ist sicherer, auf ein kostenpflichtiges Konto umzusteigen, da kostenlose Accounts beendet werden können.
    • Früher hatte ich bei buyvm eine VPS für 5 Dollar pro Jahr (256 MB RAM), und für einfache Zwecke war das ziemlich nützlich.
  • Es ist schön zu sehen, wie jemand einfache Projekte selbst aufbaut, statt auf riesige Infrastruktur wie Kubernetes, AWS oder DynamoDB zu setzen.

  • Auch Hacker News selbst läuft auf einem FreeBSD-Server mit 4 Kernen.
    Zugehöriger Link

    • Tatsächlich handelt es sich um 2 CPU-Pakete × 4 Kerne × 2 Threads, also insgesamt 16 Threads.
    • Trotzdem sind es dedizierte Kerne, die nicht mit anderen Tenants geteilt werden.
  • Ich habe ebenfalls einen Server mit ähnlichen Spezifikationen für etwa 5 Dollar gekauft.
    Er hat 400–500 GB Speicher und begann mit einer 8-Dollar-Promo für drei Monate.
    Danach soll er auf 5 Dollar pro Monat umgestellt werden, und eine VPS selbst zu betreiben macht erstaunlich viel Spaß und zieht einen richtig hinein.
    OVH ist preiswert und punktet mit einer unbegrenzten Egress-Richtlinie.
    Auch Upcloud hatte ein großartiges Support-Team.
    Ich habe außerdem den Tipp gehört, den OVH-Support besser über Twitter oder Discord zu kontaktieren.
    Schon der Prozess, Serverpreise und Supportqualität zu vergleichen und zu optimieren, macht Spaß.

  • Ich hatte einmal die Idee, die Domain „freeofcharge.org“ zu kaufen und darunter per Subdomain kostenlose Dienste, die in den RAM passen, anzubieten.
    Das Konzept war, nützliche Dienste zu sammeln, die sich für unter 10 Dollar im Monat betreiben lassen.

  • Ich möchte auch etwas Ähnliches bauen, nämlich ein Tool, das Unwetterwarnungen für bestimmte Regionen in gut lesbares HTML/Markdown umwandelt.
    Nicht für das Fediverse, sondern einfach als leicht zugängliche Wetterwarnung.

  • Zur Meinung, dass „Vorhersagen in der lokalen Sprache angeboten werden sollten“:
    Da es viele Nutzer gibt, die die lokale Sprache nicht sprechen, halte ich es für unnötig, die Standardspracheinstellung des Browsers zu überschreiben.

    • Das Ziel des Projekts ist nicht Mehrsprachigkeit, sondern die direkte Zustellung der Vorhersage an die Nutzer.
      Stattdessen bietet es intuitive Ausdrücke mit Emojis, um Sprachbarrieren zu verringern.