@simplens/onboard 1.0.4 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -26,10 +26,10 @@
26
26
 
27
27
  ```bash
28
28
  # Run directly with npx (recommended)
29
- npx @simplens/onboard
29
+ npx-y @simplens/onboard@latest
30
30
 
31
31
  # Or install globally
32
- npm install -g @simplens/onboard
32
+ npm install -g @simplens/onboard@latest
33
33
  simplens-onboard
34
34
  ```
35
35
 
@@ -78,7 +78,7 @@ npx @simplens/onboard --infra --dir /path/to/setup
78
78
 
79
79
  ```bash
80
80
  # Complete setup with all options via CLI (no prompts)
81
- npx @simplens/onboard --full --infra mongo kafka kafka-ui redis nginx --env default --base-path /dashboard --plugin @simplens/mock @simplens/nodemailer-gmail
81
+ npx @simplens/onboard --full --infra mongo kafka redis nginx --env default --base-path /dashboard --plugin @simplens/mock @simplens/nodemailer-gmail --no-output
82
82
  ```
83
83
 
84
84
  This mode:
@@ -86,6 +86,7 @@ This mode:
86
86
  - Requires `--env <mode>` to specify environment mode
87
87
  - **Auto-generates secure credentials** for NS_API_KEY, AUTH_SECRET, and ADMIN_PASSWORD
88
88
  - **Auto-generates placeholder credentials** for plugins
89
+ - **Auto-generates version values** for CORE_VERSION and DASHBOARD_VERSION
89
90
  - All other options are optional with sensible defaults
90
91
  - Services are not auto-started (use `docker-compose up -d` manually)
91
92
 
@@ -106,6 +107,8 @@ The CLI will display a security notice with all credentials that need to be upda
106
107
  | `--env <mode>` | Environment setup mode: `default` or `interactive` | Prompted |
107
108
  | `--dir <path>` | Target directory for setup files | Current directory |
108
109
  | `--base-path <path>` | Dashboard base path (example: `/dashboard`) | Empty (root) |
110
+ | `--core-version <version>` | Override `CORE_VERSION` in generated `.env` (primarily for `--full`) | `latest` |
111
+ | `--dashboard-version <version>` | Override `DASHBOARD_VERSION` in generated `.env` (primarily for `--full`) | `latest` |
109
112
  | `--plugin [plugins...]` | Plugins to install (e.g., `@simplens/mock @simplens/nodemailer-gmail`) | Prompted |
110
113
  | `--no-output` | Suppress all console output (silent mode) | `false` |
111
114
 
@@ -113,11 +116,11 @@ The CLI will display a security notice with all credentials that need to be upda
113
116
 
114
117
  - `mongo` - MongoDB database
115
118
  - `kafka` - Apache Kafka message queue
116
- - `kafka-ui` - Kafka UI dashboard
119
+ - `kafka-ui` - Kafka UI dashboard (optional)
117
120
  - `redis` - Redis cache
118
- - `nginx` - Nginx reverse proxy
119
- - `loki` - Loki log aggregation
120
- - `grafana` - Grafana observability dashboard
121
+ - `nginx` - Nginx reverse proxy (optional, Required only is BASE_PATH is configured)
122
+ - `loki` - Loki log aggregation (optional)
123
+ - `grafana` - Grafana observability dashboard (optional)
121
124
 
122
125
  ## Workflow
123
126
 
@@ -210,11 +213,14 @@ npx @simplens/onboard --infra --dir ~/simplens-dev
210
213
  # Full automated setup with specific services and plugins
211
214
  npx @simplens/onboard \
212
215
  --full \
213
- --infra mongo kafka kafka-ui redis nginx \
216
+ --infra mongo kafka redis nginx \
214
217
  --env default \
218
+ --core-version 1.2 \
219
+ --dashboard-version 1.2 \
215
220
  --base-path /dashboard \
216
221
  --plugin @simplens/mock @simplens/nodemailer-gmail \
217
- --dir ./my-simplens-setup
222
+ --dir ./my-simplens-setup \
223
+ --no-output
218
224
 
219
225
  # No prompts - everything configured via CLI
220
226
  # Services not auto-started in full mode
@@ -228,6 +234,8 @@ npx @simplens/onboard \
228
234
  npx @simplens/onboard \
229
235
  --full \
230
236
  --env default \
237
+ --core-version 1.2 \
238
+ --dashboard-version 1.2 \
231
239
  --dir /app/simplens
232
240
 
233
241
  # Then start services in CI:
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;CAShB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB,UAU7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,KAAK;;;;;;CAMR,CAAC;AAEX;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,OAAO,aAAa,EAAE,IAAI,GAAE,MAAoB,GAAG,MAAM,CAErG;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;CAK1B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;CAShB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB,UAS7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,KAAK;;;;;;CAMR,CAAC;AAEX;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,OAAO,aAAa,EAAE,IAAI,GAAE,MAAoB,GAAG,MAAM,CAErG;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;CAK1B,CAAC"}
@@ -40,7 +40,6 @@ export const CRITICAL_ENV_KEYS = [
40
40
  'REDIS_URL',
41
41
  'AUTH_SECRET',
42
42
  'ADMIN_PASSWORD',
43
- 'LOKI_URL',
44
43
  'CORE_VERSION',
45
44
  'DASHBOARD_VERSION',
46
45
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,GAAG,EAAE,IAAI;IACT,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;CACJ,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,WAAW,EAAE,EAAE;IACf,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,KAAK;CACX,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,MAAM;CACV,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,YAAY;IACZ,WAAW;IACX,SAAS;IACT,WAAW;IACX,aAAa;IACb,gBAAgB;IAChB,UAAU;IACV,cAAc;IACd,mBAAmB;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,mBAAmB,EAAE,CAAC;IACtB,kBAAkB,EAAE,CAAC;IACrB,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,KAAK;CACT,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,oBAAoB,EAAE,2BAA2B;IACjD,kBAAkB,EAAE,qBAAqB;IACzC,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,sBAAsB;IACnC,SAAS,EAAE,mBAAmB;CACxB,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAmC,EAAE,OAAe,WAAW;IACzF,OAAO,UAAU,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACpB,EAAE,EAAE,CAAC,IAAI,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,GAAG,EAAE,IAAI;IACT,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;CACJ,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,WAAW,EAAE,EAAE;IACf,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,KAAK;CACX,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,MAAM;CACV,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,YAAY;IACZ,WAAW;IACX,SAAS;IACT,WAAW;IACX,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,mBAAmB;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,mBAAmB,EAAE,CAAC;IACtB,kBAAkB,EAAE,CAAC;IACrB,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,KAAK;CACT,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,oBAAoB,EAAE,2BAA2B;IACjD,kBAAkB,EAAE,qBAAqB;IACzC,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,sBAAsB;IACnC,SAAS,EAAE,mBAAmB;CACxB,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAmC,EAAE,OAAe,WAAW;IACzF,OAAO,UAAU,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IACpB,EAAE,EAAE,CAAC,IAAI,CAAC;CACJ,CAAC"}
@@ -36,7 +36,7 @@ export declare function loadEnvExample(): Promise<EnvVariable[]>;
36
36
  * @param fullMode - If true, auto-generate critical values without prompting
37
37
  * @returns Map of environment variable keys to values
38
38
  */
39
- export declare function promptEnvVariables(mode: 'default' | 'interactive', infraServices: string[], basePath?: string, fullMode?: boolean): Promise<Map<string, string>>;
39
+ export declare function promptEnvVariables(mode: 'default' | 'interactive', infraServices: string[], basePath?: string, fullMode?: boolean, envOverrides?: Partial<Record<'CORE_VERSION' | 'DASHBOARD_VERSION', string>>): Promise<Map<string, string>>;
40
40
  /**
41
41
  * Generate .env file from variables
42
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../src/env-config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,MAAW,GAAG,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAWxD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAoB7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,YAAY,GAAE,MAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAc9F;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAsG7D;AA0CD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACpC,IAAI,EAAE,SAAS,GAAG,aAAa,EAC/B,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,GAAE,MAA0B,EACpC,QAAQ,GAAE,OAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkJ9B;AAqBD;;GAEG;AACH,wBAAsB,eAAe,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACjC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAgBf"}
1
+ {"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../src/env-config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAepC;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,MAAW,GAAG,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAcxD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAoB7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,YAAY,GAAE,MAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAc9F;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAsG7D;AA0CD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACpC,IAAI,EAAE,SAAS,GAAG,aAAa,EAC/B,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,GAAE,MAA0B,EACpC,QAAQ,GAAE,OAAe,EACzB,YAAY,GAAE,OAAO,CAAC,MAAM,CAAC,cAAc,GAAG,mBAAmB,EAAE,MAAM,CAAC,CAAM,GACjF,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA8K9B;AAqBD;;GAEG;AACH,wBAAsB,eAAe,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACjC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -5,6 +5,17 @@ import path from 'path';
5
5
  import crypto from 'crypto';
6
6
  import { CRITICAL_ENV_KEYS } from './config/constants.js';
7
7
  export const DEFAULT_BASE_PATH = '';
8
+ const AUTO_GENERATE_ON_EMPTY_KEYS = ['NS_API_KEY', 'AUTH_SECRET', 'CORE_VERSION', 'DASHBOARD_VERSION'];
9
+ function shouldAutoGenerateOnEmpty(key, fullMode) {
10
+ return !fullMode && AUTO_GENERATE_ON_EMPTY_KEYS.includes(key);
11
+ }
12
+ function resolveEnvAnswer(key, answer, fullMode) {
13
+ const value = typeof answer === 'string' ? answer : '';
14
+ if (!value.trim() && shouldAutoGenerateOnEmpty(key, fullMode)) {
15
+ return generateDefaultValue(key);
16
+ }
17
+ return value;
18
+ }
8
19
  /**
9
20
  * Generate a secure random string for credentials
10
21
  */
@@ -16,7 +27,7 @@ export function generateSecureRandom(length = 32) {
16
27
  */
17
28
  export function generateDefaultValue(key) {
18
29
  if (key === 'NS_API_KEY') {
19
- return `sk_${generateSecureRandom(48)}`;
30
+ return `ns_${generateSecureRandom(48)}`;
20
31
  }
21
32
  if (key === 'AUTH_SECRET') {
22
33
  return generateSecureRandom(64);
@@ -24,6 +35,9 @@ export function generateDefaultValue(key) {
24
35
  if (key === 'ADMIN_PASSWORD') {
25
36
  return `Admin${generateSecureRandom(16)}`;
26
37
  }
38
+ if (key === 'CORE_VERSION' || key === 'DASHBOARD_VERSION') {
39
+ return `latest`;
40
+ }
27
41
  return '';
28
42
  }
29
43
  /**
@@ -219,7 +233,7 @@ function parseEnvContent(content) {
219
233
  * @param fullMode - If true, auto-generate critical values without prompting
220
234
  * @returns Map of environment variable keys to values
221
235
  */
222
- export async function promptEnvVariables(mode, infraServices, basePath = DEFAULT_BASE_PATH, fullMode = false) {
236
+ export async function promptEnvVariables(mode, infraServices, basePath = DEFAULT_BASE_PATH, fullMode = false, envOverrides = {}) {
223
237
  logInfo('Configuring environment variables...');
224
238
  const envVars = await loadEnvExample();
225
239
  const result = new Map();
@@ -244,6 +258,13 @@ export async function promptEnvVariables(mode, infraServices, basePath = DEFAULT
244
258
  if (mode === 'default') {
245
259
  // Use defaults, only prompt for critical values
246
260
  for (const envVar of envVars) {
261
+ if (fullMode && envVar.key in envOverrides) {
262
+ const overrideValue = envOverrides[envVar.key];
263
+ if (overrideValue) {
264
+ result.set(envVar.key, overrideValue);
265
+ continue;
266
+ }
267
+ }
247
268
  // Use auto-filled infra URLs
248
269
  if (autoInfraUrls[envVar.key]) {
249
270
  result.set(envVar.key, autoInfraUrls[envVar.key]);
@@ -280,6 +301,9 @@ export async function promptEnvVariables(mode, infraServices, basePath = DEFAULT
280
301
  answer = await password({
281
302
  message: promptMessage,
282
303
  validate: (input) => {
304
+ if (shouldAutoGenerateOnEmpty(envVar.key, fullMode) && !input) {
305
+ return undefined;
306
+ }
283
307
  if (!input && envVar.required) {
284
308
  return `${envVar.key} is required`;
285
309
  }
@@ -291,8 +315,11 @@ export async function promptEnvVariables(mode, infraServices, basePath = DEFAULT
291
315
  answer = await text({
292
316
  message: promptMessage,
293
317
  placeholder: getSuggestedValue(envVar.key) || undefined,
294
- defaultValue: getSuggestedValue(envVar.key) || undefined,
318
+ defaultValue: generateDefaultValue(envVar.key) || undefined,
295
319
  validate: (input) => {
320
+ if (shouldAutoGenerateOnEmpty(envVar.key, fullMode) && !input) {
321
+ return undefined;
322
+ }
296
323
  if (!input && envVar.required) {
297
324
  return `${envVar.key} is required`;
298
325
  }
@@ -301,7 +328,7 @@ export async function promptEnvVariables(mode, infraServices, basePath = DEFAULT
301
328
  });
302
329
  }
303
330
  handleCancel(answer);
304
- result.set(envVar.key, answer);
331
+ result.set(envVar.key, resolveEnvAnswer(envVar.key, answer, fullMode));
305
332
  }
306
333
  }
307
334
  }
@@ -310,6 +337,13 @@ export async function promptEnvVariables(mode, infraServices, basePath = DEFAULT
310
337
  // Interactive mode: prompt for everything
311
338
  logInfo('Interactive mode: You will be prompted for each environment variable.');
312
339
  for (const envVar of envVars) {
340
+ if (fullMode && envVar.key in envOverrides) {
341
+ const overrideValue = envOverrides[envVar.key];
342
+ if (overrideValue) {
343
+ result.set(envVar.key, overrideValue);
344
+ continue;
345
+ }
346
+ }
313
347
  const defaultValue = autoInfraUrls[envVar.key] || envVar.value || getSuggestedValue(envVar.key);
314
348
  // BASE_PATH is collected upfront in onboarding flow
315
349
  if (envVar.key === 'BASE_PATH') {
@@ -327,6 +361,9 @@ export async function promptEnvVariables(mode, infraServices, basePath = DEFAULT
327
361
  answer = await password({
328
362
  message: promptMessage,
329
363
  validate: (input) => {
364
+ if (shouldAutoGenerateOnEmpty(envVar.key, fullMode) && !input) {
365
+ return undefined;
366
+ }
330
367
  if (!input && envVar.required) {
331
368
  return `${envVar.key} is required`;
332
369
  }
@@ -340,6 +377,9 @@ export async function promptEnvVariables(mode, infraServices, basePath = DEFAULT
340
377
  placeholder: defaultValue || undefined,
341
378
  defaultValue: defaultValue || undefined,
342
379
  validate: (input) => {
380
+ if (shouldAutoGenerateOnEmpty(envVar.key, fullMode) && !input) {
381
+ return undefined;
382
+ }
343
383
  if (!input && envVar.required) {
344
384
  return `${envVar.key} is required`;
345
385
  }
@@ -348,7 +388,7 @@ export async function promptEnvVariables(mode, infraServices, basePath = DEFAULT
348
388
  });
349
389
  }
350
390
  handleCancel(answer);
351
- result.set(envVar.key, answer);
391
+ result.set(envVar.key, resolveEnvAnswer(envVar.key, answer, fullMode));
352
392
  }
353
393
  }
354
394
  logSuccess('Environment variables configured');
@@ -359,7 +399,7 @@ export async function promptEnvVariables(mode, infraServices, basePath = DEFAULT
359
399
  */
360
400
  function getSuggestedValue(key) {
361
401
  if (key === 'NS_API_KEY' || key === 'AUTH_SECRET') {
362
- return `Replace with: openssl rand -base64 32`;
402
+ return `Replace with: openssl rand -base64 32 (or) Press <Enter> to auto-generate value`;
363
403
  }
364
404
  if (key === 'NODE_ENV') {
365
405
  return 'production';
@@ -1 +1 @@
1
- {"version":3,"file":"env-config.js","sourceRoot":"","sources":["../src/env-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-config.js","sourceRoot":"","sources":["../src/env-config.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -19,6 +19,8 @@ program
19
19
  .option('--env <mode>', 'Environment setup mode: "default" or "interactive"')
20
20
  .option('--dir <path>', 'Target directory for setup')
21
21
  .option('--base-path <path>', 'Dashboard BASE_PATH (example: /dashboard, default: root)')
22
+ .option('--core-version <version>', 'Override CORE_VERSION in generated .env (primarily for --full mode)')
23
+ .option('--dashboard-version <version>', 'Override DASHBOARD_VERSION in generated .env (primarily for --full mode)')
22
24
  .option('--plugin [plugins...]', 'Plugins to install (e.g., @simplens/mock @simplens/nodemailer-gmail)')
23
25
  .option('--no-output', 'Suppress all console output (silent mode)');
24
26
  function printStep(step, total, title) {
@@ -288,7 +290,13 @@ async function main() {
288
290
  // Step 4: Environment configuration
289
291
  log.step('Step 4/6 — Environment Configuration');
290
292
  const envMode = setupOptions.envMode;
291
- const envVars = await promptEnvVariables(envMode, selectedInfraServices, setupOptions.basePath, options.full || false);
293
+ const envOverrides = options.full
294
+ ? {
295
+ CORE_VERSION: options.coreVersion,
296
+ DASHBOARD_VERSION: options.dashboardVersion,
297
+ }
298
+ : undefined;
299
+ const envVars = await promptEnvVariables(envMode, selectedInfraServices, setupOptions.basePath, options.full || false, envOverrides);
292
300
  await generateEnvFile(targetDir, envVars);
293
301
  // In full mode, notify user about auto-generated credentials
294
302
  if (options.full) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/infra.js CHANGED
@@ -265,7 +265,7 @@ export async function generateNginxConfig(targetDir, basePath) {
265
265
  listen 80;
266
266
  server_name localhost;
267
267
 
268
- location /api/notification/ {
268
+ location /api {
269
269
  proxy_pass http://api:3000;
270
270
  proxy_http_version 1.1;
271
271
 
@@ -1,4 +1,4 @@
1
1
  export declare const INFRA_COMPOSE_TEMPLATE = "\nservices:\n # ============================================\n # Infrastructure Services\n # ============================================\n mongo:\n image: mongo:7.0\n container_name: mongo\n command: [ \"--replSet\", \"rs0\", \"--bind_ip_all\", \"--port\", \"27017\" ]\n ports:\n - 27017:27017\n healthcheck:\n test: echo \"try { rs.status() } catch (err) { rs.initiate({_id:'rs0',members:[{_id:0,host:'mongo:27017'}]}) }\" | mongosh --port 27017 --quiet\n interval: 5s\n timeout: 30s\n start_period: 0s\n start_interval: 1s\n retries: 30\n volumes:\n - \"mongo_data:/data/db\"\n - \"mongo_config:/data/configdb\"\n\n kafka:\n image: apache/kafka-native\n container_name: kafka\n ports:\n - \"9092:9092\"\n environment:\n # Configure listeners for both docker and host communication\n KAFKA_LISTENERS: CONTROLLER://localhost:9091,HOST://0.0.0.0:9092,DOCKER://0.0.0.0:9093\n KAFKA_ADVERTISED_LISTENERS: HOST://kafka:9092,DOCKER://kafka:9093\n KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,DOCKER:PLAINTEXT,HOST:PLAINTEXT\n\n # Settings required for KRaft mode\n KAFKA_NODE_ID: 1\n KAFKA_PROCESS_ROLES: broker,controller\n KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER\n KAFKA_CONTROLLER_QUORUM_VOTERS: 1@localhost:9091\n\n # Listener to use for broker-to-broker communication\n KAFKA_INTER_BROKER_LISTENER_NAME: DOCKER\n\n # Required for a single node cluster\n KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1\n\n # Disable auto-topic creation - API server will create topics with correct partitions\n KAFKA_AUTO_CREATE_TOPICS_ENABLE: \"false\"\n volumes:\n - \"kafka_data:/var/lib/kafka/data\"\n\n kafka-ui:\n image: kafbat/kafka-ui:main\n container_name: kafka-ui\n ports:\n - 8080:8080\n environment:\n DYNAMIC_CONFIG_ENABLED: \"true\"\n KAFKA_CLUSTERS_0_NAME: local\n KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:9093\n depends_on:\n - kafka\n\n redis:\n image: redis:7-alpine\n container_name: redis\n ports:\n - \"6379:6379\"\n command: redis-server --appendonly yes\n volumes:\n - \"redis_data:/data\"\n healthcheck:\n test: [ \"CMD\", \"redis-cli\", \"ping\" ]\n interval: 5s\n timeout: 3s\n retries: 5\n\n # ============================================\n # Observability Services\n # ============================================\n\n loki:\n image: grafana/loki:2.9.0\n container_name: loki\n ports:\n - \"3100:3100\"\n command: -config.file=/etc/loki/local-config.yaml\n volumes:\n - \"loki_data:/loki\"\n healthcheck:\n test: [ \"CMD-SHELL\", \"wget --no-verbose --tries=1 --spider http://localhost:3100/ready || exit 1\" ]\n interval: 10s\n timeout: 5s\n retries: 5\n\n grafana:\n image: grafana/grafana:10.2.0\n container_name: grafana\n ports:\n - \"3001:3000\"\n environment:\n - GF_PATHS_PROVISIONING=/etc/grafana/provisioning\n - GF_AUTH_ANONYMOUS_ENABLED=true\n - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin\n - GF_SECURITY_ADMIN_PASSWORD=admin\n volumes:\n - \"grafana_data:/var/lib/grafana\"\n depends_on:\n loki:\n condition: service_healthy\n\nvolumes:\n mongo_data:\n mongo_config:\n kafka_data:\n redis_data:\n loki_data:\n grafana_data:\n";
2
- export declare const APP_COMPOSE_TEMPLATE = "services:\n api:\n image: ghcr.io/simplenotificationsystem/simplens-core:${CORE_VERSION:-latest}\n container_name: api\n ports:\n - 3000:3000\n env_file:\n - .env\n volumes:\n - plugin-data:/app/.plugins\n - ./simplens.config.yaml:/app/simplens.config.yaml:ro\n command: [ \"node\", \"dist/api/server.js\" ]\n restart: unless-stopped\n healthcheck:\n test: [ \"CMD\", \"node\", \"-e\", \"require('http').get('http://localhost:3000/health', (r) => process.exit(r.statusCode === 200 ? 0 : 1)).on('error', () => process.exit(1))\" ]\n interval: 30s\n timeout: 10s\n retries: 3\n start_period: 10s\n\n worker:\n image: ghcr.io/simplenotificationsystem/simplens-core:${CORE_VERSION:-latest}\n env_file:\n - .env\n command: [ \"node\", \"dist/workers/worker.js\" ]\n restart: unless-stopped\n\n notification_processor:\n image: ghcr.io/simplenotificationsystem/simplens-core:${CORE_VERSION:-latest}\n env_file:\n - .env\n volumes:\n - plugin-data:/app/.plugins\n - ./simplens.config.yaml:/app/simplens.config.yaml:ro\n command: [ \"node\", \"dist/processors/unified/unified.processor.js\" ]\n depends_on:\n api:\n condition: service_healthy\n restart: unless-stopped\n\n delayed_processor:\n image: ghcr.io/simplenotificationsystem/simplens-core:${CORE_VERSION:-latest}\n env_file:\n - .env\n command: [ \"node\", \"dist/processors/delayed/delayed.processor.js\" ]\n restart: unless-stopped\n\n recovery:\n image: ghcr.io/simplenotificationsystem/simplens-core:${CORE_VERSION:-latest}\n env_file:\n - .env\n command: [ \"node\", \"dist/workers/recovery/recovery.service.js\" ]\n restart: unless-stopped\n\n dashboard:\n image: ghcr.io/simplenotificationsystem/simplens-dashboard:${DASHBOARD_VERSION:-latest}\n ports:\n - 3002:3002\n container_name: dashboard\n env_file:\n - .env\n environment:\n PORT: ${DASHBOARD_PORT:-3002}\n API_BASE_URL: http://api:${PORT:-3000}\n WEBHOOK_HOST: dashboard\n WEBHOOK_PORT: ${DASHBOARD_PORT:-3002}\n NEXT_PUBLIC_BASE_PATH: ${BASE_PATH:-}\n restart: unless-stopped\n\nvolumes:\n plugin-data:\n\nnetworks:\n default:\n name: simplens\n";
2
+ export declare const APP_COMPOSE_TEMPLATE = "services:\n api:\n image: ghcr.io/simplenotificationsystem/simplens-core:${CORE_VERSION:-latest}\n container_name: api\n ports:\n - 3000:3000\n env_file:\n - .env\n volumes:\n - plugin-data:/app/.plugins\n - ./simplens.config.yaml:/app/simplens.config.yaml:ro\n command: [ \"node\", \"dist/api/server.js\" ]\n restart: unless-stopped\n healthcheck:\n test: [ \"CMD\", \"node\", \"-e\", \"require('http').get('http://localhost:3000/health', (r) => process.exit(r.statusCode === 200 ? 0 : 1)).on('error', () => process.exit(1))\" ]\n interval: 30s\n timeout: 10s\n retries: 3\n start_period: 10s\n\n worker:\n image: ghcr.io/simplenotificationsystem/simplens-core:${CORE_VERSION:-latest}\n env_file:\n - .env\n command: [ \"node\", \"dist/workers/worker.js\" ]\n restart: unless-stopped\n\n notification_processor:\n image: ghcr.io/simplenotificationsystem/simplens-core:${CORE_VERSION:-latest}\n env_file:\n - .env\n volumes:\n - plugin-data:/app/.plugins\n - ./simplens.config.yaml:/app/simplens.config.yaml:ro\n command: [ \"node\", \"dist/processors/unified/unified.processor.js\" ]\n depends_on:\n api:\n condition: service_healthy\n restart: unless-stopped\n\n delayed_processor:\n image: ghcr.io/simplenotificationsystem/simplens-core:${CORE_VERSION:-latest}\n env_file:\n - .env\n command: [ \"node\", \"dist/processors/delayed/delayed.processor.js\" ]\n restart: unless-stopped\n\n recovery:\n image: ghcr.io/simplenotificationsystem/simplens-core:${CORE_VERSION:-latest}\n env_file:\n - .env\n command: [ \"node\", \"dist/workers/recovery/recovery.service.js\" ]\n restart: unless-stopped\n\n dashboard:\n image: ghcr.io/simplenotificationsystem/simplens-dashboard:${DASHBOARD_VERSION:-latest}\n ports:\n - 3002:3002\n container_name: dashboard\n env_file:\n - .env\n environment:\n PORT: ${DASHBOARD_PORT:-3002}\n API_BASE_URL: http://api:${PORT:-3000}\n WEBHOOK_HOST: dashboard\n WEBHOOK_PORT: ${DASHBOARD_PORT:-3002}\n restart: unless-stopped\n\nvolumes:\n plugin-data:\n\nnetworks:\n default:\n name: simplens\n";
3
3
  export declare const APP_NGINX_SERVICE_TEMPLATE = " nginx:\n image: nginx:alpine\n container_name: nginx\n ports:\n - \"80:80\"\n volumes:\n - \"./nginx.conf:/etc/nginx/conf.d/default.conf:ro\"\n depends_on:\n - api\n - dashboard\n restart: unless-stopped";
4
4
  //# sourceMappingURL=templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,02GAqHlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,yvEA2EhC,CAAC;AAEF,eAAO,MAAM,0BAA0B,wPAUX,CAAC"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,02GAqHlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,4sEA0EhC,CAAC;AAEF,eAAO,MAAM,0BAA0B,wPAUX,CAAC"}
package/dist/templates.js CHANGED
@@ -183,7 +183,6 @@ export const APP_COMPOSE_TEMPLATE = `services:
183
183
  API_BASE_URL: http://api:\${PORT:-3000}
184
184
  WEBHOOK_HOST: dashboard
185
185
  WEBHOOK_PORT: \${DASHBOARD_PORT:-3002}
186
- NEXT_PUBLIC_BASE_PATH: \${BASE_PATH:-}
187
186
  restart: unless-stopped
188
187
 
189
188
  volumes:
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqHrC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2EnC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;4BAUd,CAAC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqHrC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EnC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;4BAUd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplens/onboard",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -44,7 +44,6 @@ export const CRITICAL_ENV_KEYS = [
44
44
  'REDIS_URL',
45
45
  'AUTH_SECRET',
46
46
  'ADMIN_PASSWORD',
47
- 'LOKI_URL',
48
47
  'CORE_VERSION',
49
48
  'DASHBOARD_VERSION',
50
49
  ];
package/src/env-config.ts CHANGED
@@ -7,6 +7,19 @@ import { CRITICAL_ENV_KEYS } from './config/constants.js';
7
7
  import type { EnvVariable } from './types/domain.js';
8
8
 
9
9
  export const DEFAULT_BASE_PATH = '';
10
+ const AUTO_GENERATE_ON_EMPTY_KEYS = ['NS_API_KEY', 'AUTH_SECRET', 'CORE_VERSION', 'DASHBOARD_VERSION'] as const;
11
+
12
+ function shouldAutoGenerateOnEmpty(key: string, fullMode: boolean): boolean {
13
+ return !fullMode && AUTO_GENERATE_ON_EMPTY_KEYS.includes(key as (typeof AUTO_GENERATE_ON_EMPTY_KEYS)[number]);
14
+ }
15
+
16
+ function resolveEnvAnswer(key: string, answer: string | symbol, fullMode: boolean): string {
17
+ const value = typeof answer === 'string' ? answer : '';
18
+ if (!value.trim() && shouldAutoGenerateOnEmpty(key, fullMode)) {
19
+ return generateDefaultValue(key);
20
+ }
21
+ return value;
22
+ }
10
23
 
11
24
  /**
12
25
  * Generate a secure random string for credentials
@@ -20,7 +33,7 @@ export function generateSecureRandom(length: number = 32): string {
20
33
  */
21
34
  export function generateDefaultValue(key: string): string {
22
35
  if (key === 'NS_API_KEY') {
23
- return `sk_${generateSecureRandom(48)}`;
36
+ return `ns_${generateSecureRandom(48)}`;
24
37
  }
25
38
  if (key === 'AUTH_SECRET') {
26
39
  return generateSecureRandom(64);
@@ -28,6 +41,9 @@ export function generateDefaultValue(key: string): string {
28
41
  if (key === 'ADMIN_PASSWORD') {
29
42
  return `Admin${generateSecureRandom(16)}`;
30
43
  }
44
+ if (key === 'CORE_VERSION' || key ==='DASHBOARD_VERSION') {
45
+ return `latest`;
46
+ }
31
47
  return '';
32
48
  }
33
49
 
@@ -245,7 +261,8 @@ export async function promptEnvVariables(
245
261
  mode: 'default' | 'interactive',
246
262
  infraServices: string[],
247
263
  basePath: string = DEFAULT_BASE_PATH,
248
- fullMode: boolean = false
264
+ fullMode: boolean = false,
265
+ envOverrides: Partial<Record<'CORE_VERSION' | 'DASHBOARD_VERSION', string>> = {}
249
266
  ): Promise<Map<string, string>> {
250
267
  logInfo('Configuring environment variables...');
251
268
 
@@ -274,6 +291,14 @@ export async function promptEnvVariables(
274
291
  if (mode === 'default') {
275
292
  // Use defaults, only prompt for critical values
276
293
  for (const envVar of envVars) {
294
+ if (fullMode && envVar.key in envOverrides) {
295
+ const overrideValue = envOverrides[envVar.key as keyof typeof envOverrides];
296
+ if (overrideValue) {
297
+ result.set(envVar.key, overrideValue);
298
+ continue;
299
+ }
300
+ }
301
+
277
302
  // Use auto-filled infra URLs
278
303
  if (autoInfraUrls[envVar.key]) {
279
304
  result.set(envVar.key, autoInfraUrls[envVar.key]);
@@ -314,6 +339,9 @@ export async function promptEnvVariables(
314
339
  answer = await password({
315
340
  message: promptMessage,
316
341
  validate: (input: string | undefined) => {
342
+ if (shouldAutoGenerateOnEmpty(envVar.key, fullMode) && !input) {
343
+ return undefined;
344
+ }
317
345
  if (!input && envVar.required) {
318
346
  return `${envVar.key} is required`;
319
347
  }
@@ -324,8 +352,11 @@ export async function promptEnvVariables(
324
352
  answer = await text({
325
353
  message: promptMessage,
326
354
  placeholder: getSuggestedValue(envVar.key) || undefined,
327
- defaultValue: getSuggestedValue(envVar.key) || undefined,
355
+ defaultValue: generateDefaultValue(envVar.key) || undefined,
328
356
  validate: (input: string | undefined) => {
357
+ if (shouldAutoGenerateOnEmpty(envVar.key, fullMode) && !input) {
358
+ return undefined;
359
+ }
329
360
  if (!input && envVar.required) {
330
361
  return `${envVar.key} is required`;
331
362
  }
@@ -335,7 +366,7 @@ export async function promptEnvVariables(
335
366
  }
336
367
 
337
368
  handleCancel(answer);
338
- result.set(envVar.key, answer as string);
369
+ result.set(envVar.key, resolveEnvAnswer(envVar.key, answer, fullMode));
339
370
  }
340
371
  }
341
372
  }
@@ -344,6 +375,14 @@ export async function promptEnvVariables(
344
375
  logInfo('Interactive mode: You will be prompted for each environment variable.');
345
376
 
346
377
  for (const envVar of envVars) {
378
+ if (fullMode && envVar.key in envOverrides) {
379
+ const overrideValue = envOverrides[envVar.key as keyof typeof envOverrides];
380
+ if (overrideValue) {
381
+ result.set(envVar.key, overrideValue);
382
+ continue;
383
+ }
384
+ }
385
+
347
386
  const defaultValue = autoInfraUrls[envVar.key] || envVar.value || getSuggestedValue(envVar.key);
348
387
 
349
388
  // BASE_PATH is collected upfront in onboarding flow
@@ -365,6 +404,9 @@ export async function promptEnvVariables(
365
404
  answer = await password({
366
405
  message: promptMessage,
367
406
  validate: (input: string | undefined) => {
407
+ if (shouldAutoGenerateOnEmpty(envVar.key, fullMode) && !input) {
408
+ return undefined;
409
+ }
368
410
  if (!input && envVar.required) {
369
411
  return `${envVar.key} is required`;
370
412
  }
@@ -377,6 +419,9 @@ export async function promptEnvVariables(
377
419
  placeholder: defaultValue || undefined,
378
420
  defaultValue: defaultValue || undefined,
379
421
  validate: (input: string | undefined) => {
422
+ if (shouldAutoGenerateOnEmpty(envVar.key, fullMode) && !input) {
423
+ return undefined;
424
+ }
380
425
  if (!input && envVar.required) {
381
426
  return `${envVar.key} is required`;
382
427
  }
@@ -386,7 +431,7 @@ export async function promptEnvVariables(
386
431
  }
387
432
 
388
433
  handleCancel(answer);
389
- result.set(envVar.key, answer as string);
434
+ result.set(envVar.key, resolveEnvAnswer(envVar.key, answer, fullMode));
390
435
  }
391
436
  }
392
437
 
@@ -399,7 +444,7 @@ export async function promptEnvVariables(
399
444
  */
400
445
  function getSuggestedValue(key: string): string {
401
446
  if (key === 'NS_API_KEY' || key === 'AUTH_SECRET') {
402
- return `Replace with: openssl rand -base64 32`;
447
+ return `Replace with: openssl rand -base64 32 (or) Press <Enter> to auto-generate value`;
403
448
  }
404
449
  if (key === 'NODE_ENV') {
405
450
  return 'production';
package/src/index.ts CHANGED
@@ -58,6 +58,8 @@ program
58
58
  .option('--env <mode>', 'Environment setup mode: "default" or "interactive"')
59
59
  .option('--dir <path>', 'Target directory for setup')
60
60
  .option('--base-path <path>', 'Dashboard BASE_PATH (example: /dashboard, default: root)')
61
+ .option('--core-version <version>', 'Override CORE_VERSION in generated .env (primarily for --full mode)')
62
+ .option('--dashboard-version <version>', 'Override DASHBOARD_VERSION in generated .env (primarily for --full mode)')
61
63
  .option('--plugin [plugins...]', 'Plugins to install (e.g., @simplens/mock @simplens/nodemailer-gmail)')
62
64
  .option('--no-output', 'Suppress all console output (silent mode)');
63
65
 
@@ -364,11 +366,18 @@ async function main() {
364
366
  // Step 4: Environment configuration
365
367
  log.step('Step 4/6 — Environment Configuration');
366
368
  const envMode = setupOptions.envMode;
369
+ const envOverrides = options.full
370
+ ? {
371
+ CORE_VERSION: options.coreVersion,
372
+ DASHBOARD_VERSION: options.dashboardVersion,
373
+ }
374
+ : undefined;
367
375
  const envVars = await promptEnvVariables(
368
376
  envMode,
369
377
  selectedInfraServices,
370
378
  setupOptions.basePath,
371
- options.full || false
379
+ options.full || false,
380
+ envOverrides
372
381
  );
373
382
  await generateEnvFile(targetDir, envVars);
374
383
 
package/src/infra.ts CHANGED
@@ -313,7 +313,7 @@ export async function generateNginxConfig(
313
313
  listen 80;
314
314
  server_name localhost;
315
315
 
316
- location /api/notification/ {
316
+ location /api {
317
317
  proxy_pass http://api:3000;
318
318
  proxy_http_version 1.1;
319
319
 
package/src/templates.ts CHANGED
@@ -185,7 +185,6 @@ export const APP_COMPOSE_TEMPLATE = `services:
185
185
  API_BASE_URL: http://api:\${PORT:-3000}
186
186
  WEBHOOK_HOST: dashboard
187
187
  WEBHOOK_PORT: \${DASHBOARD_PORT:-3002}
188
- NEXT_PUBLIC_BASE_PATH: \${BASE_PATH:-}
189
188
  restart: unless-stopped
190
189
 
191
190
  volumes: