- 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.