@mks2508/coolify-mks-cli-mcp 0.3.0 → 0.3.2
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/cli/index.js +30 -4
- package/dist/coolify/index.d.ts.map +1 -1
- package/dist/index.cjs +8 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/server/stdio.js +8 -1
- package/package.json +1 -1
- package/src/cli/commands/create.ts +3 -1
- package/src/cli/commands/projects.ts +18 -1
- package/src/cli/commands/update.ts +7 -1
- package/src/cli/index.ts +9 -2
- package/src/coolify/index.ts +12 -3
package/dist/cli/index.js
CHANGED
|
@@ -11226,7 +11226,12 @@ class CoolifyService {
|
|
|
11226
11226
|
}
|
|
11227
11227
|
}
|
|
11228
11228
|
if (!response.ok) {
|
|
11229
|
-
const
|
|
11229
|
+
const parsed = data;
|
|
11230
|
+
let errorMessage = parsed?.message || `HTTP ${response.status}`;
|
|
11231
|
+
if (parsed?.errors) {
|
|
11232
|
+
const details = Object.entries(parsed.errors).map(([field, reasons]) => `${field}: ${reasons.join(", ")}`).join("; ");
|
|
11233
|
+
errorMessage += ` — ${details}`;
|
|
11234
|
+
}
|
|
11230
11235
|
return { error: errorMessage, status: response.status, durationMs };
|
|
11231
11236
|
}
|
|
11232
11237
|
return { data, status: response.status, durationMs };
|
|
@@ -11319,6 +11324,8 @@ class CoolifyService {
|
|
|
11319
11324
|
} else if (appType === "docker-compose" && options.dockerCompose) {
|
|
11320
11325
|
body.docker_compose = options.dockerCompose;
|
|
11321
11326
|
}
|
|
11327
|
+
log.debug(`Create application body: ${JSON.stringify(body, null, 2)}`);
|
|
11328
|
+
log.debug(`Endpoint: POST ${endpoint}`);
|
|
11322
11329
|
const result = await this.request(endpoint, {
|
|
11323
11330
|
method: "POST",
|
|
11324
11331
|
body: JSON.stringify(body)
|
|
@@ -11708,6 +11715,7 @@ async function createCommand2(options) {
|
|
|
11708
11715
|
portsExposes: options.ports || "3000",
|
|
11709
11716
|
dockerImage: options.dockerImage,
|
|
11710
11717
|
dockerCompose: options.dockerCompose,
|
|
11718
|
+
dockerComposeLocation: options.dockerComposeLocation,
|
|
11711
11719
|
dockerfileLocation: options.dockerfileLocation,
|
|
11712
11720
|
baseDirectory: options.baseDirectory
|
|
11713
11721
|
}, (percent, message) => {
|
|
@@ -11902,6 +11910,18 @@ async function projectsCommand(options = {}) {
|
|
|
11902
11910
|
spinner.fail(source_default.red(`Failed to initialize: ${initResult.error.message}`));
|
|
11903
11911
|
return;
|
|
11904
11912
|
}
|
|
11913
|
+
if (options.create) {
|
|
11914
|
+
spinner.text = `Creating project "${options.create}"...`;
|
|
11915
|
+
const createResult = await coolify.createProject(options.create, options.description);
|
|
11916
|
+
if (isOk(createResult)) {
|
|
11917
|
+
spinner.succeed(source_default.green(`Project created: ${source_default.cyan(createResult.value.uuid)}`));
|
|
11918
|
+
console.log(` Name: ${source_default.cyan(options.create)}`);
|
|
11919
|
+
console.log(` UUID: ${source_default.cyan(createResult.value.uuid)}`);
|
|
11920
|
+
} else {
|
|
11921
|
+
spinner.fail(source_default.red(`Failed to create project: ${createResult.error.message}`));
|
|
11922
|
+
}
|
|
11923
|
+
return;
|
|
11924
|
+
}
|
|
11905
11925
|
spinner.text = "Fetching projects...";
|
|
11906
11926
|
const result = await coolify.listProjects();
|
|
11907
11927
|
if (isOk(result)) {
|
|
@@ -12138,6 +12158,12 @@ async function updateCommand(options) {
|
|
|
12138
12158
|
updateOptions.dockerfileLocation = options.dockerfileLocation;
|
|
12139
12159
|
if (options.baseDirectory)
|
|
12140
12160
|
updateOptions.baseDirectory = options.baseDirectory;
|
|
12161
|
+
if (options.domains)
|
|
12162
|
+
updateOptions.domains = options.domains;
|
|
12163
|
+
if (options.autoDeploy !== undefined)
|
|
12164
|
+
updateOptions.isAutoDeployEnabled = options.autoDeploy;
|
|
12165
|
+
if (options.forceHttps)
|
|
12166
|
+
updateOptions.isForceHttpsEnabled = true;
|
|
12141
12167
|
if (Object.keys(updateOptions).length === 0) {
|
|
12142
12168
|
console.warn(source_default.yellow("No update options provided. Use --help to see available options."));
|
|
12143
12169
|
process.exit(0);
|
|
@@ -12334,7 +12360,7 @@ async function deploymentsCommand(uuid, options = {}) {
|
|
|
12334
12360
|
// src/cli/index.ts
|
|
12335
12361
|
var program2 = new Command;
|
|
12336
12362
|
program2.name("coolify-mcp").description("CLI for Coolify deployment management").version("0.1.0");
|
|
12337
|
-
program2.command("create").description("Create a new application").option("--name <name>", "Application name").option("--description <desc>", "Application description").option("--server <uuid>", "Server UUID").option("--project <uuid>", "Project UUID").option("--environment <uuid>", "Environment UUID (auto-fetched if not provided)").option("--repo <url>", "Git repository URL").option("--branch <branch>", "Git branch", "main").option("--type <type>", "Application type (public, private-github-app, private-deploy-key, dockerfile, docker-image, docker-compose)", "public").option("--build-pack <pack>", "Build pack (dockerfile, nixpacks, static)", "dockerfile").option("--ports <ports>", "Ports to expose (default: 3000)", "3000").option("--docker-image <image>", "Docker image (for docker-image type)").option("--docker-compose <content>", "Docker Compose content (for docker-compose type)").option("--dockerfile-location <path>", 'Dockerfile location (e.g., "apps/haidodocs/Dockerfile")').option("--base-directory <dir>", 'Base directory for build context (default: "/")', "/").action(createCommand2);
|
|
12363
|
+
program2.command("create").description("Create a new application").option("--name <name>", "Application name").option("--description <desc>", "Application description").option("--server <uuid>", "Server UUID").option("--project <uuid>", "Project UUID").option("--environment <uuid>", "Environment UUID (auto-fetched if not provided)").option("--repo <url>", "Git repository URL").option("--branch <branch>", "Git branch", "main").option("--type <type>", "Application type (public, private-github-app, private-deploy-key, dockerfile, docker-image, docker-compose)", "public").option("--build-pack <pack>", "Build pack (dockerfile, nixpacks, static, dockercompose)", "dockerfile").option("--ports <ports>", "Ports to expose (default: 3000)", "3000").option("--docker-image <image>", "Docker image (for docker-image type)").option("--docker-compose <content>", "Docker Compose content (for docker-compose type)").option("--docker-compose-location <path>", 'Docker Compose file path (for dockercompose buildPack, e.g., "docker-compose.yml")').option("--dockerfile-location <path>", 'Dockerfile location (e.g., "apps/haidodocs/Dockerfile")').option("--base-directory <dir>", 'Base directory for build context (default: "/")', "/").action(createCommand2);
|
|
12338
12364
|
program2.command("config").description("Manage configuration").argument("[action]", "Action to perform (set, get, path)").option("--key <key>", 'Configuration key (for "set" action)').option("--value <value>", 'Configuration value (for "set" action)').action(configCommand);
|
|
12339
12365
|
program2.command("list").description("List all applications").option("-t, --team <id>", "Filter by team ID").option("-p, --project <id>", "Filter by project ID").option("--full", "Show full UUIDs instead of truncated").action(listCommand);
|
|
12340
12366
|
program2.command("deploy <uuid>").description("Deploy an application").option("-f, --force", "Force rebuild without cache").option("-t, --tag <tag>", "Deploy specific tag/version").action(deployCommand);
|
|
@@ -12343,10 +12369,10 @@ program2.command("logs <uuid>").description("Get application logs").option("-n,
|
|
|
12343
12369
|
logsCommand(uuid, { lines, follow: options.follow });
|
|
12344
12370
|
});
|
|
12345
12371
|
program2.command("servers").description("List available servers").option("--full", "Show full UUIDs instead of truncated").action((options) => serversCommand(options));
|
|
12346
|
-
program2.command("projects").description("List
|
|
12372
|
+
program2.command("projects").description("List or create projects").option("--full", "Show full UUIDs instead of truncated").option("--create <name>", "Create a new project with this name").option("--description <desc>", "Project description (use with --create)").action((options) => projectsCommand(options));
|
|
12347
12373
|
program2.command("environments <projectUuid>").description("List environments for a project").option("--full", "Show full UUIDs instead of truncated").action((projectUuid, options) => environmentsCommand(projectUuid, options));
|
|
12348
12374
|
program2.command("env <uuid>").description("Manage environment variables for an application").option("--set <KEY=VALUE>", "Set an environment variable").option("--delete <KEY>", "Delete an environment variable").option("--buildtime", "Mark variable as build-time only (use with --set)").action((uuid, options) => envCommand(uuid, options));
|
|
12349
|
-
program2.command("update <uuid>").description("Update an application configuration").option("--name <name>", "Application name").option("--description <desc>", "Application description").option("--build-pack <pack>", "Build pack (dockerfile, nixpacks, static)").option("--git-branch <branch>", "Git branch").option("--ports <ports>", "Ports to expose (e.g., 3000)").option("--install-command <cmd>", "Install command (nixpacks)").option("--build-command <cmd>", "Build command").option("--start-command <cmd>", "Start command").option("--dockerfile-location <path>", 'Dockerfile location (e.g., "apps/haidodocs/Dockerfile")').option("--base-directory <dir>", 'Base directory for build context (e.g., "/")').action((uuid, options) => updateCommand({ uuid, ...options }));
|
|
12375
|
+
program2.command("update <uuid>").description("Update an application configuration").option("--name <name>", "Application name").option("--description <desc>", "Application description").option("--build-pack <pack>", "Build pack (dockerfile, nixpacks, static)").option("--git-branch <branch>", "Git branch").option("--ports <ports>", "Ports to expose (e.g., 3000)").option("--install-command <cmd>", "Install command (nixpacks)").option("--build-command <cmd>", "Build command").option("--start-command <cmd>", "Start command").option("--dockerfile-location <path>", 'Dockerfile location (e.g., "apps/haidodocs/Dockerfile")').option("--base-directory <dir>", 'Base directory for build context (e.g., "/")').option("--domains <domains>", 'Domains (comma-separated with protocol, e.g., "https://app.example.com")').option("--auto-deploy", "Enable auto-deploy on git push").option("--no-auto-deploy", "Disable auto-deploy on git push").option("--force-https", "Enable forced HTTPS redirect").action((uuid, options) => updateCommand({ uuid, ...options }));
|
|
12350
12376
|
program2.command("delete <uuid>").description("Delete an application").option("-f, --force", "Skip confirmation prompt").option("-y, --yes", "Skip confirmation prompt (alias for --force)").action((uuid, options) => deleteCommand(uuid, options));
|
|
12351
12377
|
program2.command("destinations <serverUuid>").description("List available destinations for a server").action(destinationsCommand);
|
|
12352
12378
|
program2.command("show <uuid>").description("Show detailed information about an application").action(showCommand);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/coolify/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG/D,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAA;AAcnB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,MAAM,CAAqB;IAEnC;;;;OAIG;IACH,YAAY,IAAI,OAAO;IAMvB;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IA4B1C;;;;;;OAMG;YACW,OAAO;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/coolify/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -28090,7 +28090,12 @@ var CoolifyService = class {
|
|
|
28090
28090
|
};
|
|
28091
28091
|
}
|
|
28092
28092
|
if (!response.ok) {
|
|
28093
|
-
const
|
|
28093
|
+
const parsed = data;
|
|
28094
|
+
let errorMessage = parsed?.message || `HTTP ${response.status}`;
|
|
28095
|
+
if (parsed?.errors) {
|
|
28096
|
+
const details = Object.entries(parsed.errors).map(([field, reasons]) => `${field}: ${reasons.join(", ")}`).join("; ");
|
|
28097
|
+
errorMessage += ` — ${details}`;
|
|
28098
|
+
}
|
|
28094
28099
|
return {
|
|
28095
28100
|
error: errorMessage,
|
|
28096
28101
|
status: response.status,
|
|
@@ -28197,6 +28202,8 @@ var CoolifyService = class {
|
|
|
28197
28202
|
if (options.baseDirectory) body.base_directory = options.baseDirectory;
|
|
28198
28203
|
} else if (appType === "docker-image" && options.dockerImage) body.docker_image = options.dockerImage;
|
|
28199
28204
|
else if (appType === "docker-compose" && options.dockerCompose) body.docker_compose = options.dockerCompose;
|
|
28205
|
+
log.debug(`Create application body: ${JSON.stringify(body, null, 2)}`);
|
|
28206
|
+
log.debug(`Endpoint: POST ${endpoint}`);
|
|
28200
28207
|
const result = await this.request(endpoint, {
|
|
28201
28208
|
method: "POST",
|
|
28202
28209
|
body: JSON.stringify(body)
|