2 Punkte von GN⁺ 2025-12-31 | Noch keine 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

Noch keine Kommentare.

Noch keine Kommentare.