Kalau kamu sering pakai Speedtest.net untuk cek kecepatan internet, mungkin pernah bertanya-tanya: “Bisa nggak sih bikin server Speedtest sendiri?”
Jawabannya: bisa banget!
Dengan membuat Speedtest Server sendiri, kamu bisa:
- Melakukan pengujian jaringan internal.
- Memberikan endpoint Speedtest untuk pelanggan.
- Monitoring performa koneksi internet secara real-time.
Persyaratan Server
Sebelum memulai, siapkan:
Spesifikasi minimum:
- CPU: 2 core
- RAM: 8 GB
- Storage: Setidaknya ada sisa ruang 1Gb atau lebih.
- IP Publik Statis
Koneksi internet:
- Minimal 1 Gbps jika ingin server ditampilkan di daftar publik Speedtest.net.
Port yang perlu dibuka di firewall:
- TCP: 80, 443, 5060, 8080, 8081, 5065
- UDP: 5060, 8080, 8081, 5065
Persiapan
Update & upgrade.
sudo apt update && sudo apt upgrade -y
Pointing Domain
Tambahkan domain A record ke IP Server/VPS/VM seperti dibawah ini, sesuaikan.
speedtest.lab.warscloud.com. A 103.82.92.25
Instalasi
Gunakan user non-root untuk melakukan instalasi dan konfigurasi.
Buat directory ookla-speedtest
, sesuaikan.
mkdir ~/ookla-speedtest
Pindah ke dalam directory yang telah dibuat.
cd ~/ookla-speedtest
Download installer script.
wget https://install.speedtest.net/ooklaserver/ooklaserver.sh
Berikan izin untuk melakukan execute/menjalankan script.
chmod a+x ooklaserver.sh
Jalankan script.
./ooklaserver.sh install
Akan muncul output dan pertanyaan seperti berikut.
fariz@speedtest:~/ookla-speedtest$ ./ooklaserver.sh install
Server Platform is linux-x86_64-static-musl
This will install the Ookla server for linux-x86_64-static-musl to the current folder. Please confirm (y/n) > y
Checking Directory Structure
Downloading Server Files
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4529k 100 4529k 0 0 4084k 0 0:00:01 0:00:01 --:--:-- 4088k
Extracting Server Files
OoklaServer
OoklaServer.properties.default
Starting OoklaServer
Daemon Started (696)
NOTE:
We strongly recommend following instructions at
https://support.ookla.com/hc/en-us/articles/234578588-Linux-Startup-Script-Options
to ensure your daemon starts automatically when the system reboots
Konfigurasi
Lakukan konfigurasi dengan cara mengedit file OoklaServer.properties
, namun sebelum melakukan editing file sebaiknya kita lakukan backup/salin terlebihdahulu file original nya.
cp OoklaServer.properties OoklaServer.properties.bak
Edit file OoklaServer.properties
.
nano OoklaServer.properties
Agar SSL aktif uncomment (hilangkan tanda pagar) baris berikut.
# OoklaServer.ssl.useLetsEncrypt = true
Sehingga menjadi seperti berikut.
# Enable Let's Encrypt certificate generation (default)
#
OoklaServer.ssl.useLetsEncrypt = true
Membatasi akses server Speedtest hanya dari domain *.ookla.com
, *.speedtest.net
.
Uncomment (hilangkan tanda pagar) baris berikut.
# OoklaServer.allowedDomains = *.ookla.com, *.speedtest.net
Sehingga menjadi seperti berikut.
# OoklaServer.allowedDomains allows you to limit access to your OoklaServer.
#
# The default ("*") allows all domains access.
# Uncomment to allow access from ookla.com, speedtest.net, and simply add your
# own domain(s):
#
OoklaServer.allowedDomains = *.ookla.com, *.speedtest.net
Izinkan Ookla Server Untuk Melakukan Auto-Update.
Uncomment (hilangkan tanda pagar) baris berikut.
# OoklaServer.enableAutoUpdate = true
Sehingga menjadi seperti berikut.
# Enable auto updates (default)
#
OoklaServer.enableAutoUpdate = true
Simpan dan keluar CTRL+X.
Muat ulang konfigurasi.
./OoklaServer restart
Akan terdapat output seperti berikut.
fariz@speedtest:~/ookla-speedtest$ ./OoklaServer restart
Loaded config file: /home/fariz/ookla-speedtest/OoklaServer.properties
2025-08-09 01:47:09 [779 - 0] [Information] OoklaServer version 2.11 (2.11.1.2) build number 2024-02-13.1456.91c4f93
2025-08-09 01:47:09 [779 - 0] [Information] OoklaServer instance ID 65ac3715-875d-402c-9ccf-b75c1090a1e1
Auto Start On Startup
Agar service Speedtest Server otomatis berjalan pada saat mesin reboot lakukan langkah berikut.
Pastikan sudah terinstall cron
, jika belum install terlebihdahulu.
sudo apt install cron -y
Gunakan user non-root.
Buat crontab seperti berikut.
crontab -e
Jika muncul pertanyaan seperti berikut pilih nomor 1.
fariz@speedtest:~/ookla-speedtest$ crontab -e
no crontab for fariz - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
Choose 1-3 [1]: 1
No modification made
Masukkan baris beriktu dipaling bawah.
#Auto start Speedtest Server
@reboot /home/fariz/ookla-speedtest/OoklaServer --daemon >> /home/fariz/ookla_server.log 2>&1
Sesuaikan path directory dengan nama user yang kamu gunakan.
Lakukan reboot.
sudo reboot now
Validasi Auto Start.
Ketikkan perintah berikut.
ss -tunlp
Jika Auto Start sudah berhasil akan muncul output seperti berikut, ditandai dengan Process users: OoklaServer
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 0.0.0.0:8080 0.0.0.0:* users:(("OoklaServer",pid=723,fd=14))
udp UNCONN 0 0 0.0.0.0:5060 0.0.0.0:* users:(("OoklaServer",pid=723,fd=8))
udp UNCONN 0 0 127.0.0.54:53 0.0.0.0:*
udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:*
udp UNCONN 0 0 10.115.95.97%ens3:68 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:5355 0.0.0.0:*
udp UNCONN 0 0 *:8080 *:* users:(("OoklaServer",pid=723,fd=15))
udp UNCONN 0 0 *:5060 *:* users:(("OoklaServer",pid=723,fd=9))
udp UNCONN 0 0 [::]:5355 [::]:*
tcp LISTEN 0 4096 127.0.0.54:53 0.0.0.0:*
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 4096 0.0.0.0:5355 0.0.0.0:*
tcp LISTEN 0 64 0.0.0.0:5060 0.0.0.0:* users:(("OoklaServer",pid=723,fd=4))
tcp LISTEN 0 20 127.0.0.1:25 0.0.0.0:*
tcp LISTEN 0 64 0.0.0.0:8080 0.0.0.0:* users:(("OoklaServer",pid=723,fd=6))
tcp LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
tcp LISTEN 0 128 [::]:22 [::]:*
tcp LISTEN 0 4096 [::]:5355 [::]:*
tcp LISTEN 0 20 [::1]:25 [::]:*
tcp LISTEN 0 64 [::]:5060 [::]:* users:(("OoklaServer",pid=723,fd=5))
tcp LISTEN 0 64 [::]:8080 [::]:* users:(("OoklaServer",pid=723,fd=7))
Lakukan Pengujian
Untuk melakukan pengujian apakah speedtest server yang telah kita buat sudah bisa berfungsi atau belum bisa kunjungin halaman resmi Ookla Berikut.
https://www.speedtest.net/host-tester
Masukkan nama domain dan diikuti dengan port 8080.

Abaikan untuk Failed IPv6 karena memang kita belum menggunakan IPv6 dan hanya IPv4.
Abaikan untuk Failed https karena nantinya https akan aktif saat speedtest server kita sudah di approve oleh ookla.

Daftar Akun Ookla
Pastikan kamu sudah mempunyai akun Ookla, jika belum silakan daftar terlebihdahulu Disini. Jika sudah mempunyai akun Ookla bisa melakukan skip bagian ini.
https://account.ookla.com/register/servers




Silakan cek dan verifikasi melalui email.
Register/Submit Speedtest Server
Login terlebihdahulu ke akun Ookla Disini.
https://account.ookla.com/login
Klik Go To Servers

Klik + Add Server

Untuk bagian berikut silakan disesuaikan, untuk City dan Region pastikan IP server terdeteksi sesuai dengan lokasi tersebut silakan bisa di cek Disini untuk Geolocation nya, nantinya lokasi tersebut yang akan muncul pada saat melakukan speedtest ke Speedtest Server yang telah kita buat.

Untuk Advanced Options bisa di skip, dan langsung klik Create.
Proses Submit/Register Speedtest Server Selesai.

Selanjutnya menunggu proses Approval dari tim internal Ookla kurang lebih selama 2 hari kerja.
Jika Speedtest Server sudah dilakukan reveiew oleh tim Ookla dan sudah mendapatkan approval status server Health akan berubah menjadi Functional.

Waktu approval dan Provisioning SSL mungkin tidak bersamaan, jika sudah mendapatkan informasi approval namun HTTPS belum aktif bisa ditunggu terlebihdahulu.
Berikut tampilan jika Speedtest Server sudah dilakukan Approve oleh tim Ookla dan akan muncul sebagai daftar host server publik yang bisa dilakukan uji kecepatan.

Perintah Management OoklaServer Daemon
Perintah berikut untuk melakukan start, stop, restart secara langsung.
./ooklaserver.sh start
./ooklaserver.sh stop
./ooklaserver.sh restart
Tips & Penutup
- Pastikan server punya uptime tinggi (99%+).
- Pastikan Geo Lokasi IP (yang ditambahkan sebagai domain record A) terbaca sesuai dengan lokasi yang di isi pada form saat Submit Karena tim Ookla akan memeriksa Geolocation IP tersebut menggunakan Maxmind.
- Gunakan monitoring seperti UptimeRobot atau Grafana untuk memantau performa.
- Kalau hanya untuk keperluan lab/testing internal, cukup gunakan mode private (tidak perlu submit ke Ookla).
Dengan langkah-langkah di atas, sekarang kamu sudah punya Speedtest Server sendiri! 🚀
Selamat mencoba, dan semoga koneksi internetmu selalu ngebut!
Tested On: Debian 12 (Bookworm)