{"id":2337,"date":"2026-10-15T08:58:34","date_gmt":"2026-10-15T01:58:34","guid":{"rendered":"https:\/\/komunitech.com\/blog\/?p=2337"},"modified":"2026-10-15T08:58:34","modified_gmt":"2026-10-15T01:58:34","slug":"cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026","status":"publish","type":"post","link":"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/","title":{"rendered":"Cara Mengatasi Error 9Router: Dashboard, Port, dan Fallback (2026)"},"content":{"rendered":"<div style=\"background:#f8fafc;border-left:4px solid #3b82f6;padding:16px 20px;margin:24px 0;border-radius:0 6px 6px 0\">\n<p style=\"margin:0;font-size:15px;line-height:1.6;color:#1e293b\"><strong>TL;DR:<\/strong> Error paling sering di 9Router adalah dashboard tidak bisa diakses dari luar VPS (biasanya firewall atau HOSTNAME belum 0.0.0.0), port 20128 bentrok, kredensial provider gratis seperti OpenCode Free ditolak dengan 403 FreeTierError, dan konfigurasi hilang setelah update karena volume data tidak ter-mount. Tiap kasus punya cek spesifik dan langkah perbaikan yang bisa kamu jalankan sendiri lewat terminal, tanpa install ulang dari nol.<\/p>\n<\/div>\n<div style=\"background:#f0f9ff;border-left:4px solid #0284c7;padding:16px 20px;margin:24px 0;border-radius:0 6px 6px 0\">\n<p style=\"margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:#0284c7\">\ud83d\udca1 KEY TAKEAWAY<\/p>\n<ul style=\"margin:0;padding-left:1.2em;font-size:15px;line-height:1.6;color:#0c4a6e\">\n<li style=\"margin-bottom:6px\"><strong>Cek log dulu, jangan tebak:<\/strong> <code>docker logs -f 9router<\/code> hampir selalu menunjukkan akar masalah sebelum kamu mencoba fix apa pun.<\/li>\n<li style=\"margin-bottom:6px\"><strong>Dashboard tidak kebuka dari luar<\/strong> hampir selalu soal firewall port 20128 atau <code>HOSTNAME<\/code> yang belum diset <code>0.0.0.0<\/code>, bukan bug aplikasi.<\/li>\n<li style=\"margin-bottom:6px\"><strong>Provider gratis (OpenCode Free) sedang bermasalah di banyak instalasi<\/strong> sejak pertengahan Oktober 2026 \u2014 ini isu di sisi provider, bukan konfigurasi kamu yang salah.<\/li>\n<li style=\"margin-bottom:0\"><strong>Update rutin itu wajib:<\/strong> banyak bug yang dilaporkan pengguna sudah diperbaiki di versi lebih baru, tapi image Docker kadang telat beberapa hari dari rilis kode.<\/li>\n<\/ul>\n<\/div>\n<p>Kamu baru selesai pasang 9Router di VPS, tapi dashboard-nya ngambek, model yang kamu pilih balas error, atau kredensial yang sudah dihubungkan tiba-tiba ditolak. Wajar \u2014 9Router aktif dikembangkan dan versinya naik hampir tiap minggu, jadi error baru bisa muncul kapan saja. Komunitech merangkum error yang paling sering dilaporkan pengguna di issue tracker resmi 9Router per Oktober 2026, dari dashboard sampai fallback model, lengkap dengan cara mendiagnosis dan memperbaikinya.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<label for=\"ez-toc-cssicon-toggle-item-6ad051a6bfaf1\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"ez-toc-cssicon\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6ad051a6bfaf1\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Langkah_Pertama_Selalu_Cek_Log_Sebelum_Menebak\" >Langkah Pertama: Selalu Cek Log Sebelum Menebak<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Dashboard_Tidak_Bisa_Diakses_dari_Luar_VPS\" >Dashboard Tidak Bisa Diakses dari Luar VPS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Port_20128_Sudah_Dipakai_Proses_Lain_EADDRINUSE\" >Port 20128 Sudah Dipakai Proses Lain (EADDRINUSE)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Konfigurasi_dan_Provider_Hilang_Setelah_Update\" >Konfigurasi dan Provider Hilang Setelah Update<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Image_Docker_Terbaru_Belum_Tersedia_di_Docker_Hub\" >Image Docker Terbaru Belum Tersedia di Docker Hub<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Error_403_FreeTierError_Saat_Pakai_OpenCode_Free\" >Error 403 FreeTierError Saat Pakai OpenCode Free<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Rate_Limit_dan_Fallback_Tidak_Jalan_Semestinya\" >Rate Limit dan Fallback Tidak Jalan Semestinya<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Checklist_Cepat_Sebelum_Lapor_Bug\" >Checklist Cepat Sebelum Lapor Bug<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Kapan_Harus_Lapor_ke_GitHub_Bukan_Coba-Coba_Sendiri\" >Kapan Harus Lapor ke GitHub, Bukan Coba-Coba Sendiri<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Pertanyaan_yang_Sering_Ditanya\" >Pertanyaan yang Sering Ditanya<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Kenapa_dashboard_9Router_di_VPS_tidak_bisa_dibuka_dari_browser\" >Kenapa dashboard 9Router di VPS tidak bisa dibuka dari browser?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Kenapa_error_403_FreeTierError_muncul_di_provider_OpenCode_Free\" >Kenapa error 403 FreeTierError muncul di provider OpenCode Free?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Apakah_data_provider_dan_combo_hilang_kalau_9Router_di-update\" >Apakah data provider dan combo hilang kalau 9Router di-update?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Bagaimana_cara_ganti_port_default_20128_kalau_sudah_dipakai_aplikasi_lain\" >Bagaimana cara ganti port default 20128 kalau sudah dipakai aplikasi lain?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Kenapa_fallback_combo_tidak_jalan_meski_model_cadangan_seharusnya_bisa_menangani\" >Kenapa fallback combo tidak jalan meski model cadangan seharusnya bisa menangani?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Kalau_error_yang_kamu_alami_tidak_ada_di_daftar_ini_harus_lapor_ke_mana\" >Kalau error yang kamu alami tidak ada di daftar ini, harus lapor ke mana?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Kesimpulan\" >Kesimpulan<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/komunitech.com\/blog\/tutorial\/cara-mengatasi-error-9router-dashboard-port-dan-fallback-2026\/#Referensi\" >Referensi<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Langkah_Pertama_Selalu_Cek_Log_Sebelum_Menebak\"><\/span>Langkah Pertama: Selalu Cek Log Sebelum Menebak<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Sebelum masuk ke kasus spesifik, satu kebiasaan yang menghemat banyak waktu adalah membaca log container terlebih dulu:<\/p>\n<pre><code>docker logs -f 9router<\/code><\/pre>\n<p>Log ini menunjukkan error asli dari aplikasi (crash, port bentrok, koneksi provider gagal) \u2014 jauh lebih akurat daripada menebak dari pesan error generik di CLI coding tool kamu. Kalau kamu install dari VPS mengikuti <a href=\"\/blog\/tutorial\/cara-install-9router-di-vps-dengan-docker-panduan-lengkap-2026\/\">panduan install 9Router di VPS dengan Docker<\/a>, log ini ada di container yang sama.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Dashboard_Tidak_Bisa_Diakses_dari_Luar_VPS\"><\/span>Dashboard Tidak Bisa Diakses dari Luar VPS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ini error paling sering ditanyakan pemula. Setelah container jalan, <code>curl localhost:20128<\/code> di dalam VPS berhasil, tapi membuka <code>http:\/\/ip-vps:20128<\/code> dari browser gagal atau timeout.<\/p>\n<p>Dua penyebab yang hampir selalu jadi biang keladinya:<\/p>\n<ul>\n<li><strong>Port 20128 belum dibuka di firewall VPS<\/strong> \u2014 cek dengan <code>ufw status<\/code> (Ubuntu) atau security group kalau pakai cloud provider seperti AWS\/GCP. Buka dengan <code>ufw allow 20128\/tcp<\/code>.<\/li>\n<li><strong><code>HOSTNAME<\/code> belum diset ke <code>0.0.0.0<\/code><\/strong> \u2014 dokumentasi resmi 9Router (<a href=\"https:\/\/github.com\/decolua\/9router\" rel=\"noopener nofollow\" target=\"_blank\">repositori decolua\/9router<\/a>) menyatakan container defaultnya sudah <code>HOSTNAME=0.0.0.0<\/code>, tapi kalau kamu jalankan dari source bukan image resmi, variabel ini perlu diset manual supaya service listen di semua interface, bukan cuma localhost.<\/li>\n<\/ul>\n<p>Kalau dua hal itu sudah benar dan dashboard masih tidak terbuka, cek juga apakah reverse proxy (Nginx\/Caddy) di depan 9Router sudah mengarah ke port yang benar.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Port_20128_Sudah_Dipakai_Proses_Lain_EADDRINUSE\"><\/span>Port 20128 Sudah Dipakai Proses Lain (EADDRINUSE)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Kalau log menunjukkan error port sudah terpakai, cek proses yang menempati port itu:<\/p>\n<pre><code>sudo lsof -i :20128<\/code><\/pre>\n<p>Ada dua jalan keluar: matikan proses lama, atau jalankan 9Router di port lain dengan env <code>PORT<\/code>:<\/p>\n<pre><code>docker run -d --name 9router -p 20200:20200 \n  -v \"$HOME\/.9router:\/app\/data\" -e DATA_DIR=\/app\/data \n  -e PORT=20200 decolua\/9router:latest<\/code><\/pre>\n<p>Ingat ganti base URL di tool yang terhubung (Claude Code, Cursor, Cline, dan lainnya) kalau port berubah dari default 20128. Kalau agent kamu berjalan di OpenClaw, langkah mengganti endpoint-nya ada di <a href=\"\/blog\/tutorial\/cara-connect-9router-ke-openclaw-2026\/\">cara connect 9Router ke OpenClaw<\/a>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Konfigurasi_dan_Provider_Hilang_Setelah_Update\"><\/span>Konfigurasi dan Provider Hilang Setelah Update<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Data 9Router (provider, combo, API key, riwayat pemakaian) disimpan di satu file SQLite: <code>$DATA_DIR\/db\/data.sqlite<\/code>. Kalau setelah <code>docker pull<\/code> lalu container baru dibuat ulang provider-mu hilang, penyebabnya hampir pasti volume tidak ter-mount dengan benar saat update.<\/p>\n<p>Cara update yang aman <a href=\"https:\/\/github.com\/decolua\/9router\/blob\/master\/DOCKER.md\" rel=\"noopener nofollow\" target=\"_blank\">sesuai dokumentasi resmi<\/a>:<\/p>\n<pre><code>docker pull decolua\/9router:latest\ndocker stop 9router &amp;&amp; docker rm 9router\ndocker run -d --name 9router -p 20128:20128 \n  -v \"$HOME\/.9router:\/app\/data\" -e DATA_DIR=\/app\/data \n  decolua\/9router:latest<\/code><\/pre>\n<p>Selama path <code>-v \"$HOME\/.9router:\/app\/data\"<\/code> sama persis dengan instalasi sebelumnya, data lama otomatis terbaca lagi \u2014 karena memang disimpan di host, bukan di dalam container. Pastikan juga <code>DATA_DIR=\/app\/data<\/code> ikut disertakan; tanpa ini, app bisa jatuh ke lokasi default dan membaca database kosong.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Image_Docker_Terbaru_Belum_Tersedia_di_Docker_Hub\"><\/span>Image Docker Terbaru Belum Tersedia di Docker Hub<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Terkadang kode 9Router di repositori sudah naik versi (misalnya ke v0.5.99), tapi tag <code>latest<\/code> di Docker Hub masih tertinggal beberapa versi di belakang \u2014 situasi ini pernah dilaporkan beberapa pengguna di <a href=\"https:\/\/github.com\/decolua\/9router\/issues\/4705\" rel=\"noopener nofollow\" target=\"_blank\">issue tracker resmi 9Router<\/a> pada Oktober 2026, dengan jeda publikasi image sekitar beberapa hari dari rilis kode. Kalau fitur atau fix terbaru yang kamu baca di changelog belum terasa setelah <code>docker pull<\/code>, cek dulu tag image yang benar-benar ter-publish di <a href=\"https:\/\/hub.docker.com\/r\/decolua\/9router\/tags\" rel=\"noopener nofollow\" target=\"_blank\">Docker Hub<\/a> sebelum menyimpulkan ada bug di sisi kamu.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Error_403_FreeTierError_Saat_Pakai_OpenCode_Free\"><\/span>Error 403 FreeTierError Saat Pakai OpenCode Free<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Salah satu error yang ramai dilaporkan sejak pertengahan Oktober 2026 adalah permintaan ke provider OpenCode Free (<code>oc\/<\/code>) ditolak dengan pesan <code>403 FreeTierError: OpenCode's free tier can only be used from within OpenCode<\/code>. Menurut laporan di <a href=\"https:\/\/github.com\/decolua\/9router\/issues\/4845\" rel=\"noopener nofollow\" target=\"_blank\">issue #4845<\/a>, penyebabnya bukan soal header atau sesi yang salah konfigurasi di sisi pengguna \u2014 provider di balik layar sedang memverifikasi dari aplikasi mana permintaan itu benar-benar berasal, dan ini juga dialami pengguna client resmi OpenCode (bukan cuma lewat 9Router).<\/p>\n<p>Karena ini masalah kebijakan di sisi provider, bukan konfigurasi 9Router kamu, yang bisa kamu lakukan sementara: pindah ke provider gratis lain seperti Kiro AI atau Vertex AI ($300 kredit gratis), atau pantau <a href=\"https:\/\/github.com\/decolua\/9router\/releases\" rel=\"noopener nofollow\" target=\"_blank\">halaman rilis 9Router<\/a> untuk update terbaru. Coba-coba ganti header atau session ID manual juga tidak membantu: pelapor issue #4845 mencatat belasan pull request dengan pendekatan itu dan menyimpulkan semuanya tidak menembus pemeriksaan provider.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Rate_Limit_dan_Fallback_Tidak_Jalan_Semestinya\"><\/span>Rate Limit dan Fallback Tidak Jalan Semestinya<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Kalau kamu sudah menyusun combo fallback tapi request tetap gagal padahal model cadangan seharusnya bisa menangani, ada beberapa pola yang perlu kamu tahu:<\/p>\n<ul>\n<li><strong>Model dengan context window kecil ditaruh di urutan pertama combo<\/strong> bisa membuat seluruh rantai berhenti di error 400 &#8220;maximum context length&#8221; tanpa mencoba model berikutnya yang context window-nya lebih besar \u2014 urutkan combo dari context window besar ke kecil untuk menghindari ini.<\/li>\n<li><strong>Rate limit (429) dari provider custom OpenAI-compatible kadang muncul ke kamu sebagai 503<\/strong>, bukan 429 asli \u2014 ini bisa bikin bingung saat debug, tapi intinya tetap sama: provider itu sedang membatasi, coba lagi beberapa saat atau pindah ke provider lain di combo.<\/li>\n<\/ul>\n<p>Untuk dasar menyusun combo yang benar dari awal, baca <a href=\"\/blog\/tutorial\/tutorial-cara-atur-fallback-model-ai-di-9router-2026\/\">tutorial cara atur fallback model AI di 9Router<\/a>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Checklist_Cepat_Sebelum_Lapor_Bug\"><\/span>Checklist Cepat Sebelum Lapor Bug<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<table style=\"width:100%;border-collapse:collapse;margin:20px 0\">\n<tr style=\"background:#f1f5f9\">\n<th style=\"padding:10px;border:1px solid #e2e8f0;text-align:left\">Cek<\/th>\n<th style=\"padding:10px;border:1px solid #e2e8f0;text-align:left\">Perintah \/ Langkah<\/th>\n<\/tr>\n<tr>\n<td style=\"padding:10px;border:1px solid #e2e8f0\">Lihat error asli<\/td>\n<td style=\"padding:10px;border:1px solid #e2e8f0\"><code>docker logs -f 9router<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;border:1px solid #e2e8f0\">Versi sudah terbaru?<\/td>\n<td style=\"padding:10px;border:1px solid #e2e8f0\"><code>docker pull decolua\/9router:latest<\/code> lalu restart container<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;border:1px solid #e2e8f0\">Port kebentrok?<\/td>\n<td style=\"padding:10px;border:1px solid #e2e8f0\"><code>sudo lsof -i :20128<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;border:1px solid #e2e8f0\">Firewall terbuka?<\/td>\n<td style=\"padding:10px;border:1px solid #e2e8f0\"><code>ufw status<\/code>, pastikan 20128 allow<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;border:1px solid #e2e8f0\">Volume data benar?<\/td>\n<td style=\"padding:10px;border:1px solid #e2e8f0\">Pastikan <code>-v \"$HOME\/.9router:\/app\/data\"<\/code> identik tiap jalankan ulang<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;border:1px solid #e2e8f0\">Masalah provider, bukan 9Router?<\/td>\n<td style=\"padding:10px;border:1px solid #e2e8f0\">Cek <a href=\"https:\/\/github.com\/decolua\/9router\/issues\" rel=\"noopener nofollow\" target=\"_blank\">issue tracker resmi<\/a> dengan kata kunci error-mu<\/td>\n<\/tr>\n<\/table>\n<h2><span class=\"ez-toc-section\" id=\"Kapan_Harus_Lapor_ke_GitHub_Bukan_Coba-Coba_Sendiri\"><\/span>Kapan Harus Lapor ke GitHub, Bukan Coba-Coba Sendiri<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Kalau kamu sudah memastikan versi terbaru, log menunjukkan error yang tidak ada di daftar ini, dan kamu sudah mengecek firewall serta volume data, kemungkinan besar itu bug di aplikasi \u2014 bukan kesalahan konfigurasi kamu. Lapor lewat <a href=\"https:\/\/github.com\/decolua\/9router\/issues\" rel=\"noopener nofollow\" target=\"_blank\">issue tracker resmi 9Router<\/a> dengan menyertakan versi, log lengkap, dan langkah reproduksi, karena proyek ini aktif menerima laporan bug dan rutin merilis update.<\/p>\n<p>Ada batasan yang perlu kamu tahu: 9Router adalah proyek yang berkembang cepat dengan rilis versi hampir tiap minggu \u2014 sebagian error di atas bisa saja sudah diperbaiki di versi setelah Oktober 2026, atau sebaliknya, celah baru bisa muncul di fitur yang baru ditambahkan. Kalau kamu menghubungkan kredensial sensitif (API key berbayar, akun subscription Pro\/Max), selalu cek dulu changelog rilis sebelum update ke versi yang baru keluar di hari yang sama. Kalau error yang berulang mulai lebih mahal daripada manfaatnya, opsi gateway cloud bisa dipertimbangkan; perbandingannya ada di <a href=\"\/blog\/riset\/openrouter-vs-9router-panduan-memilih-ai-gateway-router-2026\/\">OpenRouter vs 9Router<\/a>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Pertanyaan_yang_Sering_Ditanya\"><\/span>Pertanyaan yang Sering Ditanya<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Kenapa_dashboard_9Router_di_VPS_tidak_bisa_dibuka_dari_browser\"><\/span>Kenapa dashboard 9Router di VPS tidak bisa dibuka dari browser?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Paling sering karena port 20128 belum dibuka di firewall VPS (cek dengan <code>ufw status<\/code>) atau variabel <code>HOSTNAME<\/code> belum diset ke <code>0.0.0.0<\/code> kalau kamu menjalankan dari source, bukan image Docker resmi.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Kenapa_error_403_FreeTierError_muncul_di_provider_OpenCode_Free\"><\/span>Kenapa error 403 FreeTierError muncul di provider OpenCode Free?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ini bukan masalah konfigurasi di sisi kamu. Sejak pertengahan Oktober 2026, provider OpenCode Free memverifikasi asal permintaan dan menolak yang dianggap bukan berasal dari aplikasi resminya \u2014 dialami juga pengguna client OpenCode asli, bukan cuma lewat 9Router.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Apakah_data_provider_dan_combo_hilang_kalau_9Router_di-update\"><\/span>Apakah data provider dan combo hilang kalau 9Router di-update?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Tidak, selama kamu memasang ulang container dengan path volume <code>-v \"$HOME\/.9router:\/app\/data\"<\/code> yang sama dan env <code>DATA_DIR=\/app\/data<\/code>, semua data tersimpan di host dan otomatis kebaca lagi.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Bagaimana_cara_ganti_port_default_20128_kalau_sudah_dipakai_aplikasi_lain\"><\/span>Bagaimana cara ganti port default 20128 kalau sudah dipakai aplikasi lain?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Tambahkan env <code>-e PORT=20128<\/code> diganti ke port bebas, misalnya 20200, lalu sesuaikan juga mapping <code>-p 20200:20200<\/code> dan base URL di tool coding yang terhubung.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Kenapa_fallback_combo_tidak_jalan_meski_model_cadangan_seharusnya_bisa_menangani\"><\/span>Kenapa fallback combo tidak jalan meski model cadangan seharusnya bisa menangani?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Dua penyebab umum: model dengan context window kecil diletakkan pertama di combo (bikin seluruh rantai berhenti di error context overflow), atau rate limit 429 dari provider custom yang tampil sebagai 503 sehingga terlihat seperti server down padahal sebenarnya kena limit.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Kalau_error_yang_kamu_alami_tidak_ada_di_daftar_ini_harus_lapor_ke_mana\"><\/span>Kalau error yang kamu alami tidak ada di daftar ini, harus lapor ke mana?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ke <a href=\"https:\/\/github.com\/decolua\/9router\/issues\" rel=\"noopener nofollow\" target=\"_blank\">issue tracker resmi 9Router di GitHub<\/a>, sertakan versi yang kamu pakai, log lengkap dari <code>docker logs<\/code>, dan langkah untuk mereproduksi error-nya.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Kesimpulan\"><\/span>Kesimpulan<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Sebagian besar error 9Router yang sering dikeluhkan sebenarnya bisa didiagnosis sendiri lewat tiga langkah: baca log container, pastikan versi sudah terbaru, dan cek apakah masalahnya ada di konfigurasi kamu atau di sisi provider eksternal. Kasus seperti dashboard tidak terbuka dari luar VPS dan port bentrok hampir selalu soal firewall dan konfigurasi jaringan, sementara error seperti 403 FreeTierError memang murni di luar kendali konfigurasi kamu. Kalau kamu baru memulai, mulai dari <a href=\"\/blog\/tutorial\/cara-install-9router-di-vps-dengan-docker-panduan-lengkap-2026\/\">panduan install 9Router di VPS<\/a> sebelum masuk ke pengaturan fallback yang lebih lanjut.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Referensi\"><\/span>Referensi<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/decolua\/9router\" rel=\"noopener nofollow\" target=\"_blank\">decolua\/9router \u2014 repositori resmi di GitHub<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/decolua\/9router\/blob\/master\/DOCKER.md\" rel=\"noopener nofollow\" target=\"_blank\">9Router \u2014 dokumentasi Docker resmi<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/decolua\/9router\/issues\" rel=\"noopener nofollow\" target=\"_blank\">9Router \u2014 issue tracker resmi<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/decolua\/9router\/issues\/4845\" rel=\"noopener nofollow\" target=\"_blank\">Issue #4845 \u2014 OpenCode Free 403 FreeTierError<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/decolua\/9router\/issues\/4705\" rel=\"noopener nofollow\" target=\"_blank\">Issue #4705 \u2014 Docker image publikasi tertinggal dari versi kode<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/decolua\/9router\/issues\/4663\" rel=\"noopener nofollow\" target=\"_blank\">Issue #4663 \u2014 rate limit 429 tampil sebagai 503<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/decolua\/9router\/issues\/4796\" rel=\"noopener nofollow\" target=\"_blank\">Issue #4796 \u2014 fallback combo gagal di error context overflow<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>TL;DR: Error paling sering di 9Router adalah dashboard tidak bisa diakses dari luar VPS (biasanya firewall atau HOSTNAME belum 0.0.0.0), port 20128 bentrok, kredensial provider gratis seperti OpenCode Free ditolak dengan 403 FreeTierError, dan konfigurasi hilang setelah update karena volume data tidak ter-mount. Tiap kasus punya cek spesifik dan langkah perbaikan yang bisa kamu jalankan [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2339,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[75],"tags":[],"class_list":["post-2337","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial"],"acf":[],"_links":{"self":[{"href":"https:\/\/komunitech.com\/blog\/wp-json\/wp\/v2\/posts\/2337","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/komunitech.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/komunitech.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/komunitech.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/komunitech.com\/blog\/wp-json\/wp\/v2\/comments?post=2337"}],"version-history":[{"count":1,"href":"https:\/\/komunitech.com\/blog\/wp-json\/wp\/v2\/posts\/2337\/revisions"}],"predecessor-version":[{"id":2338,"href":"https:\/\/komunitech.com\/blog\/wp-json\/wp\/v2\/posts\/2337\/revisions\/2338"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/komunitech.com\/blog\/wp-json\/wp\/v2\/media\/2339"}],"wp:attachment":[{"href":"https:\/\/komunitech.com\/blog\/wp-json\/wp\/v2\/media?parent=2337"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/komunitech.com\/blog\/wp-json\/wp\/v2\/categories?post=2337"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/komunitech.com\/blog\/wp-json\/wp\/v2\/tags?post=2337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}