Membuat Speedtest Server Ookla

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)