Di tiga artikel sebelumnya, kita telah merampungkan tiga fondasi krusial pengelolaan server mandiri:
- Setup Docker di VPS Linux: Menjaga Aplikasi Tetap Aktif 24/7 Tanpa Takut Reboot — Fondasi Sistem Operasi, Swap RAM, UFW Firewall, dan Auto-restart Docker.
- Panduan Praktis Docker Network: Mengelola Komunikasi Antar-Container Secara Aman dan Efektif — Isolasi jaringan privat virtual dan integrasi multi-direktori (
gateway-net). - Mengenal Cloudflare Tunnel di Docker: Cara Kerja dan Panduan Praktis Publikasi Web Tanpa Buka Port — Koneksi outbound aman, zero open ports, dan publikasi web instan.
Setelah infrastruktur server dan terowongan jaringan kita siap, mari kita manfaatkan server ini untuk memecahkan salah satu kebutuhan paling vital bagi developer modern: Endpoint AI Koding Pribadi.
Bagi pengguna AI Coding Assistant seperti Cursor, Cline, Roo Code, maupun Claude Code, kendala klasik yang sering dihadapi adalah:
"Di laptop kita sering kehabisan kuota API key, kuota sering limit, dan kalau laptop kita tutup atau matikan, seluruh proses koding AI terhenti."
Di artikel pengenalan sebelumnya tentang Mengenal 9Router Proxy, kita telah melihat bagaimana 9Router bertindak seperti "colokan sentral" cerdas yang menyatukan puluhan provider AI (Claude, Gemini, Groq, Kiro, DeepSeek) ke dalam satu alamat URL standar OpenAI-compatible.
Memindahkan 9Router ke VPS Linux 24/7 membawa tiga keuntungan besar:
- Online 24 Jam Non-Stop: Endpoint AI Anda selalu aktif melayani koding kapan pun dari mana pun (laptop kantor, PC rumah, atau tablet).
- Satu Endpoint Terpusat: Cukup pasang satu URL dan satu API Key di seluruh perangkat koding Anda.
- Super Ringan & Hemat: 9Router hanya memakan sekitar ~50MB RAM di Docker, sangat ramah untuk VPS spesifikasi hemat sekalipun.
Artikel ini menyajikan panduan praktis menjalankan 9Router di Docker VPS, lengkap dengan pilihan integrasi Cloudflare Tunnel (HTTPS aman) atau akses langsung via IP VPS.
🏗️ 1. Arsitektur: Alur Aliran AI di Server Anda
[ Laptop Anda: Cursor / Cline / Roo Code ] │ ▼ (Request AI) ┌───────────────────────────┐ │ PILIHAN AKSES KE VPS │ ├───────────────────────────┤ │ Jalur A: Cloudflare Tunnel│ ───► https://ai.domainanda.com/v1 (Port Tertutup) │ Jalur B: IP Langsung VPS │ ───► http://IP_VPS:20128/v1 (Buka Port 20128) └───────────────────────────┘ │ ▼ [ Container: 9Router ] (Port Internal 20128) [ Volume: ./data ] (Tersimpan di Host VPS) │ ┌───────────┴───────────┐ ▼ (Smart Fallback) ▼ [ Anthropic / Claude ] [ Google Gemini ] [ Groq / DeepSeek / Kiro ] 🛠️ 2. Langkah 1: Persiapan VPS & Direktori
Pastikan server VPS Anda sudah dikonfigurasi mengikuti standar produksi di artikel Best Practices VPS Baru dan Docker sudah aktif.
Masuk ke terminal SSH VPS Anda, lalu siapkan direktori khusus untuk 9Router:
mkdir -p /opt/9router cd /opt/9router 🚀 3. Langkah 2: Susun File docker-compose.yml
Pilih salah satu konfigurasi di bawah ini sesuai kebutuhan Anda:
👉 JALUR A (Rekomendasi): Menggunakan Cloudflare Tunnel (Domain Sendiri)
Jika Anda sudah mengikuti artikel Part 3 (Cloudflare Tunnel), jalur ini adalah yang paling aman karena port tidak dibuka ke publik:
cat << 'EOF' > docker-compose.yml services: 9router: image: decolua/9router:latest container_name: 9router restart: unless-stopped ports: - "127.0.0.1:20128:20128" environment: - DATA_DIR=/app/data - PORT=20128 - INITIAL_PASSWORD=RahasiaAnda123! volumes: - ./data:/app/data networks: - gateway-net networks: gateway-net: external: true EOF 👉 JALUR B: Tanpa Domain (Akses Langsung via IP VPS)
Jika Anda belum memiliki domain atau belum memasang Cloudflare Tunnel, Anda bisa langsung mengakses 9Router via IP publik VPS Anda:
cat << 'EOF' > docker-compose.yml services: 9router: image: decolua/9router:latest container_name: 9router restart: unless-stopped ports: - "20128:20128" environment: - DATA_DIR=/app/data - PORT=20128 - INITIAL_PASSWORD=RahasiaAnda123! volumes: - ./data:/app/data EOF ⚠️ Catatan untuk Jalur B: Jika firewall UFW aktif di VPS Anda, buka izin port 20128 dengan:
sudo ufw allow 20128/tcp.
⚡️ 4. Langkah 3: Jalankan Container
Masih di /opt/9router/, jalankan:
docker compose up -d Periksa apakah container sudah aktif:
docker ps Status container 9router akan langsung menampilkan status Up.
🔗 5. Langkah 4: Buka Dashboard 9Router
- Jika menggunakan Jalur A (Cloudflare Tunnel): Buka Dashboard Cloudflare Zero Trust → Tunnels → tab Public Hostnames → klik Add a public hostname:
- Subdomain:
ai(misal:ai.domainanda.com) - Type:
HTTP - URL:
http://9router:20128
- Subdomain:
Lalu buka di browser laptop Anda: https://ai.domainanda.com
- Jika menggunakan Jalur B (IP VPS): Langsung buka di browser laptop Anda: 👉
http://<IP_VPS_ANDA>:20128
🎛️ 6. Langkah 5: Masukkan Provider & Buat API Key
- Login: Masukkan kata sandi yang Anda tentukan di
INITIAL_PASSWORD(misal:RahasiaAnda123!). - Tab Providers: Masukkan API Key dari layanan AI Anda (Google Gemini, Claude, Groq, Kiro, dll.). Status provider akan berubah hijau (Active).
- Tab API Keys: Klik Add API Key, beri nama (misal:
cursor-personal), lalu salin kunci yang dihasilkan:sk-9r-xxxxxxxxxxxxxxxxxxxxxxxx
💻 7. Langkah 6: Hubungkan ke Editor Koding (Cursor / Cline)
Sekarang, sambungkan endpoint AI mandiri Anda ke IDE favorit:
A. Di Cursor IDE:
- Tekan
Ctrl + Shift + J→ buka menu Models. - Di bagian OpenAI, centang Override OpenAI Base URL:
- Base URL:
- Jalur Domain:
https://ai.domainanda.com/v1 - Jalur IP:
http://<IP_VPS_ANDA>:20128/v1 - API Key: Masukkan kunci rahasia Anda (
sk-9r-...).
- Masukkan nama model AI yang aktif (contoh:
claude-3-7-sonnetataugemini-2.5-flash).
B. Di Extension Cline / Roo Code (VS Code):
- API Provider: Pilih
OpenAI Compatible - Base URL:
https://ai.domainanda.com/v1(atauhttp://<IP_VPS_ANDA>:20128/v1) - API Key:
sk-9r-... - Model ID: Tulis model AI pilihan Anda.
Lakukan pengujian prompt di editor Anda. Respons AI akan mengalir seketika! 🚀
💾 8. Tips Perawatan: Backup Data Sekali Ketik
Seluruh database akun dan riwayat provider tersimpan rapi di folder host /opt/9router/data/db/data.sqlite.
Untuk membuat backup data 9Router Anda kapan saja, cukup jalankan 1 perintah ini di VPS:
tar -czf 9router_backup_$(date +%Y%m%d).tar.gz -C /opt/9router data/ File backup ini bisa disimpan dan dipulihkan kembali sewaktu-waktu dengan sangat mudah.
📚 Seri Panduan Docker VPS
Artikel ini merupakan bagian keempat dari rangkaian panduan infrastruktur server mandiri:
- 📖 Bagian 1: Setup Docker di VPS Linux: Menjaga Aplikasi Tetap Aktif 24/7 Tanpa Takut Reboot — Fondasi Sistem Operasi, Swap RAM, UFW Firewall, dan Auto-restart Docker.
- 📖 Bagian 2: Panduan Praktis Docker Network: Mengelola Komunikasi Antar-Container Secara Aman dan Efektif — Isolasi jaringan, DNS discovery internal, dan integrasi multi-direktori.
- 📖 Bagian 3: Mengenal Cloudflare Tunnel di Docker: Cara Kerja dan Panduan Praktis Publikasi Web Tanpa Buka Port — Koneksi outbound, zero open ports, dan publikasi web instan.
- 📖 Bagian 4: Setup 9Router di Docker VPS: Solusi Endpoint AI Pribadi 24/7 untuk Cursor & Cline (Artikel ini) — Smart AI gateway mandiri, fallback anti-limit, dan integrasi IDE.
Apakah Anda lebih memilih menghubungkan AI router via Cloudflare Tunnel atau akses langsung IP publik? Bagikan pandangan atau pengalaman setup Anda di kolom komentar!

