Panduan Instalasi dan Migrasi Upgrade: Menggunakan NocoBase CLI
Kemampuan instalasi dan pemeliharaan aplikasi CLI masih dalam pengembangan, saat ini lebih cocok untuk pengembangan lokal, lingkungan testing, dan skenario integrasi AI Agent, tidak disarankan langsung digunakan untuk instalasi, upgrade, dan pemeliharaan operasional di lingkungan production.
NocoBase CLI versi baru (nb) menyatukan operasi instalasi, koneksi, memulai, menghentikan, melihat log, upgrade, dan pembersihan ke dalam satu set perintah. Dibandingkan dengan dokumentasi lama yang dipelihara secara terpisah berdasarkan Docker, create-nocobase-app, dan kode sumber Git, CLI lebih cocok untuk pengembangan lokal, pemeliharaan lingkungan testing, serta integrasi dan kolaborasi AI Agent.
Artikel ini berlaku untuk skenario berikut:
- Anda sedang memasang atau mengupgrade NocoBase berdasarkan dokumentasi lama, dan ingin beralih ke metode CLI baru.
- Anda sudah memiliki NocoBase yang dideploy dengan cara lama, dan ingin CLI mengelola atau menghubungkannya.
- Anda perlu menyiapkan lingkungan NocoBase yang dapat dihubungkan dan dipelihara untuk AI Agent.
Perbedaan Antara Cara Lama dan Cara Baru
Cara lama memisahkan dokumentasi berdasarkan sumber instalasi, setiap sumber memerlukan eksekusi perintah download, konfigurasi, instalasi, memulai, dan upgrade secara terpisah.
Dokumentasi Instalasi Lama
Dokumentasi Upgrade Lama
Cara baru menggunakan nb init sebagai entry point, mencatat sumber aplikasi, direktori run, direktori storage, database, dan informasi koneksi API dengan satu env CLI. Selanjutnya, baik sumber Docker, npm, maupun Git, sebisa mungkin menggunakan satu set perintah nb app, nb source, nb db yang sama untuk pemeliharaan.
Memasang CLI
Setelah instalasi, Anda dapat melihat bantuan:
Memasang NocoBase dengan Cara Baru
Disarankan: Menggunakan Wizard Visual
Wizard akan memandu Anda untuk memilih:
- Buat aplikasi baru atau hubungkan aplikasi yang sudah ada
- Sumber instalasi: Docker, npm, Git
- Versi NocoBase
- Gunakan database bawaan atau database eksternal
- Akun dan password administrator
Menggunakan Wizard Interaktif Terminal
Menggunakan Perintah Non-interaktif
Metode instalasi default adalah Docker, dan menggunakan database PostgreSQL bawaan:
Pasang versi tertentu menggunakan Docker:
Pasang menggunakan npm:
Pasang menggunakan kode sumber Git:
Gunakan kode sumber Git dan tentukan tipe database bawaan:
Hubungkan aplikasi NocoBase yang sudah ada:
--env adalah nama lingkungan di CLI, perintah memulai, upgrade, melihat log, dan lainnya selanjutnya dapat menentukan aplikasi target melalui -e app1.
Upgrade dengan Cara Baru
Pada cara lama, perintah upgrade Docker, create-nocobase-app, dan kode sumber Git berbeda; CLI baru menyatukannya menjadi:
Jika hanya ingin menjalankan proses upgrade dengan kode sumber atau image yang sudah diunduh, tanpa menarik kode atau image baru:
Atau gunakan singkatan:
Perintah Pemeliharaan Umum
nb app down secara default akan menghentikan aplikasi, dan menghapus container run yang dikelola CLI dan file aplikasi lokal, namun akan mempertahankan data storage dan konfigurasi env. Saat menghapus seluruh konten harus dikonfirmasi secara eksplisit:
--all --yes akan menghapus data storage dan konfigurasi env CLI dari env tersebut. Harap hanya gunakan setelah memastikan telah dibackup dan lingkungan tersebut tidak diperlukan lagi.
Perintah Pengembangan Harian
nb source digunakan untuk mengelola proyek kode sumber lokal, terutama berlaku untuk env source npm dan Git.
Env Docker biasanya dikelola melalui nb app start, nb app logs, dan nb app upgrade, tidak menggunakan nb source dev.
NB_CLI_ROOT dan Struktur Direktori
CLI akan menyimpan konfigurasi global dan file aplikasi lokal di direktori yang sesuai dengan NB_CLI_ROOT.
Secara default, NB_CLI_ROOT adalah direktori home pengguna saat ini, yaitu path yang dikembalikan oleh Node.js os.homedir(). Misalnya di macOS biasanya /Users/<user>. Oleh karena itu, jika tidak melakukan konfigurasi tambahan, file yang dihasilkan oleh nb init --yes --env app1 biasanya berada di:
Anda juga dapat secara eksplisit menentukan NB_CLI_ROOT:
Setelah diatur, file konfigurasi dan direktori aplikasi default akan ditempatkan di direktori tersebut:
Di mana:
.nocobase/config.jsonmenyimpan informasi env, lingkungan saat ini, alamat API, path kode sumber, path storage, konfigurasi database, dan lainnya.<envName>/sourceadalah direktori kode sumber atau aplikasi yang dikelola CLI.<envName>/storageadalah direktori storage aplikasi yang dikelola CLI.
Setelah aplikasi yang sama diinisialisasi, harap pertahankan menggunakan NB_CLI_ROOT yang sama. Jika NB_CLI_ROOT diubah selanjutnya, CLI akan mencari .nocobase/config.json di direktori baru, dan appRootPath, storagePath dalam bentuk path relatif juga akan diparsing berdasarkan direktori baru, yang dapat menyebabkan aplikasi tidak ditemukan atau membaca/menulis ke direktori yang salah.
CLI saat ini hanya menggunakan scope konfigurasi global. Jika perlu menyesuaikan lokasi penyimpanan konfigurasi dan file aplikasi lokal, harap atur NB_CLI_ROOT.
Saat melihat dan menemukan aplikasi, prioritaskan penggunaan nb env list dan nb env info:
nb env list ditujukan untuk gambaran umum cepat, di mana App Status adalah status autentikasi yang diperoleh setelah mengakses API aplikasi melalui Token/kredensial OAuth yang disimpan, dan tidak lagi menampilkan status database. Saat perlu melihat status run database bawaan, harap gunakan:
Hanya saat perlu mengganti env default, baru gunakan:
Migrasi dari Cara Lama ke CLI
Migrasi memiliki dua strategi: menghubungkan aplikasi yang sudah ada, atau memasukkan direktori aplikasi lokal ke dalam manajemen CLI. Jika aplikasi lama Anda sudah berjalan stabil, disarankan menggunakan "menghubungkan aplikasi yang sudah ada" terlebih dahulu, risikonya paling rendah.
Cara Pertama: Menghubungkan Aplikasi yang Sudah Ada
Berlaku untuk NocoBase yang sudah dideploy melalui Docker, create-nocobase-app, kode sumber Git, atau di server.
Cara ini hanya menyimpan koneksi API, CLI tidak akan mengambil alih memulai, menghentikan, upgrade, direktori kode sumber, atau direktori storage dari aplikasi lama. Cocok untuk membuat AI Agent atau perintah API CLI menghubungkan aplikasi yang sudah ada.
Jika perlu me-refresh autentikasi:
Cara Kedua: Buat Env CLI Baru Lalu Migrasi File
Berlaku untuk skenario yang ingin selanjutnya mengelola aplikasi lokal dengan nb app dan nb source.
Sebelum migrasi, harap selesaikan terlebih dahulu:
- Hentikan aplikasi lama.
- Backup database lama.
- Backup direktori
storagelama. - Catat variabel lingkungan kunci dari aplikasi lama, seperti
APP_KEY,TZ,DB_*,DB_UNDERSCORED.
Migrasi Instalasi Docker Lama
Cara Docker lama biasanya menempatkan data aplikasi di storage dalam direktori proyek:
Disarankan menentukan NB_CLI_ROOT baru terlebih dahulu, lalu gunakan CLI untuk membuat env Docker baru. Contoh di bawah ini mengasumsikan NB_CLI_ROOT adalah /your/workspace.
Env baru secara default akan menggunakan direktori berikut:
Kemudian salin storage lama ke /your/workspace/app2/storage, dan pastikan koneksi database dan konfigurasi seperti APP_KEY konsisten dengan lingkungan lama.
Setelah penyalinan selesai dan konfigurasi database dikonfirmasi, baru jalankan aplikasi:
Migrasi Instalasi create-nocobase-app atau Kode Sumber Git Lama
Cara npm/Git lama biasanya menempatkan kode sumber, .env, dan storage di direktori proyek yang sama:
Disarankan menentukan NB_CLI_ROOT baru terlebih dahulu, lalu buat env npm atau Git baru. Contoh di bawah ini mengasumsikan NB_CLI_ROOT adalah /your/workspace.
Kemudian migrasikan sesuai kebutuhan:
- Migrasikan kode sumber Plugin kustom dari proyek lama ke direktori yang sesuai di
/your/workspace/app3/source. - Salin
storagedari proyek lama ke/your/workspace/app3/storage. - Sinkronkan konfigurasi kunci dari
.envlama ke konfigurasi env CLI atau parameter inisialisasi. - Saat menggunakan database asli, harap matikan database bawaan dan isi informasi koneksi database lama saat inisialisasi.
Contoh inisialisasi menggunakan database eksternal:
Setelah migrasi selesai, jalankan dan lihat log:
Jangan langsung menimpa source, storage, atau menghubungkan database production untuk menjalankan upgrade tanpa backup. Sebelum migrasi resmi disarankan melakukan latihan lengkap di lingkungan testing terlebih dahulu.

