vps-deployer 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/dist/helpers/create_systemd_service.helper.d.ts.map +1 -1
- package/dist/helpers/create_systemd_service.helper.js +4 -2
- package/dist/helpers/create_systemd_service.helper.js.map +1 -1
- package/dist/helpers/remove_systemd_service.helper.d.ts.map +1 -1
- package/dist/helpers/remove_systemd_service.helper.js +2 -3
- package/dist/helpers/remove_systemd_service.helper.js.map +1 -1
- package/dist/helpers/start_systemd_service.helper.d.ts.map +1 -1
- package/dist/helpers/start_systemd_service.helper.js +2 -9
- package/dist/helpers/start_systemd_service.helper.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create_systemd_service.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/create_systemd_service.helper.ts"],"names":[],"mappings":"AAMA,KAAK,aAAa,GAAG;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAaF,eAAO,MAAM,oBAAoB,GAAU,8CAKxC,aAAa,
|
|
1
|
+
{"version":3,"file":"create_systemd_service.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/create_systemd_service.helper.ts"],"names":[],"mappings":"AAMA,KAAK,aAAa,GAAG;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAaF,eAAO,MAAM,oBAAoB,GAAU,8CAKxC,aAAa,kBAwCf,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { spawn } from "child_process";
|
|
1
|
+
import { execSync, spawn } from "child_process";
|
|
2
2
|
import fs from "fs";
|
|
3
3
|
import path from "path";
|
|
4
4
|
import { getHomeDir } from "./get_home_dir.helper.js";
|
|
@@ -18,7 +18,9 @@ const runSystemctl = (args) => {
|
|
|
18
18
|
export const createSystemdService = async ({ serviceName, execPath, args, workingDir, }) => {
|
|
19
19
|
const userDir = path.join(getHomeDir(), ".config", "systemd", "user");
|
|
20
20
|
const serviceFilePath = path.join(userDir, `${serviceName}.service`);
|
|
21
|
-
const
|
|
21
|
+
const nodePath = execSync("which node").toString().trim();
|
|
22
|
+
const safeArgs = args.map((a) => `"${a}"`).join(" ");
|
|
23
|
+
const execCmd = `${nodePath} ${execPath} daemon ${safeArgs}`;
|
|
22
24
|
const serviceContent = `[Unit]
|
|
23
25
|
Description=VPS Deployer Service (${serviceName})
|
|
24
26
|
After=network.target
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create_systemd_service.helper.js","sourceRoot":"","sources":["../../src/helpers/create_systemd_service.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"create_systemd_service.helper.js","sourceRoot":"","sources":["../../src/helpers/create_systemd_service.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AASrD,MAAM,YAAY,GAAG,CAAC,IAAc,EAAiB,EAAE;IACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5E,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3G,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;;gBACrB,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,UAAU,GACI,EAAE,EAAE;IAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAEtE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,WAAW,UAAU,CAAC,CAAC;IAErE,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,GAAG,QAAQ,IAAI,QAAQ,WAAW,QAAQ,EAAE,CAAC;IAE7D,MAAM,cAAc,GAAG;oCACW,WAAW;;;;YAInC,OAAO;mBACA,UAAU;;;;;;wBAML,CAAC;IAEvB,IAAI,CAAC;QACH,iCAAiC;QACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,4DAA4D;QAC5D,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QAClD,sBAAsB;QACtB,MAAM,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QACtC,cAAc,CAAC,2BAA2B,eAAe,oDAAoD,EAAE;YAC7G,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,cAAc,CAAC,yBAAyB,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1F,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove_systemd_service.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/remove_systemd_service.helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"remove_systemd_service.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/remove_systemd_service.helper.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,oBAAoB,GAAU,aAAa,MAAM,kBAc7D,CAAC"}
|
|
@@ -2,7 +2,6 @@ import { spawn } from "child_process";
|
|
|
2
2
|
import fs from "fs";
|
|
3
3
|
import path from "path";
|
|
4
4
|
import { getHomeDir } from "./get_home_dir.helper.js";
|
|
5
|
-
import { writeToLogFile } from "./logging.helper.js";
|
|
6
5
|
const runSystemctl = (args) => {
|
|
7
6
|
return new Promise((resolve, reject) => {
|
|
8
7
|
const child = spawn("systemctl", ["--user", ...args], { stdio: "inherit" });
|
|
@@ -24,10 +23,10 @@ export const removeSystemdService = async (serviceName) => {
|
|
|
24
23
|
fs.unlinkSync(serviceFilePath);
|
|
25
24
|
}
|
|
26
25
|
await runSystemctl(["daemon-reload"]);
|
|
27
|
-
|
|
26
|
+
console.log(`Service ${serviceName} removed`);
|
|
28
27
|
}
|
|
29
28
|
catch (err) {
|
|
30
|
-
|
|
29
|
+
console.log(`Failed to remove service: ${err.message}`);
|
|
31
30
|
throw err;
|
|
32
31
|
}
|
|
33
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove_systemd_service.helper.js","sourceRoot":"","sources":["../../src/helpers/remove_systemd_service.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,
|
|
1
|
+
{"version":3,"file":"remove_systemd_service.helper.js","sourceRoot":"","sources":["../../src/helpers/remove_systemd_service.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,MAAM,YAAY,GAAG,CAAC,IAAc,EAAiB,EAAE;IACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5E,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3G,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;;gBACrB,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;IAChE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,WAAW,UAAU,CAAC,CAAC;IACxG,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QAC1C,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;QAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,UAAU,CAAC,CAAA;IAC/C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QACvD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start_systemd_service.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/start_systemd_service.helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"start_systemd_service.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/start_systemd_service.helper.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,mBAAmB,GAAU,aAAa,MAAM,kBAgB5D,CAAC"}
|
|
@@ -2,7 +2,6 @@ import { spawn } from "child_process";
|
|
|
2
2
|
import fs from "fs";
|
|
3
3
|
import path from "path";
|
|
4
4
|
import { getHomeDir } from "./get_home_dir.helper.js";
|
|
5
|
-
import { writeToLogFile } from "./logging.helper.js";
|
|
6
5
|
const runSystemctl = (args) => {
|
|
7
6
|
return new Promise((resolve, reject) => {
|
|
8
7
|
const child = spawn("systemctl", ["--user", ...args], { stdio: "inherit" });
|
|
@@ -24,16 +23,10 @@ export const startSystemdService = async (serviceName) => {
|
|
|
24
23
|
await runSystemctl(["daemon-reload"]);
|
|
25
24
|
await runSystemctl(["enable", serviceName]);
|
|
26
25
|
await runSystemctl(["start", serviceName]);
|
|
27
|
-
|
|
28
|
-
level: "INFO",
|
|
29
|
-
source: "SYS",
|
|
30
|
-
});
|
|
26
|
+
console.log(`Service ${serviceName} enabled and started`);
|
|
31
27
|
}
|
|
32
28
|
catch (err) {
|
|
33
|
-
|
|
34
|
-
level: "ERROR",
|
|
35
|
-
source: "SYS",
|
|
36
|
-
});
|
|
29
|
+
console.log(`Failed to start service: ${err.message}`);
|
|
37
30
|
throw err;
|
|
38
31
|
}
|
|
39
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start_systemd_service.helper.js","sourceRoot":"","sources":["../../src/helpers/start_systemd_service.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,KAAK,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,
|
|
1
|
+
{"version":3,"file":"start_systemd_service.helper.js","sourceRoot":"","sources":["../../src/helpers/start_systemd_service.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,KAAK,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,MAAM,YAAY,GAAG,CAAC,IAAc,EAAiB,EAAE;IACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5E,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3G,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;;gBACrB,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;IAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,WAAW,UAAU,CAAC,CAAC;IACxG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,6BAA6B,eAAe,+EAA+E,CAC5H,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QACtC,MAAM,YAAY,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC5C,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,sBAAsB,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QACtD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vps-deployer",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "A lightweight, self-hosted continuous deployment (CD) system with a built-in web UI — manages projects on your VPS, accepts GitHub webhooks for automatic deployments, and sends real-time email notifications on deployment events",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|