# Cara Install 9Router di VPS dengan Docker (Panduan Lengkap 2026)

- URL: https://komunitech.com/blog/tutorial/cara-install-9router-di-vps-dengan-docker-panduan-lengkap-2026/
- Diterbitkan: 2026-08-27
- Diperbarui: 2026-10-09
- Penulis: Priyo Harjiyono
- Penerbit: KomuniTech (https://komunitech.com)

---

**tl;dr:** 9Router bisa dipasang di VPS pakai Docker dalam satu perintah, jalan di **port 20128**, dan datanya aman selama kamu mount volume dengan benar. Spesifikasi minimum: **Ubuntu 22.04/24.04, 1 vCPU, RAM 2 GB**. Estimasi waktu 15-20 menit. Satu hal yang paling sering dilewatkan tutorial lain: **jangan pernah expose port 20128 langsung ke internet** — siapa pun yang menemukannya bisa memakai API key kamu, dan tagihannya jadi tanggunganmu.

9Router adalah AI Gateway yang menyambungkan tool coding kamu (Claude Code, Cursor, Cline, Codex, Copilot) ke banyak penyedia model AI lewat satu endpoint, lengkap dengan fallback otomatis saat kuota satu penyedia habis. Kalau kamu belum kenal cara kerjanya atau masih membandingkan dengan opsi lain, baca dulu [perbandingan OpenRouter vs 9Router](https://komunitech.com/blog/riset/openrouter-vs-9router-panduan-memilih-ai-gateway-router-2026/). Panduan ini fokus ke satu hal: memasangnya di VPS supaya bisa diakses dari mana saja.

## Kenapa Install di VPS, Bukan di Laptop

Secara default 9Router berjalan di localhost:20128 — artinya hanya bisa diakses dari komputer tempat ia dipasang. Untuk banyak orang, itu sudah cukup. VPS baru masuk akal kalau kamu menghadapi salah satu dari ini:

- **Butuh akses dari beberapa perangkat.** Laptop kantor, PC rumah, dan laptop cadangan memakai satu konfigurasi yang sama tanpa setup ulang.

- **Dipakai bersama tim kecil.** Satu gateway, beberapa developer, kuota provider terkelola terpusat.

- **Agent atau workflow harus jalan 24 jam.** Kalau otomasimu berjalan di server lain (misalnya n8n di VPS terpisah), endpoint localhost di laptopmu tidak akan bisa dijangkau.

- **Laptop sering mati atau berpindah jaringan.** Router yang mati ikut mematikan seluruh alur kerja.

[ANALISIS KOMUNITECH] Sebaliknya, **kamu tidak perlu VPS** kalau cuma pakai sendiri di satu mesin. Menambah VPS berarti menambah biaya bulanan dan satu komponen lagi yang harus kamu rawat — tanpa manfaat nyata kalau semua pekerjaan tetap terjadi di laptop yang sama. Jangan bayar server untuk masalah yang belum kamu punya.

## Realita Provider "Gratis" di 2026

Sebelum masuk teknis, satu hal yang perlu diluruskan karena banyak tutorial lama masih menjanjikannya: **klaim "AI coding gratis unlimited" sudah tidak seakurat dulu.** Beberapa jalur gratis yang populer sudah ditutup atau dibatasi.

[FAKTA] Menurut catatan resmi di repositori 9Router: free tier **iFlow, Qwen Code, dan Gemini CLI sudah dihentikan pada 2026**. Kiro AI berpindah ke model berbayar sejak September 2025 — jatah gratisnya kini dibatasi **50 kredit per bulan** (plus 500 kredit percobaan untuk akun baru selama 30 hari pertama), dengan tier berbayar Pro $20/bln (1.000 kredit) hingga Power $200/bln (10.000 kredit). Daftar model OpenCode Free berubah-ubah dan sebagian hanya gratis selama promo. Untuk Vertex AI, kredit $300 akun GCP baru masih berlaku, tetapi sejak Maret 2026 endpoint Gemini API tidak lagi memotong kredit tersebut — harus memakai endpoint Vertex AI Studio — [sumber: 9Router — repositori resmi](https://github.com/decolua/9router).

[ANALISIS KOMUNITECH] Jadi posisikan harapanmu dengan benar: 9Router itu alat *efisiensi*, bukan mesin gratisan. Nilai terbesarnya bukan "model gratis selamanya", melainkan (1) memaksimalkan kuota langganan yang *sudah* kamu bayar sebelum jatuh ke opsi lain, dan (2) menghemat token lewat kompresi otomatis. Kalau kamu memasang VPS semata-mata mengejar model gratis tak terbatas, kemungkinan besar kamu akan kecewa.

## Spesifikasi VPS dan Persiapan

### 1. Spesifikasi Minimum

[FAKTA] Kebutuhan minimum untuk menjalankan 9Router: **OS Linux (Ubuntu 22.04 atau 24.04 direkomendasikan), Node.js 18+ atau 20+, npm, RAM minimal 2 GB, dan port 20128 terbuka di firewall** — [sumber: Biznet Gio — Cara Install 9Router](https://kb.biznetgio.com/id_ID/instalasi/cara-install-9router).

| Komponen
| Minimum (personal / tim kecil)
| Jika menambah agent berat

| Sistem operasi
| Ubuntu 22.04 / 24.04 LTS
| Sama

| CPU
| 1 vCPU
| 1-2 vCPU

| RAM
| 2 GB
| 4 GB

| Storage
| 10-20 GB SSD/NVMe
| 20 GB+ NVMe

| Port
| 20128 terbuka
| Sama

| Kisaran biaya
| ±$4-6/bulan
| ±$6-12/bulan

[FAKTA] Angka 4 GB pada kolom kanan berlaku kalau kamu memasang framework agent di atas 9Router — misalnya Hermes Agent, yang dokumentasi instalasinya mensyaratkan RAM minimal 4 GB, Python 3.10+, dan 9Router yang sudah aktif lebih dulu — [sumber: Biznet Gio — Install Agent Hermes pada 9Router](https://kb.biznetgio.com/id_ID/instalasi/cara-install-agent-hermes-pada-9router). Untuk 9Router polos, 2 GB sudah memadai.

### 2. Pilih Lokasi Server Terdekat

Setiap request dari tool codingmu harus melewati VPS sebelum diteruskan ke penyedia model. Semakin jauh lokasi server, semakin besar tambahan latensi yang kamu rasakan di setiap permintaan. Untuk pengguna Indonesia, pilih region Singapura atau Jakarta kalau tersedia — bukan Amerika atau Eropa, walaupun harganya kadang lebih murah.

### 3. Siapkan Minimal Satu Akun Provider

9Router hanya meneruskan request; ia tidak menyediakan model sendiri. Siapkan minimal satu sumber sebelum instalasi: langganan yang sudah kamu punya (Claude, Codex, GitHub Copilot), API key berbayar murah (GLM, MiniMax, DeepSeek), atau opsi gratis terbatas (Kiro AI, OpenCode Free) dengan catatan keterbatasan yang sudah dijelaskan di atas.

## Langkah Install 9Router di VPS

### 1. Install Node.js

[FAKTA] Jalankan perintah berikut untuk memasang Node.js 20.x di Ubuntu, sesuai panduan resmi:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
Verifikasi instalasi berhasil:

node -v
npm -v
— [sumber: Biznet Gio — Cara Install 9Router](https://kb.biznetgio.com/id_ID/instalasi/cara-install-9router).

### 2. Install 9Router Secara Global

npm install -g 9router
Tunggu sampai proses instalasi selesai. Ini memasang 9Router sebagai perintah global yang bisa dipanggil dari direktori mana pun di VPS-mu. Polanya mirip dengan tutorial instalasi tool serupa — kalau kamu pernah mengikuti [cara install OpenClaw standalone](https://komunitech.com/blog/tutorial/cara-install-openclaw-standalone-di-pc-laptop-windows-mac-linux-2026/), alurnya akan terasa familiar.

### 3. Jalankan 9Router dan Pilih Mode Akses

9router
Saat pertama kali dijalankan, kamu akan diminta memilih mode interface. Untuk penggunaan di VPS, pilih **Web UI (Open in Browser)** — mode ini menyalakan dashboard visual untuk menambah provider, mengatur fallback, dan memonitor request. Dashboard bisa diakses lewat http://IP-SERVER:20128/dashboard, dan ini adalah mode yang direkomendasikan khusus untuk VPS dan penggunaan administrasi jangka panjang.

### 4. Alternatif: Jalankan via Docker

[FAKTA] Kalau kamu lebih nyaman dengan container, 9Router juga tersedia sebagai image resmi multi-platform (linux/amd64 dan linux/arm64):

docker run -d \
-p 20128:20128 \
-v "$HOME/.9router:/app/data" \
-e DATA_DIR=/app/data \
--name 9router \
decolua/9router:latest
Perintah dasar untuk mengelola container: docker logs -f 9router (lihat log), docker stop 9router / docker start 9router (hentikan/nyalakan), docker rm -f 9router (hapus) — [sumber: 9Router — dokumentasi Docker resmi](https://github.com/decolua/9router/blob/master/DOCKER.md).

### Pakai Docker Compose (Lebih Rapi untuk VPS)

Kalau kamu ingin konfigurasi tersimpan di file dan gampang diulang, buat file docker-compose.yml berisi pengaturan yang sama dengan perintah docker run di atas. Struktur port, volume, dan variabel DATA_DIR mengikuti contoh Compose di dokumentasi Docker resmi 9Router:

services:
9router:
image: decolua/9router:latest
container_name: 9router
restart: unless-stopped
ports:
- "20128:20128"
volumes:
- "$HOME/.9router:/app/data"
environment:
DATA_DIR: /app/data
Jalankan dengan docker compose up -d, cek log dengan docker compose logs -f, dan hentikan dengan docker compose down. Baris restart: unless-stopped adalah tambahan Komunitech supaya container otomatis hidup lagi setelah VPS reboot; hapus kalau kamu tidak membutuhkannya.

**Port default 9Router adalah 20128**, baik lewat npm maupun Docker. Kalau port itu sudah dipakai aplikasi lain, ubah sisi kiri pemetaan port saja, misalnya "8080:20128", lalu akses lewat port 8080.

### 5. Pahami Persistensi Data — Jangan Lewatkan Ini

[FAKTA] Baris -v "$HOME/.9router:/app/data" di atas bukan opsional secara praktik. Tanpa mount volume itu, data 9Router (termasuk database SQLite berisi konfigurasi provider dan API key yang kamu simpan) tersimpan di dalam container — dan **hilang begitu container dihapus atau dibuat ulang**. Dengan volume ter-mount, data disimpan di $DATA_DIR/db/data.sqlite beserta folder backup otomatis, dan tetap ada meski kamu update atau restart container.

### 6. Hubungkan Provider AI Pertama

Buka dashboard, masuk ke menu Providers, lalu hubungkan minimal satu sumber. Untuk mulai tanpa biaya, dashboard menyediakan opsi Kiro AI atau OpenCode Free yang tidak memerlukan pendaftaran tambahan — dengan catatan keterbatasan kuota yang sudah dijelaskan di bagian atas.

### 7. Sambungkan Tool Coding ke Endpoint VPS

Di pengaturan tool coding kamu (Claude Code, Cursor, Cline, Codex, atau CLI lain), arahkan endpoint ke alamat VPS-mu, bukan localhost:

Endpoint: http://IP-SERVER-KAMU:20128/v1
API Key: [salin dari dashboard 9Router]
Model: kr/nama-model (contoh: kr/claude-sonnet-4.5)

## Konfigurasi Lanjutan

### 1. Mode Production dengan Environment Variables

[FAKTA] Kalau menjalankan dari source (bukan npm global atau Docker), gunakan mode production dengan variabel berikut agar bisa diakses dari luar server:

npm run build
PORT=20128 HOSTNAME=0.0.0.0 NEXT_PUBLIC_BASE_URL=http://IP-SERVER-KAMU:20128 npm run start
HOSTNAME=0.0.0.0 adalah kuncinya — tanpa ini, aplikasi hanya mendengarkan koneksi dari dalam server itu sendiri (localhost), persis seperti instalasi default di laptop, dan tidak akan bisa diakses dari perangkat lain sama sekali.

### 2. Update ke Versi Terbaru

Untuk pengguna Docker:

docker pull decolua/9router:latest
docker rm -f 9router
# lalu jalankan ulang perintah docker run di atas
Data tetap aman selama kamu memakai volume -v "$HOME/.9router:/app/data" yang sama. Kalau ingin mengunci versi tertentu alih-alih selalu mengikuti latest, pakai tag bernomor, misalnya docker pull decolua/9router:0.5.81 — [sumber: 9Router — dokumentasi Docker resmi](https://github.com/decolua/9router/blob/master/DOCKER.md). Untuk pengguna npm, update cukup dengan menjalankan ulang npm install -g 9router.

Kalau kamu memakai Docker Compose, update lebih ringkas: docker compose pull lalu docker compose up -d.

## Keamanan: Bagian yang Paling Sering Dilewatkan

[ANALISIS KOMUNITECH] Ini bagian yang jarang dibahas tutorial lain secara serius, padahal risikonya nyata. Begitu 9Router berjalan dengan HOSTNAME=0.0.0.0 di VPS dengan IP publik, port 20128 berpotensi diakses siapa saja di internet yang menemukannya — bukan cuma kamu. Kalau seseorang berhasil mengakses dashboard atau endpoint API-mu, mereka bisa memakai kuota providermu, dan tagihannya jatuh ke akunmu, bukan mereka.

Tiga opsi mitigasi yang wajar untuk VPS pribadi atau tim kecil, urut dari yang paling sederhana:

- **Batasi lewat firewall (paling mudah).** Konfigurasi firewall VPS (ufw, iptables, atau firewall panel provider) supaya port 20128 hanya menerima koneksi dari IP tertentu — IP kantor, IP rumah, atau IP tim kamu. Bukan dibuka untuk semua orang (0.0.0.0/0).

- **Gunakan SSH tunnel.** Alih-alih membuka port ke publik, akses 9Router lewat tunnel SSH (ssh -L 20128:localhost:20128 user@ip-server). Port tetap tertutup dari luar, kamu tetap bisa mengaksesnya seolah-olah lokal.

- **Pasang reverse proxy dengan autentikasi.** Kalau kamu perlu akses dari banyak lokasi tanpa tunnel manual tiap kali, taruh Nginx atau Caddy di depan 9Router dengan basic auth atau lapisan autentikasi tambahan.

Jangan anggap remeh langkah ini hanya karena skala pemakaianmu kecil — API key yang bocor tetap bisa dipakai orang lain sampai kamu sadar dan mencabutnya.

## Troubleshooting Dasar

| Masalah
| Perintah / Cek

| Ingin lihat log berjalan
| docker logs -f 9router

| Dashboard tidak bisa diakses dari luar
| Cek HOSTNAME=0.0.0.0 sudah diset, dan port 20128 terbuka di firewall

| Perlu restart layanan
| docker stop 9router && docker start 9router

| Konfigurasi hilang setelah update
| Pastikan volume -v "$HOME/.9router:/app/data" ter-mount dengan benar sebelum update

| Perlu install ulang bersih
| docker rm -f 9router, lalu jalankan ulang perintah instalasi

Server yang menyala 24 jam seperti VPS untuk 9Router ini juga jadi tempat yang pas buat menjalankan AI agent yang tetap aktif walau laptopmu mati, misalnya agent yang tetap membalas chat pelanggan jam 2 pagi. Jalur dari belajar konsep sampai deploy ke server dibahas di [cara belajar bikin AI agent dari nol sampai deploy pakai OpenClaw](https://komunitech.com/blog/ai-agent/cara-belajar-bikin-ai-agent-dari-nol-sampai-deploy-pakai-openclaw-2026/).

Setelah 9Router jalan di VPS, langkah berikutnya adalah menjaga tool dan agent kamu tetap bekerja saat satu provider kena rate limit atau kuotanya habis. Caranya dengan menyusun Combo berisi model utama, cadangan murah, dan cadangan terakhir, yang dibahas langkah demi langkah di [tutorial cara atur fallback model AI di 9Router](https://komunitech.com/blog/tutorial/tutorial-cara-atur-fallback-model-ai-di-9router-2026/).

## Install 9Router di Windows dan Mengganti Port Default 20128

### Install 9Router di Windows

[FAKTA] README resmi 9Router tidak punya panduan instalasi Windows yang terpisah. Jalur yang ditulis README berlaku untuk semua sistem operasi: pasang Node.js versi 20 ke atas, jalankan npm install -g 9router, lalu ketik 9router, dan dashboard terbuka di http://localhost:20128 — [sumber: README resmi 9Router, dicek 9 Oktober 2026](https://raw.githubusercontent.com/decolua/9router/master/README.md).

- Unduh dan pasang Node.js 20 atau lebih baru dari [nodejs.org](https://nodejs.org/en/download), lalu buka ulang Command Prompt atau PowerShell dan cek dengan node -v.

- Jalankan npm install -g 9router.

- Jalankan 9router, lalu buka http://localhost:20128 di browser.

Data 9Router di Windows (provider, combo, API key) tersimpan di folder %APPDATA%\9router\ kalau variabel DATA_DIR tidak diisi; di macOS/Linux lokasinya ~/.9router/ (DOCKER.md resmi 9Router). Folder itu yang perlu kamu backup sebelum uninstall atau pindah laptop. Kalau kamu memakai Docker Desktop di Windows, image dan perintahnya sama dengan bagian Docker di atas. Installer .exe, winget, atau Chocolatey tidak disebut di dokumentasi resmi, jadi jangan pakai paket dari sumber tidak jelas.

### Port Default 9Router dan Cara Menggantinya

Port default 9Router adalah 20128 untuk instalasi npm global maupun Docker: dashboard di /dashboard, endpoint OpenAI-compatible di /v1. Tabel environment variable README menulis nilai default PORT sebagai "framework default", sedangkan semua contoh resminya memakai 20128.

- **Docker:** ganti angka di sisi kiri pemetaan, misalnya -p 8080:20128 atau "8080:20128" di Compose. Sisi kanan tetap 20128 karena itu port di dalam container.

- **Jalan dari source:** set variabel PORT, contoh README: PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run start. Samakan angka di NEXT_PUBLIC_BASE_URL dengan port baru.

- **npm global:** README tidak memberi contoh ganti port khusus untuk perintah 9router, jadi setelah mencoba variabel PORT, pastikan dashboard benar-benar terbuka di port baru sebelum mengubah tool lain.

Begitu port diganti, base URL di semua tool yang terhubung ikut berubah, misalnya dari http://127.0.0.1:20128/v1 menjadi http://127.0.0.1:8080/v1. Port ini juga yang nanti kamu isi di config OpenClaw, langkahnya ada di [cara connect 9Router ke OpenClaw](https://komunitech.com/blog/tutorial/cara-connect-9router-ke-openclaw-2026/). Mengganti port bukan pengaman: port mana pun tetap jangan dibuka ke internet tanpa firewall atau SSH tunnel seperti di bagian Keamanan.

## Pertanyaan yang Sering Ditanya

### Berapa spesifikasi VPS minimum untuk 9Router?

Ubuntu 22.04 atau 24.04, 1 vCPU, RAM minimal 2 GB, dan storage 10-20 GB sudah cukup untuk pemakaian personal atau tim kecil. Kalau kamu berencana memasang agent tambahan yang lebih berat di atas 9Router, siapkan RAM minimal 4 GB.

### Apakah data hilang kalau container di-restart atau diupdate?

Tidak, selama kamu memasang volume mount -v $HOME/.9router:/app/data sejak awal instalasi. Tanpa volume itu, konfigurasi dan API key yang tersimpan di dalam container akan hilang begitu container dihapus atau dibuat ulang.

### Apakah aman mengakses 9Router dari luar VPS?

Aman selama kamu membatasi akses lewat firewall (hanya IP tertentu), SSH tunnel, atau reverse proxy dengan autentikasi. Membuka port 20128 ke seluruh internet tanpa proteksi berisiko — siapa pun yang menemukannya berpotensi memakai kuota providermu.

### Apa bedanya install di VPS dibanding npm lokal di laptop?

Secara teknis prosesnya sama (npm install -g 9router). Bedanya di aksesibilitas: instalasi lokal hanya bisa diakses dari laptop itu sendiri (localhost), sedangkan instalasi VPS dengan HOSTNAME=0.0.0.0 bisa diakses dari perangkat mana pun yang kamu izinkan lewat IP publik server.

### Apakah butuh domain dan SSL?

Tidak wajib untuk pemakaian dasar — kamu bisa langsung mengakses lewat http://IP-SERVER:20128. Domain dan SSL (HTTPS) jadi relevan kalau kamu memasang reverse proxy untuk keamanan tambahan atau ingin URL yang lebih mudah diingat oleh tim.

### Apakah 9Router benar-benar gratis dan unlimited?

9Router sendiri gratis dipakai (kamu memakai API key/langganan sendiri, model BYOK). Tapi “unlimited free model” yang sering dijanjikan tutorial lama sudah tidak akurat — beberapa jalur gratis populer (iFlow, Qwen Code, Gemini CLI) sudah dihentikan di 2026, dan Kiro AI kini dibatasi 50 kredit/bulan setelah berpindah ke model berbayar.

### Bisakah dipakai bersama satu tim?

Bisa. 9Router mendukung multi-akun dengan round-robin antar akun per provider, sehingga beberapa anggota tim bisa berbagi satu instance sambil kuotanya tetap terlacak terpisah. Untuk pemakaian tim, pastikan spesifikasi VPS naik ke level rekomendasi (2 vCPU, 4 GB RAM) dan akses dibatasi lewat firewall.

## Kesimpulan

Memasang 9Router di VPS bukan proses yang rumit — inti instalasinya cuma dua atau tiga perintah, baik lewat npm maupun Docker. Yang justru sering terlewat adalah dua hal yang menentukan apakah instalasimu benar-benar berguna dalam jangka panjang: **memastikan data ter-mount dengan benar** supaya konfigurasimu tidak hilang, dan **membatasi akses ke port 20128** supaya kuota providermu tidak dipakai orang lain.

Kalau kamu sedang menyusun infrastruktur AI yang lebih luas dari sekadar satu router — termasuk otomasi bisnis yang berjalan di atasnya — pertimbangan biaya server ini perlu masuk ke perhitungan total, bukan cuma biaya API. Kami bahas komponen biaya lainnya di [bot AI murah untuk bisnis online](https://komunitech.com/blog/ai-agent/bot-ai-murah-untuk-bisnis-online-rekomendasi-buat-pemula-2026/), dan kalau kamu ingin belajar menyusun sistem semacam ini dengan pendampingan langsung, gabung [workshop KomuniTech](https://komunitech.com/blog/) (2 jam, langsung praktik bikin Karyawan AI sendiri, plus sertifikat sebagai peserta).

## Referensi

- [Biznet Gio — Cara Install 9Router](https://kb.biznetgio.com/id_ID/instalasi/cara-install-9router)

- [9Router — Dokumentasi Docker resmi](https://github.com/decolua/9router/blob/master/DOCKER.md)

- [9Router — Repositori resmi](https://github.com/decolua/9router)

- [Biznet Gio — Install Agent Hermes pada 9Router](https://kb.biznetgio.com/id_ID/instalasi/cara-install-agent-hermes-pada-9router)

*Disclaimer: Panduan Komunitech ini bersifat edukasi dan netral. 9Router adalah produk milik pihak ketiga (decolua); Komunitech tidak berafiliasi dan tidak menerima kompensasi dari pembuatnya. Detail harga, spesifikasi, dan kebijakan provider dapat berubah sewaktu-waktu — verifikasi ke dokumentasi resmi sebelum mengambil keputusan.*
