@simplens/onboard 1.0.7 → 1.0.9
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 +4 -4
- package/dist/__tests__/errors.test.js +1 -0
- package/dist/__tests__/errors.test.js.map +1 -1
- package/dist/index.js +36 -10
- package/dist/index.js.map +1 -1
- package/dist/infra.d.ts +2 -0
- package/dist/infra.d.ts.map +1 -1
- package/dist/infra.js +19 -5
- package/dist/infra.js.map +1 -1
- package/dist/services.d.ts +20 -3
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js +113 -10
- package/dist/services.js.map +1 -1
- package/dist/templates.d.ts +2 -2
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +8 -4
- package/dist/templates.js.map +1 -1
- package/dist/types/errors.js +2 -2
- package/dist/types/errors.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/errors.test.ts +1 -0
- package/src/index.ts +42 -9
- package/src/infra.ts +21 -6
- package/src/services.ts +153 -11
- package/src/templates.ts +8 -4
- package/src/types/errors.ts +3 -3
package/README.md
CHANGED
|
@@ -89,7 +89,7 @@ This mode:
|
|
|
89
89
|
- **Auto-generates placeholder credentials** for plugins
|
|
90
90
|
- **Auto-generates version values** for CORE_VERSION and DASHBOARD_VERSION
|
|
91
91
|
- All other options are optional with sensible defaults
|
|
92
|
-
- Services are not auto-started (use `docker
|
|
92
|
+
- Services are not auto-started (use `docker compose up -d` manually; fallback: `docker-compose up -d`)
|
|
93
93
|
|
|
94
94
|
**⚠️ IMPORTANT**: Auto-generated credentials are **NOT secure for production**. After setup completes, you **must** update the following in your `.env` file:
|
|
95
95
|
- `NS_API_KEY` - API authentication key
|
|
@@ -234,7 +234,7 @@ npx @simplens/onboard \
|
|
|
234
234
|
|
|
235
235
|
# No prompts - everything configured via CLI
|
|
236
236
|
# Services not auto-started in full mode
|
|
237
|
-
# Start manually with: docker
|
|
237
|
+
# Start manually with: docker compose up -d
|
|
238
238
|
```
|
|
239
239
|
|
|
240
240
|
### CI/CD Pipeline Setup
|
|
@@ -250,7 +250,7 @@ npx @simplens/onboard \
|
|
|
250
250
|
|
|
251
251
|
# Then start services in CI:
|
|
252
252
|
cd /app/simplens
|
|
253
|
-
docker
|
|
253
|
+
docker compose up -d
|
|
254
254
|
```
|
|
255
255
|
|
|
256
256
|
### Full Setup With SSL Automation
|
|
@@ -315,7 +315,7 @@ When using `--full` mode, credentials are auto-generated. To update them:
|
|
|
315
315
|
ADMIN_PASSWORD=YourSecurePassword123!
|
|
316
316
|
```
|
|
317
317
|
3. For plugin credentials, update the values at the end of the `.env` file
|
|
318
|
-
4. Restart services: `docker-compose restart`
|
|
318
|
+
4. Restart services: `docker compose restart` (fallback: `docker-compose restart`)
|
|
319
319
|
|
|
320
320
|
**Tip**: Generate secure random values with:
|
|
321
321
|
```bash
|
|
@@ -54,6 +54,7 @@ describe('error types', () => {
|
|
|
54
54
|
});
|
|
55
55
|
it('should have default troubleshooting', () => {
|
|
56
56
|
const error = new DockerComposeError('operation');
|
|
57
|
+
expect(error.troubleshooting).toContain('docker compose logs');
|
|
57
58
|
expect(error.troubleshooting).toContain('docker-compose logs');
|
|
58
59
|
});
|
|
59
60
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../src/__tests__/errors.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../src/__tests__/errors.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import { validatePrerequisites, validatePublicDomain, validateEmailAddress, } fr
|
|
|
8
8
|
import { promptInfraServicesWithBasePath, generateInfraCompose, writeAppCompose, generateNginxConfig, } from './infra.js';
|
|
9
9
|
import { promptEnvVariables, generateEnvFile, appendPluginEnv, promptBasePath, normalizeBasePath, validateBasePath, DEFAULT_BASE_PATH, } from './env-config.js';
|
|
10
10
|
import { fetchAvailablePlugins, promptPluginSelection, generatePluginConfig, parseConfigCredentials, promptPluginCredentials, generateDefaultPluginCredentials, } from './plugins.js';
|
|
11
|
-
import { promptStartServices, startInfraServices, waitForInfraHealth, startAppServices, displayServiceStatus, setupSslCertificates,
|
|
11
|
+
import { promptStartServices, startInfraServices, waitForInfraHealth, startAppServices, displayServiceStatus, setupSslCertificates, getSslDetailedInstructions, reloadNginxConfiguration, } from './services.js';
|
|
12
12
|
const program = new Command();
|
|
13
13
|
program
|
|
14
14
|
.name('@simplens/onboard')
|
|
@@ -410,6 +410,7 @@ async function main() {
|
|
|
410
410
|
await generateNginxConfig(targetDir, setupOptions.basePath, {
|
|
411
411
|
enableSsl: setupOptions.enableSsl,
|
|
412
412
|
domain: setupOptions.sslDomain,
|
|
413
|
+
sslMode: setupOptions.enableSsl ? 'bootstrap' : 'final',
|
|
413
414
|
});
|
|
414
415
|
}
|
|
415
416
|
// Step 5: Plugin installation
|
|
@@ -470,25 +471,50 @@ async function main() {
|
|
|
470
471
|
domain: setupOptions.sslDomain,
|
|
471
472
|
email: setupOptions.sslEmail,
|
|
472
473
|
});
|
|
474
|
+
await generateNginxConfig(targetDir, setupOptions.basePath, {
|
|
475
|
+
enableSsl: true,
|
|
476
|
+
domain: setupOptions.sslDomain,
|
|
477
|
+
sslMode: 'final',
|
|
478
|
+
});
|
|
479
|
+
await reloadNginxConfiguration(targetDir, {
|
|
480
|
+
composeFile: 'docker-compose.infra.yaml',
|
|
481
|
+
});
|
|
473
482
|
}
|
|
474
483
|
// Display service status
|
|
475
484
|
await displayServiceStatus();
|
|
476
485
|
}
|
|
477
486
|
else {
|
|
478
|
-
log.info('Services not started. You can start them later with:');
|
|
479
|
-
const commands = [];
|
|
480
|
-
if (selectedInfraServices.length > 0) {
|
|
481
|
-
commands.push('docker compose -f docker-compose.infra.yaml up -d');
|
|
482
|
-
}
|
|
483
|
-
commands.push('docker compose up -d');
|
|
484
487
|
if (setupOptions.enableSsl && setupOptions.sslDomain && setupOptions.sslEmail) {
|
|
485
|
-
|
|
488
|
+
// Generate bootstrap nginx.conf (HTTP-only, needed so nginx can start before certs exist)
|
|
489
|
+
// This was already generated above with sslMode: 'bootstrap'
|
|
490
|
+
// Also generate the final SSL nginx.conf as nginx.ssl.conf
|
|
491
|
+
await generateNginxConfig(targetDir, setupOptions.basePath, {
|
|
492
|
+
enableSsl: true,
|
|
493
|
+
domain: setupOptions.sslDomain,
|
|
494
|
+
sslMode: 'final',
|
|
495
|
+
filename: 'nginx.ssl.conf',
|
|
496
|
+
});
|
|
497
|
+
// Print detailed step-by-step SSL setup instructions
|
|
498
|
+
const sslSteps = getSslDetailedInstructions({
|
|
486
499
|
composeFile: 'docker-compose.infra.yaml',
|
|
487
500
|
domain: setupOptions.sslDomain,
|
|
488
501
|
email: setupOptions.sslEmail,
|
|
489
|
-
|
|
502
|
+
hasInfra: selectedInfraServices.length > 0,
|
|
503
|
+
});
|
|
504
|
+
const numberedSteps = sslSteps
|
|
505
|
+
.map((s, i) => `${i + 1}. ${s.step}${s.command ? `\n ${s.command}` : ''}`)
|
|
506
|
+
.join('\n\n');
|
|
507
|
+
note(numberedSteps, 'SSL Setup — Run these commands in order');
|
|
508
|
+
}
|
|
509
|
+
else {
|
|
510
|
+
log.info('Services not started. You can start them later with:');
|
|
511
|
+
const commands = [];
|
|
512
|
+
if (selectedInfraServices.length > 0) {
|
|
513
|
+
commands.push('docker compose -f docker-compose.infra.yaml up -d');
|
|
514
|
+
}
|
|
515
|
+
commands.push('docker compose up -d');
|
|
516
|
+
printCommandHints('Manual startup commands', commands);
|
|
490
517
|
}
|
|
491
|
-
printCommandHints('Manual startup commands', commands);
|
|
492
518
|
}
|
|
493
519
|
// Final success message
|
|
494
520
|
logSuccess('SimpleNS onboarding completed successfully.');
|
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.d.ts
CHANGED
|
@@ -39,5 +39,7 @@ export declare function writeAppCompose(targetDir: string, options?: {
|
|
|
39
39
|
export declare function generateNginxConfig(targetDir: string, basePath: string, options?: {
|
|
40
40
|
enableSsl?: boolean;
|
|
41
41
|
domain?: string;
|
|
42
|
+
sslMode?: 'bootstrap' | 'final';
|
|
43
|
+
filename?: string;
|
|
42
44
|
}): Promise<void>;
|
|
43
45
|
//# sourceMappingURL=infra.d.ts.map
|
package/dist/infra.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infra.d.ts","sourceRoot":"","sources":["../src/infra.ts"],"names":[],"mappings":"AAwBA;;;;;GAKG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAE7D;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CAAC,OAAO,EAAE;IAC3D,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkCpB;AAoND;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,YAAY,EAAE,OAAO,EACrB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,MAAM,CA0BR;AAED;;GAEG;AACH,wBAAsB,eAAe,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/D,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,
|
|
1
|
+
{"version":3,"file":"infra.d.ts","sourceRoot":"","sources":["../src/infra.ts"],"names":[],"mappings":"AAwBA;;;;;GAKG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAE7D;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CAAC,OAAO,EAAE;IAC3D,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkCpB;AAoND;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,YAAY,EAAE,OAAO,EACrB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,MAAM,CA0BR;AAED;;GAEG;AACH,wBAAsB,eAAe,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/D,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3G,OAAO,CAAC,IAAI,CAAC,CAoJf"}
|
package/dist/infra.js
CHANGED
|
@@ -296,13 +296,15 @@ export async function writeAppCompose(targetDir, options = {}) {
|
|
|
296
296
|
* Generate nginx.conf based on basePath configuration
|
|
297
297
|
*/
|
|
298
298
|
export async function generateNginxConfig(targetDir, basePath, options = {}) {
|
|
299
|
+
const outputFilename = options.filename ?? 'nginx.conf';
|
|
299
300
|
const s = spinner();
|
|
300
|
-
s.start(
|
|
301
|
+
s.start(`Generating ${outputFilename}...`);
|
|
301
302
|
// Normalize basePath (remove leading/trailing slashes for template)
|
|
302
303
|
const normalizedPath = basePath.trim().replace(/^\/|\/$/g, '');
|
|
303
304
|
const hasBasePath = normalizedPath.length > 0;
|
|
304
305
|
const enableSsl = options.enableSsl === true;
|
|
305
306
|
const domain = options.domain?.trim() || 'localhost';
|
|
307
|
+
const sslMode = options.sslMode ?? 'final';
|
|
306
308
|
const proxyRoutes = `
|
|
307
309
|
location /api {
|
|
308
310
|
proxy_pass http://api:3000;
|
|
@@ -387,8 +389,20 @@ ${hasBasePath ? `
|
|
|
387
389
|
}
|
|
388
390
|
`}
|
|
389
391
|
`;
|
|
392
|
+
const rootRedirectPath = hasBasePath ? `/${normalizedPath}` : '/';
|
|
390
393
|
const nginxTemplate = enableSsl
|
|
391
|
-
?
|
|
394
|
+
? sslMode === 'bootstrap'
|
|
395
|
+
? `server {
|
|
396
|
+
listen 80;
|
|
397
|
+
server_name ${domain};
|
|
398
|
+
|
|
399
|
+
location /.well-known/acme-challenge/ {
|
|
400
|
+
root /var/www/certbot;
|
|
401
|
+
}
|
|
402
|
+
${proxyRoutes}
|
|
403
|
+
}
|
|
404
|
+
`
|
|
405
|
+
: `server {
|
|
392
406
|
listen 80;
|
|
393
407
|
server_name ${domain};
|
|
394
408
|
|
|
@@ -410,7 +424,7 @@ server {
|
|
|
410
424
|
ssl_protocols TLSv1.2 TLSv1.3;
|
|
411
425
|
ssl_prefer_server_ciphers on;
|
|
412
426
|
location = / {
|
|
413
|
-
return 302
|
|
427
|
+
return 302 ${rootRedirectPath};
|
|
414
428
|
}
|
|
415
429
|
${proxyRoutes}
|
|
416
430
|
}
|
|
@@ -420,9 +434,9 @@ server {
|
|
|
420
434
|
server_name localhost;${proxyRoutes}
|
|
421
435
|
}
|
|
422
436
|
`;
|
|
423
|
-
const nginxPath = path.join(targetDir,
|
|
437
|
+
const nginxPath = path.join(targetDir, outputFilename);
|
|
424
438
|
await writeFile(nginxPath, nginxTemplate);
|
|
425
439
|
const sslLabel = enableSsl ? `, SSL domain: ${domain}` : '';
|
|
426
|
-
s.stop(`Generated
|
|
440
|
+
s.stop(`Generated ${outputFilename}${hasBasePath ? ` with base path: /${normalizedPath}` : ' (root path)'}${sslLabel}`);
|
|
427
441
|
}
|
|
428
442
|
//# sourceMappingURL=infra.js.map
|
package/dist/infra.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infra.js","sourceRoot":"","sources":["../src/infra.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"infra.js","sourceRoot":"","sources":["../src/infra.ts"],"names":[],"mappings":"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"}
|
package/dist/services.d.ts
CHANGED
|
@@ -6,11 +6,12 @@ type ComposeFile = 'docker-compose.yaml' | 'docker-compose.infra.yaml';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare function promptStartServices(): Promise<boolean>;
|
|
8
8
|
/**
|
|
9
|
-
* Starts infrastructure services using docker
|
|
10
|
-
* Runs `docker
|
|
9
|
+
* Starts infrastructure services using docker compose.
|
|
10
|
+
* Runs `docker compose -f docker-compose.infra.yaml up -d` first,
|
|
11
|
+
* then falls back to `docker-compose -f docker-compose.infra.yaml up -d`.
|
|
11
12
|
*
|
|
12
13
|
* @param targetDir - Directory containing docker-compose.infra.yaml
|
|
13
|
-
* @throws Error if docker-compose
|
|
14
|
+
* @throws Error if both docker compose and docker-compose commands fail
|
|
14
15
|
*/
|
|
15
16
|
export declare function startInfraServices(targetDir: string): Promise<void>;
|
|
16
17
|
/**
|
|
@@ -29,11 +30,27 @@ export declare function getSslManualCommands(options: {
|
|
|
29
30
|
domain: string;
|
|
30
31
|
email: string;
|
|
31
32
|
}): string[];
|
|
33
|
+
/**
|
|
34
|
+
* Returns detailed step-by-step manual SSL setup instructions.
|
|
35
|
+
* Includes the nginx.conf swap from bootstrap → final (nginx.ssl.conf → nginx.conf).
|
|
36
|
+
*/
|
|
37
|
+
export declare function getSslDetailedInstructions(options: {
|
|
38
|
+
composeFile: ComposeFile;
|
|
39
|
+
domain: string;
|
|
40
|
+
email: string;
|
|
41
|
+
hasInfra: boolean;
|
|
42
|
+
}): {
|
|
43
|
+
step: string;
|
|
44
|
+
command?: string;
|
|
45
|
+
}[];
|
|
32
46
|
export declare function setupSslCertificates(targetDir: string, options: {
|
|
33
47
|
composeFile: ComposeFile;
|
|
34
48
|
domain: string;
|
|
35
49
|
email: string;
|
|
36
50
|
}): Promise<void>;
|
|
51
|
+
export declare function reloadNginxConfiguration(targetDir: string, options: {
|
|
52
|
+
composeFile: ComposeFile;
|
|
53
|
+
}): Promise<void>;
|
|
37
54
|
/**
|
|
38
55
|
* Display service status and URLs
|
|
39
56
|
*/
|
package/dist/services.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AA2FA,KAAK,WAAW,GAAG,qBAAqB,GAAG,2BAA2B,CAAC;AASvE;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAS5D;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBzE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCzE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBvE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC1C,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,EAAE,CAWX;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAChD,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACrB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAiDvC;AAED,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;IACnE,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2ChB;AAED,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;IACvE,WAAW,EAAE,WAAW,CAAC;CAC5B,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiD1D"}
|
package/dist/services.js
CHANGED
|
@@ -14,10 +14,59 @@ async function execDockerCompose(args, cwd) {
|
|
|
14
14
|
await execa('docker', ['compose', ...args], { cwd });
|
|
15
15
|
}
|
|
16
16
|
catch (error) {
|
|
17
|
+
if (!shouldFallbackToLegacyCompose(error)) {
|
|
18
|
+
throw error;
|
|
19
|
+
}
|
|
17
20
|
// Fallback to legacy 'docker-compose'
|
|
18
21
|
await execa('docker-compose', args, { cwd });
|
|
19
22
|
}
|
|
20
23
|
}
|
|
24
|
+
function shouldFallbackToLegacyCompose(error) {
|
|
25
|
+
const execaError = error;
|
|
26
|
+
if (execaError?.code === 'ENOENT') {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
const output = [
|
|
30
|
+
execaError?.stderr,
|
|
31
|
+
execaError?.stdout,
|
|
32
|
+
execaError?.shortMessage,
|
|
33
|
+
execaError?.message,
|
|
34
|
+
]
|
|
35
|
+
.filter(Boolean)
|
|
36
|
+
.join('\n')
|
|
37
|
+
.toLowerCase();
|
|
38
|
+
return (output.includes("'compose' is not a docker command") ||
|
|
39
|
+
output.includes('unknown command "compose" for "docker"'));
|
|
40
|
+
}
|
|
41
|
+
async function waitForContainerRunning(containerName, timeoutMs = 60_000, intervalMs = 1_500) {
|
|
42
|
+
const maxRetries = Math.ceil(timeoutMs / intervalMs);
|
|
43
|
+
for (let i = 0; i < maxRetries; i++) {
|
|
44
|
+
try {
|
|
45
|
+
const { stdout } = await execa('docker', [
|
|
46
|
+
'ps',
|
|
47
|
+
'--filter',
|
|
48
|
+
`name=^${containerName}$`,
|
|
49
|
+
'--filter',
|
|
50
|
+
'status=running',
|
|
51
|
+
'--format',
|
|
52
|
+
'{{.Names}}',
|
|
53
|
+
]);
|
|
54
|
+
const running = stdout
|
|
55
|
+
.split('\n')
|
|
56
|
+
.map(line => line.trim())
|
|
57
|
+
.filter(Boolean)
|
|
58
|
+
.includes(containerName);
|
|
59
|
+
if (running) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
// continue polling
|
|
65
|
+
}
|
|
66
|
+
await sleep(intervalMs);
|
|
67
|
+
}
|
|
68
|
+
throw new Error(`Container '${containerName}' did not reach running state within ${timeoutMs}ms`);
|
|
69
|
+
}
|
|
21
70
|
function withComposeFile(args, composeFile) {
|
|
22
71
|
if (!composeFile) {
|
|
23
72
|
return args;
|
|
@@ -39,11 +88,12 @@ export async function promptStartServices() {
|
|
|
39
88
|
return shouldStart;
|
|
40
89
|
}
|
|
41
90
|
/**
|
|
42
|
-
* Starts infrastructure services using docker
|
|
43
|
-
* Runs `docker
|
|
91
|
+
* Starts infrastructure services using docker compose.
|
|
92
|
+
* Runs `docker compose -f docker-compose.infra.yaml up -d` first,
|
|
93
|
+
* then falls back to `docker-compose -f docker-compose.infra.yaml up -d`.
|
|
44
94
|
*
|
|
45
95
|
* @param targetDir - Directory containing docker-compose.infra.yaml
|
|
46
|
-
* @throws Error if docker-compose
|
|
96
|
+
* @throws Error if both docker compose and docker-compose commands fail
|
|
47
97
|
*/
|
|
48
98
|
export async function startInfraServices(targetDir) {
|
|
49
99
|
logInfo('Starting infrastructure services...');
|
|
@@ -114,23 +164,71 @@ export function getSslManualCommands(options) {
|
|
|
114
164
|
? '-f docker-compose.infra.yaml '
|
|
115
165
|
: '';
|
|
116
166
|
return [
|
|
117
|
-
`docker compose ${composeFlag}up -d nginx
|
|
118
|
-
`docker compose ${composeFlag}
|
|
167
|
+
`docker compose ${composeFlag}up -d nginx`,
|
|
168
|
+
`docker compose ${composeFlag}run --rm --no-deps --entrypoint certbot certbot certonly --webroot -w /var/www/certbot --email ${options.email} --agree-tos --no-eff-email -d ${options.domain} --non-interactive`,
|
|
119
169
|
`docker compose ${composeFlag}exec -T nginx nginx -s reload`,
|
|
120
170
|
`docker compose ${composeFlag}up -d certbot-renew`,
|
|
121
171
|
];
|
|
122
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Returns detailed step-by-step manual SSL setup instructions.
|
|
175
|
+
* Includes the nginx.conf swap from bootstrap → final (nginx.ssl.conf → nginx.conf).
|
|
176
|
+
*/
|
|
177
|
+
export function getSslDetailedInstructions(options) {
|
|
178
|
+
const composeFlag = options.composeFile === 'docker-compose.infra.yaml'
|
|
179
|
+
? '-f docker-compose.infra.yaml '
|
|
180
|
+
: '';
|
|
181
|
+
const steps = [];
|
|
182
|
+
if (options.hasInfra) {
|
|
183
|
+
steps.push({
|
|
184
|
+
step: 'Start infrastructure services (includes nginx with HTTP-only bootstrap config)',
|
|
185
|
+
command: `docker compose ${composeFlag}up -d`,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
steps.push({
|
|
189
|
+
step: 'Start application services',
|
|
190
|
+
command: 'docker compose up -d',
|
|
191
|
+
});
|
|
192
|
+
if (!options.hasInfra) {
|
|
193
|
+
steps.push({
|
|
194
|
+
step: 'Ensure nginx is running for the ACME challenge',
|
|
195
|
+
command: `docker compose ${composeFlag}up -d nginx`,
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
steps.push({
|
|
199
|
+
step: `Request SSL certificate from Let's Encrypt for ${options.domain}`,
|
|
200
|
+
command: `docker compose ${composeFlag}run --rm --no-deps --entrypoint certbot certbot certonly --webroot -w /var/www/certbot --email ${options.email} --agree-tos --no-eff-email -d ${options.domain} --non-interactive`,
|
|
201
|
+
});
|
|
202
|
+
steps.push({
|
|
203
|
+
step: 'Replace bootstrap nginx config with the SSL-enabled config (nginx.ssl.conf → nginx.conf)',
|
|
204
|
+
command: process.platform === 'win32'
|
|
205
|
+
? 'copy /Y nginx.ssl.conf nginx.conf'
|
|
206
|
+
: 'cp nginx.ssl.conf nginx.conf',
|
|
207
|
+
});
|
|
208
|
+
steps.push({
|
|
209
|
+
step: 'Reload nginx to apply SSL configuration',
|
|
210
|
+
command: `docker compose ${composeFlag}exec -T nginx nginx -s reload`,
|
|
211
|
+
});
|
|
212
|
+
steps.push({
|
|
213
|
+
step: 'Start automatic certificate renewal service',
|
|
214
|
+
command: `docker compose ${composeFlag}up -d certbot-renew`,
|
|
215
|
+
});
|
|
216
|
+
return steps;
|
|
217
|
+
}
|
|
123
218
|
export async function setupSslCertificates(targetDir, options) {
|
|
124
219
|
logInfo(`Setting up SSL certificate for ${options.domain}...`);
|
|
125
220
|
const s = spinner();
|
|
126
221
|
const composeArgs = (args) => withComposeFile(args, options.composeFile);
|
|
127
|
-
s.start('Ensuring nginx
|
|
128
|
-
await execDockerCompose(composeArgs(['up', '-d', 'nginx'
|
|
129
|
-
|
|
222
|
+
s.start('Ensuring nginx service is running...');
|
|
223
|
+
await execDockerCompose(composeArgs(['up', '-d', 'nginx']), targetDir);
|
|
224
|
+
await waitForContainerRunning('nginx');
|
|
225
|
+
s.stop('Nginx service is running');
|
|
130
226
|
s.start('Requesting initial certificate from Let\'s Encrypt...');
|
|
131
227
|
await execDockerCompose(composeArgs([
|
|
132
|
-
'
|
|
133
|
-
'
|
|
228
|
+
'run',
|
|
229
|
+
'--rm',
|
|
230
|
+
'--no-deps',
|
|
231
|
+
'--entrypoint',
|
|
134
232
|
'certbot',
|
|
135
233
|
'certbot',
|
|
136
234
|
'certonly',
|
|
@@ -153,6 +251,11 @@ export async function setupSslCertificates(targetDir, options) {
|
|
|
153
251
|
await execDockerCompose(composeArgs(['up', '-d', 'certbot-renew']), targetDir);
|
|
154
252
|
s.stop('Certificate auto-renewal service started');
|
|
155
253
|
}
|
|
254
|
+
export async function reloadNginxConfiguration(targetDir, options) {
|
|
255
|
+
const composeArgs = (args) => withComposeFile(args, options.composeFile);
|
|
256
|
+
await execDockerCompose(composeArgs(['exec', '-T', 'nginx', 'nginx', '-t']), targetDir);
|
|
257
|
+
await execDockerCompose(composeArgs(['exec', '-T', 'nginx', 'nginx', '-s', 'reload']), targetDir);
|
|
258
|
+
}
|
|
156
259
|
/**
|
|
157
260
|
* Display service status and URLs
|
|
158
261
|
*/
|
package/dist/services.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEpE;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAAC,IAAc,EAAE,GAAW;IACxD,IAAI,CAAC;QACD,mCAAmC;QACnC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
|
package/dist/templates.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export declare const INFRA_COMPOSE_TEMPLATE = "\nservices:\n # ================
|
|
|
2
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 environment:\n SIMPLENS_CONFIG_PATH: ${SIMPLENS_CONFIG_PATH:-/app/simplens.config.yaml}\n volumes:\n - plugin-data:/app/.plugins\n - logs-data:/app/logs\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 volumes:\n - logs-data:/app/logs\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 environment:\n SIMPLENS_CONFIG_PATH: ${SIMPLENS_CONFIG_PATH:-/app/simplens.config.yaml}\n volumes:\n - plugin-data:/app/.plugins\n - logs-data:/app/logs\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 volumes:\n - logs-data:/app/logs\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 volumes:\n - logs-data:/app/logs\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 logs-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
|
export declare const APP_NGINX_SSL_SERVICE_TEMPLATE = " nginx:\n image: nginx:alpine\n container_name: nginx\n ports:\n - \"80:80\"\n - \"443:443\"\n volumes:\n - \"./nginx.conf:/etc/nginx/conf.d/default.conf:ro\"\n - certbot-etc:/etc/letsencrypt\n - certbot-www:/var/www/certbot\n depends_on:\n - api\n - dashboard\n restart: unless-stopped";
|
|
5
|
-
export declare const APP_CERTBOT_SERVICES_TEMPLATE = " certbot:\n image: certbot/certbot:latest\n container_name: certbot\n volumes:\n - certbot-etc:/etc/letsencrypt\n - certbot-www:/var/www/certbot\n
|
|
6
|
-
export declare const INFRA_CERTBOT_SERVICES_TEMPLATE = " certbot:\n image: certbot/certbot:latest\n container_name: certbot\n volumes:\n - certbot-etc:/etc/letsencrypt\n - certbot-www:/var/www/certbot\n
|
|
5
|
+
export declare const APP_CERTBOT_SERVICES_TEMPLATE = " certbot:\n image: certbot/certbot:latest\n container_name: certbot\n volumes:\n - certbot-etc:/etc/letsencrypt\n - certbot-www:/var/www/certbot\n entrypoint: [\"/bin/sh\", \"-c\"]\n command: \"trap 'exit 0' TERM; while true; do sleep 86400; done\"\n restart: unless-stopped\n\n certbot-renew:\n image: docker:cli\n container_name: certbot-renew\n volumes:\n - /var/run/docker.sock:/var/run/docker.sock\n depends_on:\n - certbot\n - nginx\n entrypoint: [\"/bin/sh\", \"-c\"]\n command: \"while true; do sleep 43200; docker exec certbot certbot renew --webroot -w /var/www/certbot --quiet && docker exec nginx nginx -s reload || true; done\"\n restart: unless-stopped";
|
|
6
|
+
export declare const INFRA_CERTBOT_SERVICES_TEMPLATE = " certbot:\n image: certbot/certbot:latest\n container_name: certbot\n volumes:\n - certbot-etc:/etc/letsencrypt\n - certbot-www:/var/www/certbot\n entrypoint: [\"/bin/sh\", \"-c\"]\n command: \"trap 'exit 0' TERM; while true; do sleep 86400; done\"\n restart: unless-stopped\n\n certbot-renew:\n image: docker:cli\n container_name: certbot-renew\n volumes:\n - /var/run/docker.sock:/var/run/docker.sock\n depends_on:\n - certbot\n - nginx\n entrypoint: [\"/bin/sh\", \"-c\"]\n command: \"while true; do sleep 43200; docker exec certbot certbot renew --webroot -w /var/www/certbot --quiet && docker exec nginx nginx -s reload || true; done\"\n restart: unless-stopped";
|
|
7
7
|
export declare const INFRA_CERTBOT_VOLUMES: readonly ["certbot-etc", "certbot-www"];
|
|
8
8
|
//# sourceMappingURL=templates.d.ts.map
|
package/dist/templates.d.ts.map
CHANGED
|
@@ -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,ylFAuFhC,CAAC;AAEF,eAAO,MAAM,0BAA0B,wPAUX,CAAC;AAE7B,eAAO,MAAM,8BAA8B,yVAaf,CAAC;AAE7B,eAAO,MAAM,6BAA6B,
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,02GAqHlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,ylFAuFhC,CAAC;AAEF,eAAO,MAAM,0BAA0B,wPAUX,CAAC;AAE7B,eAAO,MAAM,8BAA8B,yVAaf,CAAC;AAE7B,eAAO,MAAM,6BAA6B,iuBAoBd,CAAC;AAE7B,eAAO,MAAM,+BAA+B,iuBAoBhB,CAAC;AAE7B,eAAO,MAAM,qBAAqB,yCAA0C,CAAC"}
|
package/dist/templates.js
CHANGED
|
@@ -236,7 +236,8 @@ export const APP_CERTBOT_SERVICES_TEMPLATE = ` certbot:
|
|
|
236
236
|
volumes:
|
|
237
237
|
- certbot-etc:/etc/letsencrypt
|
|
238
238
|
- certbot-www:/var/www/certbot
|
|
239
|
-
|
|
239
|
+
entrypoint: ["/bin/sh", "-c"]
|
|
240
|
+
command: "trap 'exit 0' TERM; while true; do sleep 86400; done"
|
|
240
241
|
restart: unless-stopped
|
|
241
242
|
|
|
242
243
|
certbot-renew:
|
|
@@ -247,7 +248,8 @@ export const APP_CERTBOT_SERVICES_TEMPLATE = ` certbot:
|
|
|
247
248
|
depends_on:
|
|
248
249
|
- certbot
|
|
249
250
|
- nginx
|
|
250
|
-
|
|
251
|
+
entrypoint: ["/bin/sh", "-c"]
|
|
252
|
+
command: "while true; do sleep 43200; docker exec certbot certbot renew --webroot -w /var/www/certbot --quiet && docker exec nginx nginx -s reload || true; done"
|
|
251
253
|
restart: unless-stopped`;
|
|
252
254
|
export const INFRA_CERTBOT_SERVICES_TEMPLATE = ` certbot:
|
|
253
255
|
image: certbot/certbot:latest
|
|
@@ -255,7 +257,8 @@ export const INFRA_CERTBOT_SERVICES_TEMPLATE = ` certbot:
|
|
|
255
257
|
volumes:
|
|
256
258
|
- certbot-etc:/etc/letsencrypt
|
|
257
259
|
- certbot-www:/var/www/certbot
|
|
258
|
-
|
|
260
|
+
entrypoint: ["/bin/sh", "-c"]
|
|
261
|
+
command: "trap 'exit 0' TERM; while true; do sleep 86400; done"
|
|
259
262
|
restart: unless-stopped
|
|
260
263
|
|
|
261
264
|
certbot-renew:
|
|
@@ -266,7 +269,8 @@ export const INFRA_CERTBOT_SERVICES_TEMPLATE = ` certbot:
|
|
|
266
269
|
depends_on:
|
|
267
270
|
- certbot
|
|
268
271
|
- nginx
|
|
269
|
-
|
|
272
|
+
entrypoint: ["/bin/sh", "-c"]
|
|
273
|
+
command: "while true; do sleep 43200; docker exec certbot certbot renew --webroot -w /var/www/certbot --quiet && docker exec nginx nginx -s reload || true; done"
|
|
270
274
|
restart: unless-stopped`;
|
|
271
275
|
export const INFRA_CERTBOT_VOLUMES = ['certbot-etc', 'certbot-www'];
|
|
272
276
|
//# sourceMappingURL=templates.js.map
|
package/dist/templates.js.map
CHANGED
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFnC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;4BAUd,CAAC;AAE7B,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;4BAalB,CAAC;AAE7B,MAAM,CAAC,MAAM,6BAA6B,GAAG
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFnC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;4BAUd,CAAC;AAE7B,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;4BAalB,CAAC;AAE7B,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;4BAoBjB,CAAC;AAE7B,MAAM,CAAC,MAAM,+BAA+B,GAAG;;;;;;;;;;;;;;;;;;;;4BAoBnB,CAAC;AAE7B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,aAAa,EAAE,aAAa,CAAU,CAAC"}
|
package/dist/types/errors.js
CHANGED
|
@@ -46,7 +46,7 @@ export class DockerPermissionError extends DockerError {
|
|
|
46
46
|
}
|
|
47
47
|
export class DockerComposeError extends DockerError {
|
|
48
48
|
constructor(operation, details) {
|
|
49
|
-
super(`Failed to ${operation} with docker-compose`, details || 'Check
|
|
49
|
+
super(`Failed to ${operation} with docker compose (fallback: docker-compose)`, details || 'Check service logs for more details:\n docker compose logs\n (fallback: docker-compose logs)');
|
|
50
50
|
this.name = 'DockerComposeError';
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -99,7 +99,7 @@ export class PluginConfigurationError extends ConfigurationError {
|
|
|
99
99
|
*/
|
|
100
100
|
export class ServiceHealthError extends OnboardingError {
|
|
101
101
|
constructor(serviceName, timeout) {
|
|
102
|
-
super('SERVICE_HEALTH_ERROR', `Service '${serviceName}' did not become healthy within ${timeout}ms`, `Check service logs:\n docker-compose logs ${serviceName}\n\n` +
|
|
102
|
+
super('SERVICE_HEALTH_ERROR', `Service '${serviceName}' did not become healthy within ${timeout}ms`, `Check service logs:\n docker compose logs ${serviceName}\n (fallback: docker-compose logs ${serviceName})\n\n` +
|
|
103
103
|
'Or check container status:\n docker ps -a');
|
|
104
104
|
this.name = 'ServiceHealthError';
|
|
105
105
|
}
|
package/dist/types/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAElB;IAEA;IAHpB,YACoB,IAAY,EAC5B,OAAe,EACC,eAAwB;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAQ;QAEZ,oBAAe,GAAf,eAAe,CAAS;QAGxC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,eAAe;IAC5C,YAAY,OAAe,EAAE,eAAwB;QACjD,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC9B,CAAC;CACJ;AAED,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACpD;QACI,KAAK,CACD,wCAAwC,EACxC,iEAAiE,CACpE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IAC1C,CAAC;CACJ;AAED,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IAClD;QACI,KAAK,CACD,8BAA8B,EAC9B,8DAA8D,CACjE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACxC,CAAC;CACJ;AAED,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IAClD;QACI,KAAK,CACD,yCAAyC,EACzC,+DAA+D;YAC/D,mCAAmC;YACnC,gCAAgC,CACnC,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACxC,CAAC;CACJ;AAED,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IAC/C,YAAY,SAAiB,EAAE,OAAgB;QAC3C,KAAK,CACD,aAAa,SAAS,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -86,6 +86,7 @@ describe('error types', () => {
|
|
|
86
86
|
it('should have default troubleshooting', () => {
|
|
87
87
|
const error = new DockerComposeError('operation');
|
|
88
88
|
|
|
89
|
+
expect(error.troubleshooting).toContain('docker compose logs');
|
|
89
90
|
expect(error.troubleshooting).toContain('docker-compose logs');
|
|
90
91
|
});
|
|
91
92
|
});
|
package/src/index.ts
CHANGED
|
@@ -51,6 +51,8 @@ import {
|
|
|
51
51
|
displayServiceStatus,
|
|
52
52
|
setupSslCertificates,
|
|
53
53
|
getSslManualCommands,
|
|
54
|
+
getSslDetailedInstructions,
|
|
55
|
+
reloadNginxConfiguration,
|
|
54
56
|
} from './services.js';
|
|
55
57
|
|
|
56
58
|
const program = new Command();
|
|
@@ -505,6 +507,7 @@ async function main() {
|
|
|
505
507
|
await generateNginxConfig(targetDir, setupOptions.basePath, {
|
|
506
508
|
enableSsl: setupOptions.enableSsl,
|
|
507
509
|
domain: setupOptions.sslDomain,
|
|
510
|
+
sslMode: setupOptions.enableSsl ? 'bootstrap' : 'final',
|
|
508
511
|
});
|
|
509
512
|
}
|
|
510
513
|
|
|
@@ -574,25 +577,55 @@ async function main() {
|
|
|
574
577
|
domain: setupOptions.sslDomain,
|
|
575
578
|
email: setupOptions.sslEmail,
|
|
576
579
|
});
|
|
580
|
+
|
|
581
|
+
await generateNginxConfig(targetDir, setupOptions.basePath, {
|
|
582
|
+
enableSsl: true,
|
|
583
|
+
domain: setupOptions.sslDomain,
|
|
584
|
+
sslMode: 'final',
|
|
585
|
+
});
|
|
586
|
+
|
|
587
|
+
await reloadNginxConfiguration(targetDir, {
|
|
588
|
+
composeFile: 'docker-compose.infra.yaml',
|
|
589
|
+
});
|
|
577
590
|
}
|
|
578
591
|
|
|
579
592
|
// Display service status
|
|
580
593
|
await displayServiceStatus();
|
|
581
594
|
} else {
|
|
582
|
-
log.info('Services not started. You can start them later with:');
|
|
583
|
-
const commands: string[] = [];
|
|
584
|
-
if (selectedInfraServices.length > 0) {
|
|
585
|
-
commands.push('docker compose -f docker-compose.infra.yaml up -d');
|
|
586
|
-
}
|
|
587
|
-
commands.push('docker compose up -d');
|
|
588
595
|
if (setupOptions.enableSsl && setupOptions.sslDomain && setupOptions.sslEmail) {
|
|
589
|
-
|
|
596
|
+
// Generate bootstrap nginx.conf (HTTP-only, needed so nginx can start before certs exist)
|
|
597
|
+
// This was already generated above with sslMode: 'bootstrap'
|
|
598
|
+
|
|
599
|
+
// Also generate the final SSL nginx.conf as nginx.ssl.conf
|
|
600
|
+
await generateNginxConfig(targetDir, setupOptions.basePath, {
|
|
601
|
+
enableSsl: true,
|
|
602
|
+
domain: setupOptions.sslDomain,
|
|
603
|
+
sslMode: 'final',
|
|
604
|
+
filename: 'nginx.ssl.conf',
|
|
605
|
+
});
|
|
606
|
+
|
|
607
|
+
// Print detailed step-by-step SSL setup instructions
|
|
608
|
+
const sslSteps = getSslDetailedInstructions({
|
|
590
609
|
composeFile: 'docker-compose.infra.yaml',
|
|
591
610
|
domain: setupOptions.sslDomain,
|
|
592
611
|
email: setupOptions.sslEmail,
|
|
593
|
-
|
|
612
|
+
hasInfra: selectedInfraServices.length > 0,
|
|
613
|
+
});
|
|
614
|
+
|
|
615
|
+
const numberedSteps = sslSteps
|
|
616
|
+
.map((s, i) => `${i + 1}. ${s.step}${s.command ? `\n ${s.command}` : ''}`)
|
|
617
|
+
.join('\n\n');
|
|
618
|
+
|
|
619
|
+
note(numberedSteps, 'SSL Setup — Run these commands in order');
|
|
620
|
+
} else {
|
|
621
|
+
log.info('Services not started. You can start them later with:');
|
|
622
|
+
const commands: string[] = [];
|
|
623
|
+
if (selectedInfraServices.length > 0) {
|
|
624
|
+
commands.push('docker compose -f docker-compose.infra.yaml up -d');
|
|
625
|
+
}
|
|
626
|
+
commands.push('docker compose up -d');
|
|
627
|
+
printCommandHints('Manual startup commands', commands);
|
|
594
628
|
}
|
|
595
|
-
printCommandHints('Manual startup commands', commands);
|
|
596
629
|
}
|
|
597
630
|
|
|
598
631
|
// Final success message
|
package/src/infra.ts
CHANGED
|
@@ -363,16 +363,18 @@ export async function writeAppCompose(
|
|
|
363
363
|
export async function generateNginxConfig(
|
|
364
364
|
targetDir: string,
|
|
365
365
|
basePath: string,
|
|
366
|
-
options: { enableSsl?: boolean; domain?: string } = {}
|
|
366
|
+
options: { enableSsl?: boolean; domain?: string; sslMode?: 'bootstrap' | 'final'; filename?: string } = {}
|
|
367
367
|
): Promise<void> {
|
|
368
|
+
const outputFilename = options.filename ?? 'nginx.conf';
|
|
368
369
|
const s = spinner();
|
|
369
|
-
s.start(
|
|
370
|
+
s.start(`Generating ${outputFilename}...`);
|
|
370
371
|
|
|
371
372
|
// Normalize basePath (remove leading/trailing slashes for template)
|
|
372
373
|
const normalizedPath = basePath.trim().replace(/^\/|\/$/g, '');
|
|
373
374
|
const hasBasePath = normalizedPath.length > 0;
|
|
374
375
|
const enableSsl = options.enableSsl === true;
|
|
375
376
|
const domain = options.domain?.trim() || 'localhost';
|
|
377
|
+
const sslMode = options.sslMode ?? 'final';
|
|
376
378
|
|
|
377
379
|
const proxyRoutes = `
|
|
378
380
|
location /api {
|
|
@@ -459,8 +461,21 @@ ${hasBasePath ? `
|
|
|
459
461
|
`}
|
|
460
462
|
`;
|
|
461
463
|
|
|
464
|
+
const rootRedirectPath = hasBasePath ? `/${normalizedPath}` : '/';
|
|
465
|
+
|
|
462
466
|
const nginxTemplate = enableSsl
|
|
463
|
-
?
|
|
467
|
+
? sslMode === 'bootstrap'
|
|
468
|
+
? `server {
|
|
469
|
+
listen 80;
|
|
470
|
+
server_name ${domain};
|
|
471
|
+
|
|
472
|
+
location /.well-known/acme-challenge/ {
|
|
473
|
+
root /var/www/certbot;
|
|
474
|
+
}
|
|
475
|
+
${proxyRoutes}
|
|
476
|
+
}
|
|
477
|
+
`
|
|
478
|
+
: `server {
|
|
464
479
|
listen 80;
|
|
465
480
|
server_name ${domain};
|
|
466
481
|
|
|
@@ -482,7 +497,7 @@ server {
|
|
|
482
497
|
ssl_protocols TLSv1.2 TLSv1.3;
|
|
483
498
|
ssl_prefer_server_ciphers on;
|
|
484
499
|
location = / {
|
|
485
|
-
return 302
|
|
500
|
+
return 302 ${rootRedirectPath};
|
|
486
501
|
}
|
|
487
502
|
${proxyRoutes}
|
|
488
503
|
}
|
|
@@ -493,8 +508,8 @@ server {
|
|
|
493
508
|
}
|
|
494
509
|
`;
|
|
495
510
|
|
|
496
|
-
const nginxPath = path.join(targetDir,
|
|
511
|
+
const nginxPath = path.join(targetDir, outputFilename);
|
|
497
512
|
await writeFile(nginxPath, nginxTemplate);
|
|
498
513
|
const sslLabel = enableSsl ? `, SSL domain: ${domain}` : '';
|
|
499
|
-
s.stop(`Generated
|
|
514
|
+
s.stop(`Generated ${outputFilename}${hasBasePath ? ` with base path: /${normalizedPath}` : ' (root path)'}${sslLabel}`);
|
|
500
515
|
}
|
package/src/services.ts
CHANGED
|
@@ -13,12 +13,82 @@ async function execDockerCompose(args: string[], cwd: string): Promise<void> {
|
|
|
13
13
|
try {
|
|
14
14
|
// Try newer 'docker compose' first
|
|
15
15
|
await execa('docker', ['compose', ...args], { cwd });
|
|
16
|
-
} catch (error) {
|
|
16
|
+
} catch (error: unknown) {
|
|
17
|
+
if (!shouldFallbackToLegacyCompose(error)) {
|
|
18
|
+
throw error;
|
|
19
|
+
}
|
|
17
20
|
// Fallback to legacy 'docker-compose'
|
|
18
21
|
await execa('docker-compose', args, { cwd });
|
|
19
22
|
}
|
|
20
23
|
}
|
|
21
24
|
|
|
25
|
+
function shouldFallbackToLegacyCompose(error: unknown): boolean {
|
|
26
|
+
const execaError = error as {
|
|
27
|
+
code?: string;
|
|
28
|
+
stderr?: string;
|
|
29
|
+
stdout?: string;
|
|
30
|
+
shortMessage?: string;
|
|
31
|
+
message?: string;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
if (execaError?.code === 'ENOENT') {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const output = [
|
|
39
|
+
execaError?.stderr,
|
|
40
|
+
execaError?.stdout,
|
|
41
|
+
execaError?.shortMessage,
|
|
42
|
+
execaError?.message,
|
|
43
|
+
]
|
|
44
|
+
.filter(Boolean)
|
|
45
|
+
.join('\n')
|
|
46
|
+
.toLowerCase();
|
|
47
|
+
|
|
48
|
+
return (
|
|
49
|
+
output.includes("'compose' is not a docker command") ||
|
|
50
|
+
output.includes('unknown command "compose" for "docker"')
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
async function waitForContainerRunning(
|
|
55
|
+
containerName: string,
|
|
56
|
+
timeoutMs: number = 60_000,
|
|
57
|
+
intervalMs: number = 1_500
|
|
58
|
+
): Promise<void> {
|
|
59
|
+
const maxRetries = Math.ceil(timeoutMs / intervalMs);
|
|
60
|
+
|
|
61
|
+
for (let i = 0; i < maxRetries; i++) {
|
|
62
|
+
try {
|
|
63
|
+
const { stdout } = await execa('docker', [
|
|
64
|
+
'ps',
|
|
65
|
+
'--filter',
|
|
66
|
+
`name=^${containerName}$`,
|
|
67
|
+
'--filter',
|
|
68
|
+
'status=running',
|
|
69
|
+
'--format',
|
|
70
|
+
'{{.Names}}',
|
|
71
|
+
]);
|
|
72
|
+
|
|
73
|
+
const running = stdout
|
|
74
|
+
.split('\n')
|
|
75
|
+
.map(line => line.trim())
|
|
76
|
+
.filter(Boolean)
|
|
77
|
+
.includes(containerName);
|
|
78
|
+
|
|
79
|
+
if (running) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
} catch {
|
|
83
|
+
// continue polling
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
await sleep(intervalMs);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
throw new Error(`Container '${containerName}' did not reach running state within ${timeoutMs}ms`);
|
|
90
|
+
}
|
|
91
|
+
|
|
22
92
|
type ComposeFile = 'docker-compose.yaml' | 'docker-compose.infra.yaml';
|
|
23
93
|
|
|
24
94
|
function withComposeFile(args: string[], composeFile?: ComposeFile): string[] {
|
|
@@ -45,11 +115,12 @@ export async function promptStartServices(): Promise<boolean> {
|
|
|
45
115
|
}
|
|
46
116
|
|
|
47
117
|
/**
|
|
48
|
-
* Starts infrastructure services using docker
|
|
49
|
-
* Runs `docker
|
|
118
|
+
* Starts infrastructure services using docker compose.
|
|
119
|
+
* Runs `docker compose -f docker-compose.infra.yaml up -d` first,
|
|
120
|
+
* then falls back to `docker-compose -f docker-compose.infra.yaml up -d`.
|
|
50
121
|
*
|
|
51
122
|
* @param targetDir - Directory containing docker-compose.infra.yaml
|
|
52
|
-
* @throws Error if docker-compose
|
|
123
|
+
* @throws Error if both docker compose and docker-compose commands fail
|
|
53
124
|
*/
|
|
54
125
|
export async function startInfraServices(targetDir: string): Promise<void> {
|
|
55
126
|
logInfo('Starting infrastructure services...');
|
|
@@ -144,13 +215,73 @@ export function getSslManualCommands(options: {
|
|
|
144
215
|
: '';
|
|
145
216
|
|
|
146
217
|
return [
|
|
147
|
-
`docker compose ${composeFlag}up -d nginx
|
|
148
|
-
`docker compose ${composeFlag}
|
|
218
|
+
`docker compose ${composeFlag}up -d nginx`,
|
|
219
|
+
`docker compose ${composeFlag}run --rm --no-deps --entrypoint certbot certbot certonly --webroot -w /var/www/certbot --email ${options.email} --agree-tos --no-eff-email -d ${options.domain} --non-interactive`,
|
|
149
220
|
`docker compose ${composeFlag}exec -T nginx nginx -s reload`,
|
|
150
221
|
`docker compose ${composeFlag}up -d certbot-renew`,
|
|
151
222
|
];
|
|
152
223
|
}
|
|
153
224
|
|
|
225
|
+
/**
|
|
226
|
+
* Returns detailed step-by-step manual SSL setup instructions.
|
|
227
|
+
* Includes the nginx.conf swap from bootstrap → final (nginx.ssl.conf → nginx.conf).
|
|
228
|
+
*/
|
|
229
|
+
export function getSslDetailedInstructions(options: {
|
|
230
|
+
composeFile: ComposeFile;
|
|
231
|
+
domain: string;
|
|
232
|
+
email: string;
|
|
233
|
+
hasInfra: boolean;
|
|
234
|
+
}): { step: string; command?: string }[] {
|
|
235
|
+
const composeFlag = options.composeFile === 'docker-compose.infra.yaml'
|
|
236
|
+
? '-f docker-compose.infra.yaml '
|
|
237
|
+
: '';
|
|
238
|
+
|
|
239
|
+
const steps: { step: string; command?: string }[] = [];
|
|
240
|
+
|
|
241
|
+
if (options.hasInfra) {
|
|
242
|
+
steps.push({
|
|
243
|
+
step: 'Start infrastructure services (includes nginx with HTTP-only bootstrap config)',
|
|
244
|
+
command: `docker compose ${composeFlag}up -d`,
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
steps.push({
|
|
249
|
+
step: 'Start application services',
|
|
250
|
+
command: 'docker compose up -d',
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
if (!options.hasInfra) {
|
|
254
|
+
steps.push({
|
|
255
|
+
step: 'Ensure nginx is running for the ACME challenge',
|
|
256
|
+
command: `docker compose ${composeFlag}up -d nginx`,
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
steps.push({
|
|
261
|
+
step: `Request SSL certificate from Let's Encrypt for ${options.domain}`,
|
|
262
|
+
command: `docker compose ${composeFlag}run --rm --no-deps --entrypoint certbot certbot certonly --webroot -w /var/www/certbot --email ${options.email} --agree-tos --no-eff-email -d ${options.domain} --non-interactive`,
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
steps.push({
|
|
266
|
+
step: 'Replace bootstrap nginx config with the SSL-enabled config (nginx.ssl.conf → nginx.conf)',
|
|
267
|
+
command: process.platform === 'win32'
|
|
268
|
+
? 'copy /Y nginx.ssl.conf nginx.conf'
|
|
269
|
+
: 'cp nginx.ssl.conf nginx.conf',
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
steps.push({
|
|
273
|
+
step: 'Reload nginx to apply SSL configuration',
|
|
274
|
+
command: `docker compose ${composeFlag}exec -T nginx nginx -s reload`,
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
steps.push({
|
|
278
|
+
step: 'Start automatic certificate renewal service',
|
|
279
|
+
command: `docker compose ${composeFlag}up -d certbot-renew`,
|
|
280
|
+
});
|
|
281
|
+
|
|
282
|
+
return steps;
|
|
283
|
+
}
|
|
284
|
+
|
|
154
285
|
export async function setupSslCertificates(targetDir: string, options: {
|
|
155
286
|
composeFile: ComposeFile;
|
|
156
287
|
domain: string;
|
|
@@ -161,15 +292,18 @@ export async function setupSslCertificates(targetDir: string, options: {
|
|
|
161
292
|
const s = spinner();
|
|
162
293
|
const composeArgs = (args: string[]) => withComposeFile(args, options.composeFile);
|
|
163
294
|
|
|
164
|
-
s.start('Ensuring nginx
|
|
165
|
-
await execDockerCompose(composeArgs(['up', '-d', 'nginx'
|
|
166
|
-
|
|
295
|
+
s.start('Ensuring nginx service is running...');
|
|
296
|
+
await execDockerCompose(composeArgs(['up', '-d', 'nginx']), targetDir);
|
|
297
|
+
await waitForContainerRunning('nginx');
|
|
298
|
+
s.stop('Nginx service is running');
|
|
167
299
|
|
|
168
300
|
s.start('Requesting initial certificate from Let\'s Encrypt...');
|
|
169
301
|
await execDockerCompose(
|
|
170
302
|
composeArgs([
|
|
171
|
-
'
|
|
172
|
-
'
|
|
303
|
+
'run',
|
|
304
|
+
'--rm',
|
|
305
|
+
'--no-deps',
|
|
306
|
+
'--entrypoint',
|
|
173
307
|
'certbot',
|
|
174
308
|
'certbot',
|
|
175
309
|
'certonly',
|
|
@@ -197,6 +331,14 @@ export async function setupSslCertificates(targetDir: string, options: {
|
|
|
197
331
|
s.stop('Certificate auto-renewal service started');
|
|
198
332
|
}
|
|
199
333
|
|
|
334
|
+
export async function reloadNginxConfiguration(targetDir: string, options: {
|
|
335
|
+
composeFile: ComposeFile;
|
|
336
|
+
}): Promise<void> {
|
|
337
|
+
const composeArgs = (args: string[]) => withComposeFile(args, options.composeFile);
|
|
338
|
+
await execDockerCompose(composeArgs(['exec', '-T', 'nginx', 'nginx', '-t']), targetDir);
|
|
339
|
+
await execDockerCompose(composeArgs(['exec', '-T', 'nginx', 'nginx', '-s', 'reload']), targetDir);
|
|
340
|
+
}
|
|
341
|
+
|
|
200
342
|
/**
|
|
201
343
|
* Display service status and URLs
|
|
202
344
|
*/
|
package/src/templates.ts
CHANGED
|
@@ -241,7 +241,8 @@ export const APP_CERTBOT_SERVICES_TEMPLATE = ` certbot:
|
|
|
241
241
|
volumes:
|
|
242
242
|
- certbot-etc:/etc/letsencrypt
|
|
243
243
|
- certbot-www:/var/www/certbot
|
|
244
|
-
|
|
244
|
+
entrypoint: ["/bin/sh", "-c"]
|
|
245
|
+
command: "trap 'exit 0' TERM; while true; do sleep 86400; done"
|
|
245
246
|
restart: unless-stopped
|
|
246
247
|
|
|
247
248
|
certbot-renew:
|
|
@@ -252,7 +253,8 @@ export const APP_CERTBOT_SERVICES_TEMPLATE = ` certbot:
|
|
|
252
253
|
depends_on:
|
|
253
254
|
- certbot
|
|
254
255
|
- nginx
|
|
255
|
-
|
|
256
|
+
entrypoint: ["/bin/sh", "-c"]
|
|
257
|
+
command: "while true; do sleep 43200; docker exec certbot certbot renew --webroot -w /var/www/certbot --quiet && docker exec nginx nginx -s reload || true; done"
|
|
256
258
|
restart: unless-stopped`;
|
|
257
259
|
|
|
258
260
|
export const INFRA_CERTBOT_SERVICES_TEMPLATE = ` certbot:
|
|
@@ -261,7 +263,8 @@ export const INFRA_CERTBOT_SERVICES_TEMPLATE = ` certbot:
|
|
|
261
263
|
volumes:
|
|
262
264
|
- certbot-etc:/etc/letsencrypt
|
|
263
265
|
- certbot-www:/var/www/certbot
|
|
264
|
-
|
|
266
|
+
entrypoint: ["/bin/sh", "-c"]
|
|
267
|
+
command: "trap 'exit 0' TERM; while true; do sleep 86400; done"
|
|
265
268
|
restart: unless-stopped
|
|
266
269
|
|
|
267
270
|
certbot-renew:
|
|
@@ -272,7 +275,8 @@ export const INFRA_CERTBOT_SERVICES_TEMPLATE = ` certbot:
|
|
|
272
275
|
depends_on:
|
|
273
276
|
- certbot
|
|
274
277
|
- nginx
|
|
275
|
-
|
|
278
|
+
entrypoint: ["/bin/sh", "-c"]
|
|
279
|
+
command: "while true; do sleep 43200; docker exec certbot certbot renew --webroot -w /var/www/certbot --quiet && docker exec nginx nginx -s reload || true; done"
|
|
276
280
|
restart: unless-stopped`;
|
|
277
281
|
|
|
278
282
|
export const INFRA_CERTBOT_VOLUMES = ['certbot-etc', 'certbot-www'] as const;
|
package/src/types/errors.ts
CHANGED
|
@@ -62,8 +62,8 @@ export class DockerPermissionError extends DockerError {
|
|
|
62
62
|
export class DockerComposeError extends DockerError {
|
|
63
63
|
constructor(operation: string, details?: string) {
|
|
64
64
|
super(
|
|
65
|
-
`Failed to ${operation} with docker-compose`,
|
|
66
|
-
details || 'Check
|
|
65
|
+
`Failed to ${operation} with docker compose (fallback: docker-compose)`,
|
|
66
|
+
details || 'Check service logs for more details:\n docker compose logs\n (fallback: docker-compose logs)'
|
|
67
67
|
);
|
|
68
68
|
this.name = 'DockerComposeError';
|
|
69
69
|
}
|
|
@@ -139,7 +139,7 @@ export class ServiceHealthError extends OnboardingError {
|
|
|
139
139
|
super(
|
|
140
140
|
'SERVICE_HEALTH_ERROR',
|
|
141
141
|
`Service '${serviceName}' did not become healthy within ${timeout}ms`,
|
|
142
|
-
`Check service logs:\n docker-compose logs ${serviceName}\n\n` +
|
|
142
|
+
`Check service logs:\n docker compose logs ${serviceName}\n (fallback: docker-compose logs ${serviceName})\n\n` +
|
|
143
143
|
'Or check container status:\n docker ps -a'
|
|
144
144
|
);
|
|
145
145
|
this.name = 'ServiceHealthError';
|