nb init

Menginisialisasi workspace saat ini agar coding agent dapat terhubung ke dan menggunakan NocoBase.

nb init dapat memasang aplikasi NocoBase lokal yang baru, atau menyimpan informasi koneksi dari aplikasi yang sudah ada.

Selain itu, nb init juga akan menyinkronkan NocoBase AI coding skills secara default. Anda hanya perlu menambahkan --skip-skills jika Anda sudah mengelola skills sendiri, atau saat menjalankannya di CI maupun lingkungan offline.

Penggunaan

nb init [flags]

Mode interaktif

nb init mendukung tiga mode interaktif:

  • nb init:menyelesaikan panduan langkah demi langkah di terminal
  • nb init --ui:membuka formulir browser lokal dan menyelesaikan setup dengan wizard visual
  • nb init --yes --env app1:melewati prompt dan langsung memakai flags; parameter yang tidak diberikan secara eksplisit akan diproses dengan nilai default

Mode --yes cocok untuk skrip, CI/CD, atau skenario non-interaktif lainnya. Dalam mode ini, --env <envName> wajib diisi. Secara umum, mode ini akan memasang aplikasi lokal baru secara default; jika Anda tidak menentukan --source, maka docker akan digunakan sebagai sumber instalasi default.

Melanjutkan inisialisasi yang terputus

Untuk alur instalasi, env config akan disimpan terlebih dahulu, lalu proses unduhan, database, dan instalasi aplikasi dijalankan. Jika gagal di tengah jalan, Anda bisa melanjutkannya:

nb init --env app1 --resume

--resume hanya berlaku untuk alur inisialisasi yang env config-nya sudah pernah disimpan, dan --env harus diberikan secara eksplisit.

Siapkan env terlebih dahulu, lalu instal app nanti

--prepare-only ditujukan untuk alur yang perlu menyiapkan env terlebih dahulu, lalu mengaktifkan lisensi, dan baru setelah itu menginstal serta menjalankan app.

Jika Anda ingin lebih dulu menyimpan konfigurasi env, menyiapkan source code atau image, dan membuat database siap digunakan, tetapi menunda instalasi app yang sebenarnya serta startup pertama, Anda dapat menggunakan:

nb init --env app1 --prepare-only
nb init --env app1 --prepare-only --ui
nb init --env app1 --prepare-only --yes

Mode ini tersedia untuk alur instalasi lokal, termasuk wizard --ui. Mode ini tidak tersedia untuk alur koneksi remote. CLI akan menyimpan env saat ini dalam status prepared, sehingga nanti Anda dapat melanjutkan dengan alur seperti berikut:

nb license activate --env app1
nb app start --env app1

Setelah itu, nb app start akan menyelesaikan instalasi pertama dan mengubah env dari status prepared ke status normal installed.

Penjelasan direktori instalasi

Anda dapat melihat path lengkap dengan nb env info app1 --field app.appPath.

Secara default, CLI akan mengatur file lokal di bawah app-path mengikuti konvensi berikut:

<app-path>/
├── source/   # Direktori default untuk source code aplikasi atau hasil unduhan
├── storage/  # Direktori data runtime
└── .env      # File variabel lingkungan aplikasi opsional

Secara umum:

  • source/ terutama mengacu pada direktori aplikasi lokal untuk env npm / Git. Untuk Docker env, CLI juga mempertahankan turunan path default ini, tetapi biasanya Anda tidak perlu memperhatikannya secara manual. Perhatikan saat upgrade: direktori source/ akan dihapus lalu diunduh ulang, jadi jangan simpan file yang perlu dipertahankan di sini
  • storage/ digunakan untuk menyimpan data runtime, seperti data database bawaan, plugin, log, dan sebagainya
  • .env adalah file variabel lingkungan aplikasi yang opsional. Anda hanya perlu menambahkannya ke <app-path>/.env saat ingin menyesuaikan variabel lingkungan; jika file ini ada, sumber instalasi Docker, npm, dan Git akan membacanya secara default

Ini menunjukkan konvensi direktori default milik CLI. Untuk sumber instalasi, plugin, dan tahap runtime yang berbeda, isi direktori yang benar-benar dihasilkan mungkin tidak sepenuhnya sama.

Catatan

Perhatian
  • --ui tidak dapat digunakan bersama --yes
  • --ui juga tidak dapat digunakan bersama --resume
  • --ui-host dan --ui-port hanya dapat digunakan bersama --ui
  • --skip-auth tidak dapat digunakan bersama --access-token atau --token

Steps yang terlihat akan berbeda tergantung jalur setup. Misalnya, saat menghubungkan aplikasi yang sudah ada, biasanya hanya Getting started dan Remote connection yang digunakan.

Jika Anda mengikuti wizard UI lokal langkah demi langkah, Anda bisa memakai tabel berikut untuk navigasi cepat:

StepParameter utama yang perlu diperhatikan
Getting started--env--yes--ui--locale--verbose--skip-skills--resume--prepare-only
App environment--lang--app-path--app-port--force
App source and version--source--version--skip-download--git-url--docker-registry--docker-platform--npm-registry--replace--dev-dependencies--output-dir--docker-save--build--build-dts
Configure the database--builtin-db--db-dialect--builtin-db-image--db-host--db-port--db-database--db-user--db-password--db-schema--db-table-prefix--db-underscored
Create an admin account--root-username--root-email--root-password--root-nickname
Remote connection--api-base-url--auth-type--access-token--username--password--skip-auth

Parameter

Parameternya cukup banyak, jadi akan lebih jelas jika dilihat berdasarkan skenario penggunaan.

“Nilai default” di bawah ini berarti nilai atau perilaku yang biasanya digunakan nb init ketika parameter tersebut diabaikan.

Dasar dan interaktif

ParameterTipeNilai defaultKeterangan
--yes, -ybooleanfalseLewati prompt, gunakan flags dan nilai default
--env, -estringTidak adaNama env yang disimpan untuk inisialisasi ini; wajib di mode --yes dan --resume
--uibooleanfalseMembuka wizard browser lokal; tidak dapat digunakan bersama --yes dan --resume
--verbosebooleanfalseTampilkan output perintah yang detail
--skip-skillsbooleanfalseLewati sinkronisasi NocoBase AI coding skills
--ui-hoststring127.0.0.1Alamat bind layanan lokal --ui
--ui-portinteger0Port layanan lokal --ui; 0 berarti dialokasikan otomatis
--localestringMengikuti NB_LOCALE, konfigurasi CLI, atau locale sistem; fallback akhir en-USBahasa prompt CLI dan UI setup lokal: en-US atau zh-CN
--resumebooleanfalseMelanjutkan inisialisasi sebelumnya yang belum selesai dengan menggunakan ulang workspace env config yang sudah disimpan
--prepare-onlybooleanfalseSimpan dan siapkan env instalasi lokal, termasuk alur --ui, tanpa menginstal atau menjalankan app terlebih dahulu

Menghubungkan aplikasi yang sudah ada

ParameterTipeNilai defaultKeterangan
--api-base-url, -ustringTidak adaAlamat root API, wajib menyertakan prefix /api
--auth-type, -astringoauthMetode autentikasi: basictoken atau oauth. Umumnya cukup gunakan oauth default; pada beberapa skenario CI/CD, basic juga bisa digunakan
--access-token, -tstringTidak adaAPI key atau access token untuk autentikasi token
--usernamestringTidak adaUsername untuk autentikasi basic
--passwordstringTidak adaPassword untuk autentikasi basic
--skip-authbooleanfalseSimpan env dan metode autentikasi terlebih dahulu, lalu selesaikan login nanti lewat nb env auth

Parameter dasar instalasi lokal

ParameterTipeNilai defaultKeterangan
--lang, -lstringen-USBahasa antarmuka aplikasi baru yang diinstal
--force, -fbooleanfalseKonfigurasikan ulang env yang sudah ada, dan ganti resource runtime yang konflik bila diperlukan
--app-pathstring./<envName>/Direktori aplikasi lokal npm/Git
--app-portstring13000Port HTTP aplikasi lokal; mode --yes akan otomatis memilih port yang tersedia
--root-usernamestringnocobase(mode --yesUsername administrator awal
--root-emailstringadmin@nocobase.com(mode --yesEmail administrator awal
--root-passwordstringadmin123(mode --yesPassword administrator awal
--root-nicknamestringSuper Admin(mode --yesNama tampilan administrator awal

Parameter database

ParameterTipeNilai defaultKeterangan
--builtin-db / --no-builtin-dbbooleantrueApakah membuat dan menghubungkan database bawaan yang dikelola CLI
--db-dialectstringpostgresTipe database: postgresmysqlmariadbkingbase
--builtin-db-imagestringMengikuti --db-dialect dan localeImage container database bawaan
--db-hoststringpostgres untuk database bawaan; 127.0.0.1 untuk database eksternalAlamat host database
--db-portstringpostgres=5432mysql=3306mariadb=3306kingbase=54321Port database
--db-databasestringnocobase; untuk KingbaseES adalah kingbaseNama database
--db-userstringnocobaseUsername database
--db-passwordstringnocobasePassword database
--db-schemastringTidak adaSchema database; hanya digunakan oleh PostgreSQL
--db-table-prefixstringTidak adaPrefix tabel database
--db-underscored / --no-db-underscoredbooleanfalseApakah nama tabel dan field database menggunakan gaya underscore

Parameter unduhan dan source code

ParameterTipeNilai defaultKeterangan
--skip-downloadbooleanfalseLewati unduhan dan gunakan direktori aplikasi lokal atau image Docker yang sudah ada
--source, -sstringdockerCara mendapatkan NocoBase: dockernpm atau git
--version, -vstringbetaParameter versi: versi paket npm, tag image Docker, atau Git ref
--replace, -rbooleanfalseGanti jika direktori target sudah ada
--dev-dependencies, -D / --no-dev-dependenciesbooleanfalseApakah memasang devDependencies saat instalasi npm/Git
--output-dir, -ostringUntuk npm/Git diturunkan dari --app-path; untuk Docker + --docker-save adalah ./nocobase-<version>Direktori target unduhan, atau direktori penyimpanan tarball saat --docker-save diaktifkan
--git-urlstringhttps://github.com/nocobase/nocobase.gitAlamat repositori Git
--docker-registrystringnocobase/nocobase; di locale zh-CN menjadi registry.cn-shanghai.aliyuncs.com/nocobase/nocobaseNama registry image Docker, tanpa tag
--docker-platformstringautoPlatform image Docker: autolinux/amd64linux/arm64
--docker-save / --no-docker-savebooleanfalseApakah image Docker juga disimpan sebagai tarball setelah di-pull
--npm-registrystringKosongRegistry yang dipakai untuk unduhan npm/Git dan instalasi dependensi
--build / --no-buildbooleantrueApakah melakukan build setelah dependensi npm/Git diinstal
--build-dtsbooleanfalseApakah menghasilkan file deklarasi TypeScript saat build npm/Git

Contoh

Berikut beberapa penggunaan yang paling umum.

Menyelesaikan panduan langkah demi langkah di terminal

nb init

Membuka wizard browser lokal

nb init --ui
nb init --ui --ui-port 3000

Siapkan dulu, lalu aktifkan lisensi dan jalankan nanti

nb init --env app1 --prepare-only
nb license activate --env app1
nb app start --env app1

Instalasi non-interaktif untuk aplikasi lokal baru

Jika Anda tidak menentukan --source, biasanya Docker akan dipakai sebagai sumber instalasi.

nb init --env app1 --yes
nb init --env app1 --yes --source docker --version latest
nb init --env app1 --yes --source docker --version beta
nb init --env app1 --yes --source docker --version alpha
nb init --env app1 --yes --source docker --version main \
  --docker-registry registry.cn-beijing.aliyuncs.com/nocobase/nocobase
nb init --env app1 --yes --source npm --version latest
nb init --env app1 --yes --source npm --version beta
nb init --env app1 --yes --source npm --version alpha
nb init --env app1 --yes --source npm --version beta --app-port 13080
nb init --env app1 --yes --source git --version latest
nb init --env app1 --yes --source git --version beta
nb init --env app1 --yes --source git --version alpha
nb init --env app1 --yes --source git --version feat/plugin-workflow-timeout
nb init --env app1 --yes --source git --version latest \
  --git-url https://gitee.com/nocobase/nocobase.git

Instal cepat dan langsung memakai autentikasi basic

Jika Anda ingin memasang aplikasi lokal dengan cepat dalam mode non-interaktif, lalu langsung menyimpan autentikasi basic setelah instalasi selesai, Anda bisa menuliskannya seperti ini. Dengan begitu, Anda tidak perlu lagi membuka browser untuk menyelesaikan OAuth.

Jika memakai akun administrator default pada mode --yes, bentuk terpendeknya seperti ini.

Jika tidak ditentukan, akun administrator default adalah nocobase, dan password default adalah admin123:

nb init --env app1 --yes --auth-type basic

Jika Anda juga ingin menyesuaikan akun administrator, Anda bisa menuliskannya seperti ini:

nb init --env app1 --yes \
  --auth-type basic \
  --root-username admin \
  --root-password secret123

Menghubungkan aplikasi yang sudah ada

Secara default cukup gunakan OAuth. Jika pada beberapa skenario CI/CD Anda tidak praktis membuka browser, Anda juga bisa langsung menyimpan autentikasi basic; jika Anda sudah memiliki API token, Anda juga bisa langsung menyimpan autentikasi token.

nb init --env staging --yes \
  --api-base-url https://demo.example.com/api

nb init --env staging --yes \
  --api-base-url https://demo.example.com/api \
  --auth-type basic \
  --username <username> \
  --password <password>

nb init --env staging --yes \
  --api-base-url https://demo.example.com/api \
  --auth-type token \
  --access-token <token>

nb init --env staging --yes \
  --api-base-url https://demo.example.com/api \
  --auth-type oauth \
  --skip-auth

Menyesuaikan penamaan database

Jika Anda perlu menentukan schema PostgreSQL, prefix tabel, atau penamaan dengan underscore, Anda bisa memberikan parameter seperti ini:

nb init --env app1 --yes \
  --db-dialect postgres \
  --db-schema public \
  --db-table-prefix nb_ \
  --db-underscored

Melanjutkan inisialisasi sebelumnya yang terputus

nb init --env app1 --resume

Menampilkan log detail saat troubleshooting

nb init --env app1 --yes --source docker --version latest --verbose

Perintah terkait