Mengubah STB Bekas Menjadi 'Ultimate Developer Home Server' (Armbian + Caddy + AdGuard + Gatus)

Dec 4, 2025

4 min read

Kebutuhan akan lingkungan development yang stabil, hemat daya, namun powerful sangatlah penting. Seringkali kita berpikir butuh server mahal atau VPS cloud berbayar. Padahal, STB bekas (Amlogic S905X) yang saya beli murah dari Shopee (karena sering dianggap sampah elektronik) bisa diubah menjadi mesin tempur yang luar biasa.

Artikel ini mendokumentasikan perjalanan saya membangun Home Server yang bersih, aman, dan terintegrasi penuh dengan workflow Windows & VS Code.

Armbian: OS ringan berbasis Debian untuk perangkat ARM (Sumber: Armbian)

1. The Clean Slate: Optimasi & Efisiensi Ekstrem

Tantangan terbesar STB adalah RAM (2GB) dan Penyimpanan Internal (8GB) yang terbatas. Awalnya, server ini menjalankan stack tradisional (Nginx, MariaDB, PHP) yang memakan RAM hingga 83%.

Solusi: Saya melakukan Purge Total. Saya menghapus semua layanan berat dan menggantinya dengan aplikasi berbasis Go (Golang) yang jauh lebih ringan.

  • Hasil: Penggunaan RAM turun drastis menjadi ~15% (280MB) saat idle.
  • Storage: Internal storage kembali lega (65% free) setelah memindahkan aplikasi berat ke SSD.

2. Manajemen Storage: SSD sebagai Jantung Data

Mengandalkan internal storage STB untuk data adalah bunuh diri. Saya memanfaatkan SSD Eksternal 220GB bekas dari PC lama yang sudah tidak terpakai sebagai pusat data.

Tantangan: SSD USB sering gagal di-mount otomatis saat booting karena masalah timing hardware. Solusi: Saya menggunakan skrip rc.local dengan delay 10 detik untuk memastikan SSD siap sebelum sistem mencoba mengaksesnya.

# /etc/rc.local
sleep 10
mount /dev/sda2 /mnt/data_ssd
systemctl restart caddy
systemctl restart AdGuardHome

Selain itu, saya mengaktifkan Samba (SMB). Hasilnya? SSD di STB muncul sebagai Network Drive (Z:) di laptop Windows saya. Saya bisa drag-and-drop file proyek langsung dari Windows Explorer.


3. Infrastruktur Web Modern dengan Caddy

Alih-alih Nginx yang konfigurasinya panjang, saya beralih ke Caddy Web Server.

Caddy: Web Server modern dengan HTTPS otomatis (Sumber: Caddy)
  • Landing Page: Halaman depan (/) menampilkan animasi partikel yang elegan.
  • Reverse Proxy: Caddy bertugas sebagai “Polisi Lalu Lintas” yang mengatur akses ke berbagai aplikasi melalui satu pintu (Port 80):
    • /files → FileBrowser (Manajemen File).
    • :8081 → AdGuard Home (DNS Blocker).
    • :8082 → Gatus (Monitoring).
    • /siteLive Preview proyek dari SSD.

Konfigurasi Caddyfile disimpan di SSD dan di-symlink ke sistem, memudahkan backup dan edit.


4. Keamanan Jaringan: AdGuard Home

Untuk melindungi seluruh jaringan rumah dari iklan dan pelacak (tracker), saya menginstal AdGuard Home.

Dashboard AdGuard Home yang memblokir iklan di level DNS (Sumber: AdGuard)
  • Custom Filtering: Saya menambahkan blocklist khusus Indonesia (ABPindo) dan filter anti-judi untuk membersihkan internet dari konten sampah.
  • Integrasi: Berjalan di port 3000, namun diakses rapi melalui Reverse Proxy port 8081.

Hasilnya? nslookup doubleclick.net menghasilkan 0.0.0.0. Iklan musnah sebelum masuk ke browser.


5. Monitoring Sistem: Gatus

Server tanpa monitoring itu seperti menyetir dengan mata tertutup. Saya memilih Gatus, dashboard monitoring yang ditulis dengan Go.

Gatus: Dashboard monitoring yang simpel dan elegan (Sumber: Gatus)

Karena binary ARM64 resmi belum tersedia, saya melakukan Build from Source langsung di STB (menggunakan SSD sebagai bengkel kerja agar internal tidak penuh).

Dashboard Gatus kini memantau kesehatan server 24/7: koneksi internet, status website, dan ketersediaan layanan lokal.


6. The Developer Experience (DX)

Ini adalah bagian favorit saya. Bagaimana cara saya bekerja dengan server ini?

  1. Coding: Menggunakan VS Code di laptop dengan ekstensi Remote - SSH. Saya mengedit kode, menjalankan terminal, dan Git langsung di dalam STB.
    Arsitektur VS Code Remote SSH (Sumber: Visual Studio Code Docs)
  2. Live Reload: Folder proyek di SSD (Z:\project-web) terhubung langsung ke Caddy. Saya edit file di Windows, simpan, dan perubahan langsung terlihat di web browser (http://IP-STB/site).
  3. Backup Otomatis: Skrip Bash sederhana berjalan setiap minggu, mem-backup seluruh konfigurasi vital ke SSD.

Kesimpulan

Dengan konfigurasi yang tepat, perangkat murah meriah bisa menjadi aset berharga. STB Armbian ini sekarang bukan lagi “bekas Android Box”, melainkan Server Produksi Skala Rumahan yang mendukung produktivitas saya sebagai developer setiap hari.

Spesifikasi Akhir:

  • OS: Armbian (Linux Kernel 6.6)
  • Services: Caddy, AdGuard Home, Gatus, FileBrowser, Samba.
  • Security: Fail2Ban & UFW Firewall.
  • Network: Wi-Fi Connection (Tanpa kabel LAN).
  • Resource Usage: CPU Idle, RAM ~18%.
Romi Muharom