- FediMeteo adalah layanan informasi cuaca global yang berawal dari VPS FreeBSD seharga 4 euro, dan secara otomatis memposting cuaca tiap kota melalui Fediverse
- Tiap negara dikelola secara terpisah dengan FreeBSD jail, mengambil data memakai perangkat lunak snac dan Open-Meteo API, lalu mempublikasikannya dalam format Markdown
- Sistem ini memperbarui otomatis setiap 6 jam, mendukung 39 jail, 38 negara, 2937 kota, dan telah tumbuh hingga memiliki lebih dari 7700 pengikut
- Berbagai masalah operasional sempat terjadi, seperti kebocoran API key, kesalahan perhitungan koordinat, dan masalah terjemahan bahasa, namun sistem menjadi stabil setelah peningkatan caching dan dukungan multibahasa
- Ini dinilai sebagai contoh bahwa bahkan dengan infrastruktur berbiaya rendah, layanan global yang efisien dan otonom tetap bisa dibangun
Gambaran proyek
- FediMeteo adalah layanan notifikasi cuaca otomatis berbasis Fediverse yang bermula dari ketertarikan pribadi
- Pembuatnya memulai proyek ini karena ingin melihat cuaca kotanya langsung di timeline
- Layanan ini membuat akun per kota (bot) dan secara berkala memposting cuaca masing-masing kota
- FreeBSD dipilih sebagai sistem operasi, dan jail dipisahkan per negara demi kemudahan pengelolaan serta keamanan
- Pengujian awal dilakukan di VPS di Jerman, dan kini layanan berjalan di VPS 4 euro di Milan, Italia
Prinsip desain
- Pemisahan instance per negara untuk memperkuat pengelolaan dan keamanan, serta memungkinkan pemindahan individual bila diperlukan
- Sumber data dipilih antara wttr.in dan Open-Meteo, dengan penekanan pada keterbukaan sumber dan keandalan
- Peningkatan aksesibilitas: bahasa lokal, kompatibilitas dengan browser teks, penggunaan emoji, dan tanpa ketergantungan pada JavaScript
- Mempertahankan struktur komponen kecil yang saling bekerja sama sesuai filosofi Unix
- Mengadopsi snac sebagai perangkat lunak inti, dengan dukungan ActivityPub, pembuatan RSS, penggunaan sumber daya rendah, dan waktu kompilasi cepat
Implementasi teknis
- Tiap jail berjalan secara independen, dan skrip Python mengambil data per kota lalu mengubahnya ke Markdown
- Menghitung koordinat dengan geopy lalu memanggil Open-Meteo API
- Mengirim posting melalui perintah
note milik snac, tanpa perlu pengelolaan API key eksternal
- Skrip post.sh menelusuri semua kota untuk membuat dan mempublikasikan posting secara otomatis
- cron dijalankan setiap 6 jam, dan status dipantau dengan Uptime-Kuma
- Nama kota dikelola lewat file (
cities.txt), dan kota baru otomatis tercermin saat ditambahkan
Pertumbuhan dan respons
- Awalnya diuji dengan fokus pada Italia, lalu diperluas ke berbagai negara di Eropa
- Setelah FediFollows memperkenalkan proyek ini, jumlah pengikut melonjak dan permintaan dari pengguna di berbagai negara meningkat
- Ditambahkan fitur dukungan multibahasa, ekspresi emoji, dan posting nonpublik (unlisted)
- Berkat umpan balik cepat dari komunitas pengembang, peningkatan fitur terus berlangsung
Ekspansi dan tantangan teknis
- Saat ekspansi global, muncul masalah seperti konversi satuan (Celsius/Fahrenheit), perbedaan zona waktu, dan pembedaan kota dengan nama yang sama
- Saat masuk ke Amerika Serikat dan Kanada, lebih dari 1200 kota ditambahkan, dan pemisah
__ digunakan untuk membedakan berdasarkan negara bagian
- Setelah menemui masalah batas gratis Open-Meteo API terlampaui, proyek ini kemudian mendapatkan API key khusus
- Berkat efisiensi FreeBSD dan snac, banyak negara tetap dapat dijalankan dalam satu VPS
Kinerja sistem dan infrastruktur
- Spesifikasi VPS: FreeBSD 14.3-RELEASE, dengan BastilleBSD untuk mengelola jail
- Total 39 jail, snapshot ZFS setiap 15 menit, dan backup eksternal dilakukan tiap jam
- Penggunaan RAM 501MB, sedikit meningkat saat pembaruan
- Rata-rata beban CPU di bawah 10%, naik hingga 70~75% saat pembaruan skala besar
- Instance Amerika Serikat memposting dengan jeda 5 detik antar kota, dan seluruh proses memakan waktu sekitar 2 setengah jam
Contoh penyelesaian masalah
- Kebocoran API key: terungkap karena kode debug, lalu segera diperbaiki dan key baru diterbitkan
- Error geopy: saat respons Nominatim gagal, masalah diatasi dengan memperkenalkan caching koordinat
- Masalah bahasa: diperbaiki untuk kasus terjemahan multibahasa yang hilang dan pemilihan bahasa lokal yang keliru
Status saat ini (per Desember 2025)
- Negara yang didukung: 38 negara, jumlah kota 2937
- Jumlah pengikut di Fediverse lebih dari 7707, sementara jumlah pelanggan RSS tidak dapat diperkirakan
- Mencakup kota-kota utama di Eropa, Amerika Utara, Asia, dan Oseania
- Sistem beroperasi stabil, dan masih ada ruang untuk ekspansi ke negara tambahan
Kesimpulan
- FediMeteo membuktikan bahwa layanan global dapat dibangun bahkan dengan infrastruktur berbiaya rendah
- Ini merupakan contoh nilai dari kedaulatan data, struktur sederhana, dan kolaborasi open source
- Sang pembuat menekankan bahwa melalui proyek ini, cuaca telah menjadi medium sosial yang menghubungkan orang-orang
1 komentar
Komentar Hacker News
Sangat menyenangkan melihat proyek kecil seperti ini bertumbuh dengan sukses
FreeBSD terasa memiliki lebih sedikit hal yang tidak perlu dan latensi lebih rendah dibanding distro Linux
Saya menyiapkan VM FreeBSD seharga $4 per bulan di Vultr (1GB RAM, 1vCPU), dan bahkan saat menjalankan Caddy, penggunaan RAM hanya 12%
Dengan VM 4GB RAM, 4vCPU, rasanya bisa menangani trafik yang cukup besar
Saya ingin membuat blog pribadi sebagai webapp berbasis teks bergaya BBS retro — kombinasi server multithread Nim + sqlite, dijalankan di FreeBSD sebagai satu biner 4MB tanpa container atau library JS
Tulisan ini membuat saya makin yakin untuk beralih ke FreeBSD
Hari ini saya mengujinya dengan mkosi(https://github.com/systemd/mkosi); untuk instalasi minimal, Fedora 43 memakai sekitar 130MiB RAM, Debian sekitar 100MiB
Waktu dulu mencoba instalasi minimal FreeBSD, setahu saya hasilnya mirip, atau sedikit lebih tinggi tergantung konfigurasi ZFS
Mungkin transisi ke x64 adalah salah satu penyebabnya
Menarik bahwa untuk melakukan hal yang sama kini RAM yang dipakai jadi dua kali lipat, tetapi sebagai gantinya sekarang kita praktis punya RAM tak terbatas
Bahkan login SSH terasa jauh lebih cepat daripada Ubuntu, dan manajer paket apk juga sangat gesit
Saya lebih suka model lisensi GNU, tetapi untuk kodenya sendiri saya lebih menyukai gaya BSD
Jika yang kedua, FlaskBB mungkin layak dilihat
Saya juga sedang membuat sistem prakiraan selancar pribadi dengan open-meteo
Memang hanya mencakup satu wilayah, tetapi mudah diperluas
Saya menggabungkan data laut dari open-meteo dengan prakiraan cuaca jangka pendek dan panjang, lalu memakai LLM untuk mengubah data kuantitatif menjadi penjelasan kualitatif
Pada dasarnya ini mengotomatiskan apa yang biasa saya lakukan di kepala
Kalau ada ide, saya senang mendengarnya
https://surfrash.xyz/
Saya suka antarmuka yang berfokus pada penjelasan alih-alih dinding data
Saya juga ingin meminta penambahan wilayah Manly (NSW, Australia)
Seru untuk dibaca
Andai dulu saat muda saya lebih tertarik pada *BSD, tetapi sekarang saya sudah terlalu terbiasa dengan Linux sehingga sulit pindah begitu saja
Berkat ZFS dan fitur jail, pengelolaannya tampak menjadi mulus
Saya memakai podman, tetapi di Linux saya belum pernah mencoba ZFS
Saya berencana membuat arsip pribadi, jadi saya ingin memanfaatkan deduplication ZFS
Saya sedang berusaha mengurangi stack rumit seperti Docker, dan walau ada systemd, konsep jail atau sandbox terasa cukup menarik
Saya lebih suka alat yang bekerja baik hanya dengan konfigurasi bawaan
Spesifikasi “VPS 4 euro” itu mengejutkan
Misalnya, VPS termurah Hetzner punya 2 vCPU, 4GB RAM, 40GB NVMe SSD, tetapi tidak ada koneksi 1Gb/s
Yang termurah yang saya temukan adalah Contabo
Server murah sering kali memakai generasi lama atau dibagi terlalu agresif
4 vCPU bisa saja lebih lambat daripada 2 vCPU di server yang lebih baru
Namun, jika aplikasinya berfokus pada RAM, itu bisa menjadi pilihan yang bagus
Ada yang bilang sulit mendapatkan instance, tetapi saya sudah memakainya dengan baik selama lebih dari 2 tahun
Karena akun gratis bisa dihentikan, lebih aman beralih ke paket berbayar
Menyenangkan melihat orang membangun proyek sederhana sendiri tanpa infrastruktur raksasa (Kubernetes, AWS, DynamoDB, dll.)
Hacker News sendiri juga berjalan di server FreeBSD 4-core
Tautan terkait
Saya juga membeli server dengan spesifikasi serupa seharga sekitar $5
Ada penyimpanan 400~500GB, dan awalnya dimulai dengan promo $8 selama 3 bulan
Setelah itu akan beralih menjadi $5 per bulan, dan kesenangan serta rasa tenggelam dalam mengelola VPS sendiri cukup besar
OVH murah dan punya keunggulan kebijakan egress tak terbatas
Dukungan Upcloud juga sangat baik
Saya juga mendengar tips bahwa untuk dukungan OVH, lebih baik bertanya lewat Twitter atau Discord
Proses membandingkan harga server dan kualitas dukungan untuk mencari kombinasi terbaik itu sendiri menyenangkan
Saya pernah memikirkan ide membeli domain bernama “freeofcharge.org”, lalu menyediakan layanan gratis yang muat di dalam RAM sebagai subdomain
Konsepnya adalah mengumpulkan layanan berguna yang bisa dijalankan dengan biaya di bawah $10 per bulan
Saya juga ingin membuat alat serupa yang mengubah peringatan cuaca untuk wilayah tertentu menjadi HTML/Markdown yang mudah dibaca
Bukan untuk fediverse, hanya untuk notifikasi cuaca yang mudah diakses
Terkait pendapat bahwa “prakiraan harus disediakan dalam bahasa lokal”,
saya rasa tidak perlu menimpa pengaturan bahasa default browser karena banyak juga pengguna yang tidak memahami bahasa setempat
Sebagai gantinya, proyek ini memberi ekspresi intuitif lewat emoji untuk mengurangi hambatan bahasa