Pada lab ini saya mencoba memanfaatkan STB B860H sebagai mini server dengan menggunakan Armbian.
Salah satu aplikasi yang saya jalankan adalah Uptime Kuma, yang saya deploy menggunakan Docker. Untuk penyimpanan data, saya menggunakan microSD sehingga data Uptime Kuma tidak bergantung pada filesystem container.
Target dari setup ini cukup sederhana, yaitu membuat Uptime Kuma berjalan dan bisa diakses melalui:
http://192.168.50.1:3001
Network Interface yang digunakan:
eth0 = 192.168.50.1/29
wlan0 = 192.168.1.167/24
docker0 = 172.17.0.1/16
Hardware dan Software yang Dibutuhkan
Hardware yang digunakan:
- STB B860H
- microSD
Software yang digunakan:
- Armbian Server
- Docker
- Uptime Kuma
Persiapan Storage Uptime Kuma
Pada STB B860H, saya menggunakan microSD sebagai storage untuk data Uptime Kuma.
Pembagian storage yang digunakan:
/data = /dev/mmcblk1p1
/dev/mmcblk2 = eMMC
eMMC tidak diformat pada setup ini.
Selanjutnya, saya membuat direktori untuk menyimpan data Uptime Kuma:
mkdir -p /data/uptime-kuma
Direktori ini merupakan data uptime kuma yang nantinya akan di-bind mount ke /app/data di dalam container.
Instalasi Docker di Armbian Server
Pada Armbian, Docker dapat dipasang melalui armbian-config. Untuk instalasi melalui CLI saya menggunakan:
armbian-config --api module_docker install
Perintah tersebut merupakan metode instalasi Docker yang disediakan Armbian.
Setelah proses instalasi selesai, saya melakukan pengecekan versi Docker dengan command berikut:
docker --version
Command tersebut digunakan untuk memastikan Docker sudah terpasang sekaligus melihat versi Docker yang tersedia pada sistem.
Menjalankan Container Uptime Kuma
Container Uptime Kuma dibuat dengan konfigurasi berikut:
docker run -d \
--name uptime-kuma \
--restart=unless-stopped \
-p 3001:3001 \
-v /data/uptime-kuma:/app/data \
louislam/uptime-kuma:2
Port 3001 digunakan untuk mengakses web interface Uptime Kuma, sedangkan bind mount memastikan data aplikasi disimpan pada /data/uptime-kuma.
Verifikasi Container Uptime Kuma
Setelah container dibuat, saya mengecek statusnya:
docker ps
Dari hasil tersebut, yang perlu diperhatikan adalah container uptime-kuma dan mapping port 0.0.0.0:3001->3001/tcp, seperti pada gambar berikut.
Saya juga mengecek direktori data:
du -sh /data/uptime-kuma
Pada hasil praktik, direktori tersebut berukuran:
Untuk memastikan bind mount sesuai konfigurasi, saya menggunakan:
docker inspect uptime-kuma --format '{{range .Mounts}}{{.Source}} -> {{.Destination}}{{end}}'
Hasilnya:
/data/uptime-kuma -> /app/data
Jadi mapping storage sudah sesuai dengan konfigurasi yang direncanakan.
Akses Uptime Kuma melalui Browser
Setelah container berjalan, Uptime Kuma dapat diakses menggunakan IP eth0 pada STB B860H:
http://192.168.50.1:3001
Pada proses awal, Uptime Kuma menampilkan halaman setup database. Pada tahap ini saya memilih SQLite karena proses setup-nya sederhana dan tidak membutuhkan database server tambahan.
Pada lab ini saya berhasil menjadikan STB B860H + Armbian Server sebagai mini server untuk menjalankan Uptime Kuma menggunakan Docker. Uptime Kuma sudah dapat diakses melalui web dan siap digunakan untuk memonitor service, server, maupun network appliance yang ada di jaringan.