@better-openclaw/core 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/dist/bare-metal-partition.d.mts.map +1 -1
- package/dist/bare-metal-partition.mjs +1 -0
- package/dist/bare-metal-partition.mjs.map +1 -1
- package/dist/composer.d.mts.map +1 -1
- package/dist/composer.mjs +11 -1
- package/dist/composer.mjs.map +1 -1
- package/dist/errors.d.mts +17 -0
- package/dist/errors.d.mts.map +1 -0
- package/dist/errors.mjs +24 -0
- package/dist/errors.mjs.map +1 -0
- package/dist/generate.d.mts +4 -3
- package/dist/generate.d.mts.map +1 -1
- package/dist/generate.mjs +13 -5
- package/dist/generate.mjs.map +1 -1
- package/dist/generators/traefik.d.mts +19 -0
- package/dist/generators/traefik.d.mts.map +1 -0
- package/dist/generators/traefik.mjs +86 -0
- package/dist/generators/traefik.mjs.map +1 -0
- package/dist/generators/traefik.test.d.mts +1 -0
- package/dist/generators/traefik.test.mjs +69 -0
- package/dist/generators/traefik.test.mjs.map +1 -0
- package/dist/index.d.mts +4 -2
- package/dist/index.mjs +4 -2
- package/dist/migrations.d.mts +14 -0
- package/dist/migrations.d.mts.map +1 -0
- package/dist/migrations.mjs +33 -0
- package/dist/migrations.mjs.map +1 -0
- package/dist/migrations.test.d.mts +1 -0
- package/dist/migrations.test.mjs +42 -0
- package/dist/migrations.test.mjs.map +1 -0
- package/dist/resolver.d.mts +6 -1
- package/dist/resolver.d.mts.map +1 -1
- package/dist/resolver.mjs +21 -3
- package/dist/resolver.mjs.map +1 -1
- package/dist/schema.d.mts +9 -0
- package/dist/schema.d.mts.map +1 -1
- package/dist/schema.mjs +4 -1
- package/dist/schema.mjs.map +1 -1
- package/dist/services/definitions/caddy.mjs +20 -1
- package/dist/services/definitions/caddy.mjs.map +1 -1
- package/dist/services/definitions/cal-com.d.mts +7 -0
- package/dist/services/definitions/cal-com.d.mts.map +1 -0
- package/dist/services/definitions/cal-com.mjs +88 -0
- package/dist/services/definitions/cal-com.mjs.map +1 -0
- package/dist/services/definitions/comfyui.d.mts +7 -0
- package/dist/services/definitions/comfyui.d.mts.map +1 -0
- package/dist/services/definitions/comfyui.mjs +83 -0
- package/dist/services/definitions/comfyui.mjs.map +1 -0
- package/dist/services/definitions/desktop-environment.d.mts +7 -0
- package/dist/services/definitions/desktop-environment.d.mts.map +1 -0
- package/dist/services/definitions/desktop-environment.mjs +153 -0
- package/dist/services/definitions/desktop-environment.mjs.map +1 -0
- package/dist/services/definitions/grafana.mjs +13 -1
- package/dist/services/definitions/grafana.mjs.map +1 -1
- package/dist/services/definitions/index.d.mts +7 -1
- package/dist/services/definitions/index.d.mts.map +1 -1
- package/dist/services/definitions/index.mjs +14 -2
- package/dist/services/definitions/index.mjs.map +1 -1
- package/dist/services/definitions/neo4j.d.mts +7 -0
- package/dist/services/definitions/neo4j.d.mts.map +1 -0
- package/dist/services/definitions/neo4j.mjs +91 -0
- package/dist/services/definitions/neo4j.mjs.map +1 -0
- package/dist/services/definitions/stream-gateway.d.mts +7 -0
- package/dist/services/definitions/stream-gateway.d.mts.map +1 -0
- package/dist/services/definitions/stream-gateway.mjs +133 -0
- package/dist/services/definitions/stream-gateway.mjs.map +1 -0
- package/dist/services/definitions/traefik.mjs +0 -1
- package/dist/services/definitions/traefik.mjs.map +1 -1
- package/dist/services/definitions/xyops.d.mts +7 -0
- package/dist/services/definitions/xyops.d.mts.map +1 -0
- package/dist/services/definitions/xyops.mjs +86 -0
- package/dist/services/definitions/xyops.mjs.map +1 -0
- package/dist/types.d.mts +8 -1
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +10 -0
- package/dist/types.mjs.map +1 -1
- package/dist/validator.mjs +11 -0
- package/dist/validator.mjs.map +1 -1
- package/dist/version-manager.d.mts +1 -1
- package/dist/version-manager.d.mts.map +1 -1
- package/dist/version-manager.mjs +11 -5
- package/dist/version-manager.mjs.map +1 -1
- package/dist/version-manager.test.d.mts +1 -0
- package/dist/version-manager.test.mjs +102 -0
- package/dist/version-manager.test.mjs.map +1 -0
- package/package.json +1 -1
- package/src/__snapshots__/composer.snapshot.test.ts.snap +15 -1
- package/src/bare-metal-partition.ts +1 -0
- package/src/composer.ts +22 -1
- package/src/errors.ts +23 -0
- package/src/generate.ts +22 -4
- package/src/generators/traefik.test.ts +97 -0
- package/src/generators/traefik.ts +104 -0
- package/src/index.ts +7 -1
- package/src/migrations.test.ts +36 -0
- package/src/migrations.ts +49 -0
- package/src/resolver.ts +37 -3
- package/src/schema.ts +3 -0
- package/src/services/definitions/caddy.ts +23 -1
- package/src/services/definitions/cal-com.ts +91 -0
- package/src/services/definitions/comfyui.ts +90 -0
- package/src/services/definitions/desktop-environment.ts +163 -0
- package/src/services/definitions/grafana.ts +16 -1
- package/src/services/definitions/index.ts +18 -0
- package/src/services/definitions/neo4j.ts +96 -0
- package/src/services/definitions/stream-gateway.ts +148 -0
- package/src/services/definitions/traefik.ts +0 -2
- package/src/services/definitions/xyops.ts +94 -0
- package/src/types.ts +7 -1
- package/src/validator.ts +16 -0
- package/src/version-manager.test.ts +134 -0
- package/src/version-manager.ts +12 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cal-com.mjs","names":[],"sources":["../../../src/services/definitions/cal-com.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const calComDefinition: ServiceDefinition = {\n\tid: \"cal-com\",\n\tname: \"Cal.com\",\n\tdescription:\n\t\t\"Open-source scheduling platform for appointments, meetings, and booking management with calendar integrations and customizable workflows.\",\n\tcategory: \"automation\",\n\ticon: \"📅\",\n\n\timage: \"calcom/cal.com\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3005,\n\t\t\tcontainer: 3000,\n\t\t\tdescription: \"Cal.com web UI\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"DATABASE_URL\",\n\t\t\tdefaultValue: \"postgresql://calcom:${CALCOM_DB_PASSWORD}@postgresql:5432/calcom\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"PostgreSQL connection URL for Cal.com\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"NEXTAUTH_SECRET\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"NextAuth.js session encryption secret\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"CALENDSO_ENCRYPTION_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Encryption key for calendar data at rest\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"NEXT_PUBLIC_WEBAPP_URL\",\n\t\t\tdefaultValue: \"http://localhost:3005\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Public URL of the Cal.com instance\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:3000 || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"60s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"CALCOM_HOST\",\n\t\t\tdefaultValue: \"cal-com\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Cal.com hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"CALCOM_PORT\",\n\t\t\tdefaultValue: \"3000\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Cal.com port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://cal.com/docs\",\n\ttags: [\"calendar\", \"scheduling\", \"booking\", \"appointments\"],\n\tmaturity: \"beta\",\n\n\trequires: [\"postgresql\"],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,mBAAsC;CAClD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,EAAE;CACX,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAY;EAAc;EAAW;EAAe;CAC3D,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comfyui.d.mts","names":[],"sources":["../../../src/services/definitions/comfyui.ts"],"mappings":";;;cAEa,iBAAA,EAAmB,iBAAA"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
//#region src/services/definitions/comfyui.ts
|
|
2
|
+
const comfyuiDefinition = {
|
|
3
|
+
id: "comfyui",
|
|
4
|
+
name: "ComfyUI",
|
|
5
|
+
description: "Node-based visual workflow editor for Stable Diffusion and other generative AI models. Design complex image/video generation pipelines with a drag-and-drop graph UI and a powerful REST API.",
|
|
6
|
+
category: "ai",
|
|
7
|
+
icon: "🎨",
|
|
8
|
+
image: "ghcr.io/ai-dock/comfyui",
|
|
9
|
+
imageTag: "latest",
|
|
10
|
+
ports: [{
|
|
11
|
+
host: 8188,
|
|
12
|
+
container: 8188,
|
|
13
|
+
description: "ComfyUI Web UI & API",
|
|
14
|
+
exposed: true
|
|
15
|
+
}],
|
|
16
|
+
volumes: [
|
|
17
|
+
{
|
|
18
|
+
name: "comfyui-models",
|
|
19
|
+
containerPath: "/opt/ComfyUI/models",
|
|
20
|
+
description: "Model checkpoint, LoRA, VAE, and ControlNet files"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: "comfyui-output",
|
|
24
|
+
containerPath: "/opt/ComfyUI/output",
|
|
25
|
+
description: "Generated images and output files"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: "comfyui-custom-nodes",
|
|
29
|
+
containerPath: "/opt/ComfyUI/custom_nodes",
|
|
30
|
+
description: "Community custom node extensions"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
environment: [],
|
|
34
|
+
healthcheck: {
|
|
35
|
+
test: "curl -f http://localhost:8188/system_stats || exit 1",
|
|
36
|
+
interval: "30s",
|
|
37
|
+
timeout: "10s",
|
|
38
|
+
retries: 3,
|
|
39
|
+
startPeriod: "60s"
|
|
40
|
+
},
|
|
41
|
+
dependsOn: [],
|
|
42
|
+
restartPolicy: "unless-stopped",
|
|
43
|
+
networks: ["openclaw-network"],
|
|
44
|
+
skills: [{
|
|
45
|
+
skillId: "comfyui-generate",
|
|
46
|
+
autoInstall: true
|
|
47
|
+
}],
|
|
48
|
+
openclawEnvVars: [{
|
|
49
|
+
key: "COMFYUI_HOST",
|
|
50
|
+
defaultValue: "comfyui",
|
|
51
|
+
secret: false,
|
|
52
|
+
description: "ComfyUI hostname for OpenClaw",
|
|
53
|
+
required: true
|
|
54
|
+
}, {
|
|
55
|
+
key: "COMFYUI_PORT",
|
|
56
|
+
defaultValue: "8188",
|
|
57
|
+
secret: false,
|
|
58
|
+
description: "ComfyUI API port for OpenClaw",
|
|
59
|
+
required: true
|
|
60
|
+
}],
|
|
61
|
+
docsUrl: "https://github.com/comfyanonymous/ComfyUI",
|
|
62
|
+
selfHostedDocsUrl: "https://github.com/comfyanonymous/ComfyUI",
|
|
63
|
+
tags: [
|
|
64
|
+
"image-generation",
|
|
65
|
+
"ai-art",
|
|
66
|
+
"stable-diffusion",
|
|
67
|
+
"workflow",
|
|
68
|
+
"node-editor",
|
|
69
|
+
"text-to-image",
|
|
70
|
+
"comfyui"
|
|
71
|
+
],
|
|
72
|
+
maturity: "experimental",
|
|
73
|
+
requires: [],
|
|
74
|
+
recommends: ["ollama"],
|
|
75
|
+
conflictsWith: [],
|
|
76
|
+
removalWarning: "⚠️ GPU INFRASTRUCTURE REQUIRED: ComfyUI requires an NVIDIA GPU with CUDA support and the NVIDIA Container Toolkit (nvidia-docker2) installed on the host. Without GPU acceleration, image generation will be extremely slow (minutes per image). Ensure your deployment target has adequate GPU resources (minimum 4 GB VRAM, 8 GB+ recommended) before adding this service.",
|
|
77
|
+
minMemoryMB: 4096,
|
|
78
|
+
gpuRequired: true
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
//#endregion
|
|
82
|
+
export { comfyuiDefinition };
|
|
83
|
+
//# sourceMappingURL=comfyui.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comfyui.mjs","names":[],"sources":["../../../src/services/definitions/comfyui.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const comfyuiDefinition: ServiceDefinition = {\n\tid: \"comfyui\",\n\tname: \"ComfyUI\",\n\tdescription:\n\t\t\"Node-based visual workflow editor for Stable Diffusion and other generative AI models. Design complex image/video generation pipelines with a drag-and-drop graph UI and a powerful REST API.\",\n\tcategory: \"ai\",\n\ticon: \"🎨\",\n\n\timage: \"ghcr.io/ai-dock/comfyui\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 8188,\n\t\t\tcontainer: 8188,\n\t\t\tdescription: \"ComfyUI Web UI & API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"comfyui-models\",\n\t\t\tcontainerPath: \"/opt/ComfyUI/models\",\n\t\t\tdescription: \"Model checkpoint, LoRA, VAE, and ControlNet files\",\n\t\t},\n\t\t{\n\t\t\tname: \"comfyui-output\",\n\t\t\tcontainerPath: \"/opt/ComfyUI/output\",\n\t\t\tdescription: \"Generated images and output files\",\n\t\t},\n\t\t{\n\t\t\tname: \"comfyui-custom-nodes\",\n\t\t\tcontainerPath: \"/opt/ComfyUI/custom_nodes\",\n\t\t\tdescription: \"Community custom node extensions\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:8188/system_stats || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"60s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"comfyui-generate\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"COMFYUI_HOST\",\n\t\t\tdefaultValue: \"comfyui\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"ComfyUI hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"COMFYUI_PORT\",\n\t\t\tdefaultValue: \"8188\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"ComfyUI API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://github.com/comfyanonymous/ComfyUI\",\n\tselfHostedDocsUrl: \"https://github.com/comfyanonymous/ComfyUI\",\n\ttags: [\n\t\t\"image-generation\",\n\t\t\"ai-art\",\n\t\t\"stable-diffusion\",\n\t\t\"workflow\",\n\t\t\"node-editor\",\n\t\t\"text-to-image\",\n\t\t\"comfyui\",\n\t],\n\tmaturity: \"experimental\",\n\n\trequires: [],\n\trecommends: [\"ollama\"],\n\tconflictsWith: [],\n\n\tremovalWarning:\n\t\t\"⚠️ GPU INFRASTRUCTURE REQUIRED: ComfyUI requires an NVIDIA GPU with CUDA support and the NVIDIA Container Toolkit (nvidia-docker2) installed on the host. Without GPU acceleration, image generation will be extremely slow (minutes per image). Ensure your deployment target has adequate GPU resources (minimum 4 GB VRAM, 8 GB+ recommended) before adding this service.\",\n\n\tminMemoryMB: 4096,\n\tgpuRequired: true,\n};\n"],"mappings":";AAEA,MAAa,oBAAuC;CACnD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS;EACR;GACC,MAAM;GACN,eAAe;GACf,aAAa;GACb;EACD;GACC,MAAM;GACN,eAAe;GACf,aAAa;GACb;EACD;GACC,MAAM;GACN,eAAe;GACf,aAAa;GACb;EACD;CACD,aAAa,EAAE;CACf,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAoB,aAAa;EAAM,CAAC;CAC5D,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,mBAAmB;CACnB,MAAM;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,SAAS;CACtB,eAAe,EAAE;CAEjB,gBACC;CAED,aAAa;CACb,aAAa;CACb"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ServiceDefinition } from "../../types.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/services/definitions/desktop-environment.d.ts
|
|
4
|
+
declare const desktopEnvironmentDefinition: ServiceDefinition;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { desktopEnvironmentDefinition };
|
|
7
|
+
//# sourceMappingURL=desktop-environment.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktop-environment.d.mts","names":[],"sources":["../../../src/services/definitions/desktop-environment.ts"],"mappings":";;;cAEa,4BAAA,EAA8B,iBAAA"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
//#region src/services/definitions/desktop-environment.ts
|
|
2
|
+
const desktopEnvironmentDefinition = {
|
|
3
|
+
id: "desktop-environment",
|
|
4
|
+
name: "Desktop Environment",
|
|
5
|
+
description: "Isolated KasmVNC-based Linux desktop that gives AI agents full computer-use capabilities — screen vision, mouse/keyboard control, file management, and application launching (VS Code, Chrome, Firefox). OBS Studio is pre-installed for optional recording or live-streaming.",
|
|
6
|
+
category: "desktop",
|
|
7
|
+
icon: "🖥️",
|
|
8
|
+
image: "kasmweb/core-ubuntu-jammy",
|
|
9
|
+
imageTag: "1.16.0",
|
|
10
|
+
ports: [
|
|
11
|
+
{
|
|
12
|
+
host: 6901,
|
|
13
|
+
container: 6901,
|
|
14
|
+
description: "KasmVNC web interface (browser-based desktop access)",
|
|
15
|
+
exposed: true
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
host: 5900,
|
|
19
|
+
container: 5900,
|
|
20
|
+
description: "VNC protocol port (native VNC clients)",
|
|
21
|
+
exposed: false
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
host: 4455,
|
|
25
|
+
container: 4455,
|
|
26
|
+
description: "OBS WebSocket control port (when OBS is running)",
|
|
27
|
+
exposed: false
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
volumes: [{
|
|
31
|
+
name: "desktop-config",
|
|
32
|
+
containerPath: "/home/kasm-user",
|
|
33
|
+
description: "Desktop user home with config persistence"
|
|
34
|
+
}, {
|
|
35
|
+
name: "desktop-workspace",
|
|
36
|
+
containerPath: "/home/kasm-user/workspace",
|
|
37
|
+
description: "Shared workspace directory for files and projects"
|
|
38
|
+
}],
|
|
39
|
+
environment: [
|
|
40
|
+
{
|
|
41
|
+
key: "VNC_PW",
|
|
42
|
+
defaultValue: "changeme",
|
|
43
|
+
secret: true,
|
|
44
|
+
description: "Password for VNC / KasmVNC web access",
|
|
45
|
+
required: true
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
key: "VNC_RESOLUTION",
|
|
49
|
+
defaultValue: "1920x1080",
|
|
50
|
+
secret: false,
|
|
51
|
+
description: "Desktop screen resolution (WidthxHeight)",
|
|
52
|
+
required: false
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
key: "SSL_VNC_ONLY",
|
|
56
|
+
defaultValue: "false",
|
|
57
|
+
secret: false,
|
|
58
|
+
description: "When false, allows HTTP/WS connections without SSL (useful for local/Docker networking)",
|
|
59
|
+
required: false
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
key: "OBS_WS_PORT",
|
|
63
|
+
defaultValue: "4455",
|
|
64
|
+
secret: false,
|
|
65
|
+
description: "OBS WebSocket port (used when OBS is launched manually)",
|
|
66
|
+
required: false
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
key: "OBS_PASSWORD",
|
|
70
|
+
defaultValue: "changeme",
|
|
71
|
+
secret: true,
|
|
72
|
+
description: "OBS WebSocket password (used when OBS is launched manually)",
|
|
73
|
+
required: false
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
healthcheck: {
|
|
77
|
+
test: "curl -sfk https://localhost:6901/ > /dev/null || curl -sf http://localhost:6901/ > /dev/null || exit 1",
|
|
78
|
+
interval: "10s",
|
|
79
|
+
timeout: "10s",
|
|
80
|
+
retries: 6,
|
|
81
|
+
startPeriod: "60s"
|
|
82
|
+
},
|
|
83
|
+
dependsOn: [],
|
|
84
|
+
restartPolicy: "unless-stopped",
|
|
85
|
+
networks: ["openclaw-network"],
|
|
86
|
+
deploy: { resources: {
|
|
87
|
+
limits: {
|
|
88
|
+
cpus: "4.0",
|
|
89
|
+
memory: "8G"
|
|
90
|
+
},
|
|
91
|
+
reservations: {
|
|
92
|
+
cpus: "2.0",
|
|
93
|
+
memory: "4G"
|
|
94
|
+
}
|
|
95
|
+
} },
|
|
96
|
+
skills: [{
|
|
97
|
+
skillId: "desktop-use",
|
|
98
|
+
autoInstall: true
|
|
99
|
+
}],
|
|
100
|
+
openclawEnvVars: [
|
|
101
|
+
{
|
|
102
|
+
key: "DESKTOP_HOST",
|
|
103
|
+
defaultValue: "desktop-environment",
|
|
104
|
+
secret: false,
|
|
105
|
+
description: "Hostname of the desktop-environment container",
|
|
106
|
+
required: true
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
key: "DESKTOP_VNC_PORT",
|
|
110
|
+
defaultValue: "6901",
|
|
111
|
+
secret: false,
|
|
112
|
+
description: "KasmVNC web port",
|
|
113
|
+
required: true
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
key: "DESKTOP_VNC_PASSWORD",
|
|
117
|
+
defaultValue: "${VNC_PW}",
|
|
118
|
+
secret: true,
|
|
119
|
+
description: "VNC password (references service password)",
|
|
120
|
+
required: true
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
docsUrl: "https://www.kasmweb.com/docs/latest/index.html",
|
|
124
|
+
tags: [
|
|
125
|
+
"computer-use",
|
|
126
|
+
"vnc",
|
|
127
|
+
"desktop",
|
|
128
|
+
"screen-capture",
|
|
129
|
+
"automation",
|
|
130
|
+
"obs",
|
|
131
|
+
"kasm"
|
|
132
|
+
],
|
|
133
|
+
maturity: "experimental",
|
|
134
|
+
requires: [],
|
|
135
|
+
recommends: ["stream-gateway"],
|
|
136
|
+
conflictsWith: [],
|
|
137
|
+
removalWarning: "⚠️ HEAVY RESOURCE USAGE: The desktop environment requires at least 4 GB RAM (8 GB recommended) and 2+ CPU cores. It runs a full Linux desktop with XFCE inside KasmVNC. OBS Studio is pre-installed but NOT auto-started — launch it manually or via agent tools when needed. Ensure your deployment target can handle these resources alongside other services.",
|
|
138
|
+
minMemoryMB: 4096,
|
|
139
|
+
gpuRequired: false,
|
|
140
|
+
nativeSupported: true,
|
|
141
|
+
nativeRecipes: [{
|
|
142
|
+
platform: "linux",
|
|
143
|
+
installSteps: ["command -v Xvfb >/dev/null 2>&1 || (command -v apt-get >/dev/null 2>&1 && sudo apt-get update -qq && sudo apt-get install -y -qq xvfb xfce4 xfce4-terminal tigervnc-standalone-server scrot xdotool xclip)", "command -v obs >/dev/null 2>&1 || (sudo add-apt-repository -y ppa:obsproject/obs-studio && sudo apt-get update -qq && sudo apt-get install -y -qq obs-studio)"],
|
|
144
|
+
startCommand: "vncserver :1 -geometry 1920x1080 -depth 24 -localhost no 2>/dev/null || Xvfb :1 -screen 0 1920x1080x24 &",
|
|
145
|
+
stopCommand: "vncserver -kill :1 2>/dev/null; killall Xvfb 2>/dev/null",
|
|
146
|
+
configPath: "/etc/vnc/xstartup",
|
|
147
|
+
configTemplate: "#!/bin/sh\n# Generated for OpenClaw bare-metal desktop\nexport DISPLAY=:1\nstartxfce4 &\n"
|
|
148
|
+
}]
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
//#endregion
|
|
152
|
+
export { desktopEnvironmentDefinition };
|
|
153
|
+
//# sourceMappingURL=desktop-environment.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktop-environment.mjs","names":[],"sources":["../../../src/services/definitions/desktop-environment.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const desktopEnvironmentDefinition: ServiceDefinition = {\n\tid: \"desktop-environment\",\n\tname: \"Desktop Environment\",\n\tdescription:\n\t\t\"Isolated KasmVNC-based Linux desktop that gives AI agents full computer-use capabilities — screen vision, mouse/keyboard control, file management, and application launching (VS Code, Chrome, Firefox). OBS Studio is pre-installed for optional recording or live-streaming.\",\n\tcategory: \"desktop\",\n\ticon: \"🖥️\",\n\n\timage: \"kasmweb/core-ubuntu-jammy\",\n\timageTag: \"1.16.0\",\n\tports: [\n\t\t{\n\t\t\thost: 6901,\n\t\t\tcontainer: 6901,\n\t\t\tdescription: \"KasmVNC web interface (browser-based desktop access)\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 5900,\n\t\t\tcontainer: 5900,\n\t\t\tdescription: \"VNC protocol port (native VNC clients)\",\n\t\t\texposed: false,\n\t\t},\n\t\t{\n\t\t\thost: 4455,\n\t\t\tcontainer: 4455,\n\t\t\tdescription: \"OBS WebSocket control port (when OBS is running)\",\n\t\t\texposed: false,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"desktop-config\",\n\t\t\tcontainerPath: \"/home/kasm-user\",\n\t\t\tdescription: \"Desktop user home with config persistence\",\n\t\t},\n\t\t{\n\t\t\tname: \"desktop-workspace\",\n\t\t\tcontainerPath: \"/home/kasm-user/workspace\",\n\t\t\tdescription: \"Shared workspace directory for files and projects\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"VNC_PW\",\n\t\t\tdefaultValue: \"changeme\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Password for VNC / KasmVNC web access\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"VNC_RESOLUTION\",\n\t\t\tdefaultValue: \"1920x1080\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Desktop screen resolution (WidthxHeight)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"SSL_VNC_ONLY\",\n\t\t\tdefaultValue: \"false\",\n\t\t\tsecret: false,\n\t\t\tdescription:\n\t\t\t\t\"When false, allows HTTP/WS connections without SSL (useful for local/Docker networking)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"OBS_WS_PORT\",\n\t\t\tdefaultValue: \"4455\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"OBS WebSocket port (used when OBS is launched manually)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"OBS_PASSWORD\",\n\t\t\tdefaultValue: \"changeme\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"OBS WebSocket password (used when OBS is launched manually)\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sfk https://localhost:6901/ > /dev/null || curl -sf http://localhost:6901/ > /dev/null || exit 1\",\n\t\tinterval: \"10s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 6,\n\t\tstartPeriod: \"60s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tdeploy: {\n\t\tresources: {\n\t\t\tlimits: { cpus: \"4.0\", memory: \"8G\" },\n\t\t\treservations: { cpus: \"2.0\", memory: \"4G\" },\n\t\t},\n\t},\n\n\tskills: [{ skillId: \"desktop-use\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"DESKTOP_HOST\",\n\t\t\tdefaultValue: \"desktop-environment\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Hostname of the desktop-environment container\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DESKTOP_VNC_PORT\",\n\t\t\tdefaultValue: \"6901\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"KasmVNC web port\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DESKTOP_VNC_PASSWORD\",\n\t\t\tdefaultValue: \"${VNC_PW}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"VNC password (references service password)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://www.kasmweb.com/docs/latest/index.html\",\n\ttags: [\n\t\t\"computer-use\",\n\t\t\"vnc\",\n\t\t\"desktop\",\n\t\t\"screen-capture\",\n\t\t\"automation\",\n\t\t\"obs\",\n\t\t\"kasm\",\n\t],\n\tmaturity: \"experimental\",\n\n\trequires: [],\n\trecommends: [\"stream-gateway\"],\n\tconflictsWith: [],\n\n\tremovalWarning:\n\t\t\"⚠️ HEAVY RESOURCE USAGE: The desktop environment requires at least 4 GB RAM (8 GB recommended) and 2+ CPU cores. It runs a full Linux desktop with XFCE inside KasmVNC. OBS Studio is pre-installed but NOT auto-started — launch it manually or via agent tools when needed. Ensure your deployment target can handle these resources alongside other services.\",\n\tminMemoryMB: 4096,\n\tgpuRequired: false,\n\n\tnativeSupported: true,\n\tnativeRecipes: [\n\t\t{\n\t\t\tplatform: \"linux\",\n\t\t\tinstallSteps: [\n\t\t\t\t\"command -v Xvfb >/dev/null 2>&1 || (command -v apt-get >/dev/null 2>&1 && sudo apt-get update -qq && sudo apt-get install -y -qq xvfb xfce4 xfce4-terminal tigervnc-standalone-server scrot xdotool xclip)\",\n\t\t\t\t\"command -v obs >/dev/null 2>&1 || (sudo add-apt-repository -y ppa:obsproject/obs-studio && sudo apt-get update -qq && sudo apt-get install -y -qq obs-studio)\",\n\t\t\t],\n\t\t\tstartCommand:\n\t\t\t\t\"vncserver :1 -geometry 1920x1080 -depth 24 -localhost no 2>/dev/null || Xvfb :1 -screen 0 1920x1080x24 &\",\n\t\t\tstopCommand: \"vncserver -kill :1 2>/dev/null; killall Xvfb 2>/dev/null\",\n\t\t\tconfigPath: \"/etc/vnc/xstartup\",\n\t\t\tconfigTemplate:\n\t\t\t\t\"#!/bin/sh\\n# Generated for OpenClaw bare-metal desktop\\nexport DISPLAY=:1\\nstartxfce4 &\\n\",\n\t\t},\n\t],\n};\n"],"mappings":";AAEA,MAAa,+BAAkD;CAC9D,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO;EACN;GACC,MAAM;GACN,WAAW;GACX,aAAa;GACb,SAAS;GACT;EACD;GACC,MAAM;GACN,WAAW;GACX,aAAa;GACb,SAAS;GACT;EACD;GACC,MAAM;GACN,WAAW;GACX,aAAa;GACb,SAAS;GACT;EACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,EACD;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aACC;GACD,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EACP,WAAW;EACV,QAAQ;GAAE,MAAM;GAAO,QAAQ;GAAM;EACrC,cAAc;GAAE,MAAM;GAAO,QAAQ;GAAM;EAC3C,EACD;CAED,QAAQ,CAAC;EAAE,SAAS;EAAe,aAAa;EAAM,CAAC;CACvD,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,iBAAiB;CAC9B,eAAe,EAAE;CAEjB,gBACC;CACD,aAAa;CACb,aAAa;CAEb,iBAAiB;CACjB,eAAe,CACd;EACC,UAAU;EACV,cAAc,CACb,8MACA,gKACA;EACD,cACC;EACD,aAAa;EACb,YAAY;EACZ,gBACC;EACD,CACD;CACD"}
|
|
@@ -42,7 +42,19 @@ const grafanaDefinition = {
|
|
|
42
42
|
restartPolicy: "unless-stopped",
|
|
43
43
|
networks: ["openclaw-network"],
|
|
44
44
|
skills: [],
|
|
45
|
-
openclawEnvVars: [
|
|
45
|
+
openclawEnvVars: [{
|
|
46
|
+
key: "GRAFANA_HOST",
|
|
47
|
+
defaultValue: "grafana",
|
|
48
|
+
secret: false,
|
|
49
|
+
description: "Grafana hostname",
|
|
50
|
+
required: false
|
|
51
|
+
}, {
|
|
52
|
+
key: "GRAFANA_PORT",
|
|
53
|
+
defaultValue: "3000",
|
|
54
|
+
secret: false,
|
|
55
|
+
description: "Grafana internal port",
|
|
56
|
+
required: false
|
|
57
|
+
}],
|
|
46
58
|
docsUrl: "https://grafana.com/docs/grafana/latest/",
|
|
47
59
|
tags: [
|
|
48
60
|
"dashboards",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grafana.mjs","names":[],"sources":["../../../src/services/definitions/grafana.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const grafanaDefinition: ServiceDefinition = {\n\tid: \"grafana\",\n\tname: \"Grafana\",\n\tdescription:\n\t\t\"Open-source analytics and interactive visualization platform for metrics, logs, and traces with rich dashboards and alerting.\",\n\tcategory: \"monitoring\",\n\ticon: \"📊\",\n\n\timage: \"grafana/grafana\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3150,\n\t\t\tcontainer: 3000,\n\t\t\tdescription: \"Grafana web interface\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"grafana-data\",\n\t\t\tcontainerPath: \"/var/lib/grafana\",\n\t\t\tdescription: \"Persistent Grafana dashboards, plugins, and data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"GF_SECURITY_ADMIN_USER\",\n\t\t\tdefaultValue: \"admin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Grafana admin username\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"GF_SECURITY_ADMIN_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Grafana admin password\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:3000/api/health || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://grafana.com/docs/grafana/latest/\",\n\ttags: [\"dashboards\", \"visualization\", \"metrics\", \"monitoring\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"prometheus\"],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,oBAAuC;CACnD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,
|
|
1
|
+
{"version":3,"file":"grafana.mjs","names":[],"sources":["../../../src/services/definitions/grafana.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const grafanaDefinition: ServiceDefinition = {\n\tid: \"grafana\",\n\tname: \"Grafana\",\n\tdescription:\n\t\t\"Open-source analytics and interactive visualization platform for metrics, logs, and traces with rich dashboards and alerting.\",\n\tcategory: \"monitoring\",\n\ticon: \"📊\",\n\n\timage: \"grafana/grafana\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3150,\n\t\t\tcontainer: 3000,\n\t\t\tdescription: \"Grafana web interface\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"grafana-data\",\n\t\t\tcontainerPath: \"/var/lib/grafana\",\n\t\t\tdescription: \"Persistent Grafana dashboards, plugins, and data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"GF_SECURITY_ADMIN_USER\",\n\t\t\tdefaultValue: \"admin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Grafana admin username\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"GF_SECURITY_ADMIN_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Grafana admin password\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:3000/api/health || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"GRAFANA_HOST\",\n\t\t\tdefaultValue: \"grafana\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Grafana hostname\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"GRAFANA_PORT\",\n\t\t\tdefaultValue: \"3000\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Grafana internal port\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://grafana.com/docs/grafana/latest/\",\n\ttags: [\"dashboards\", \"visualization\", \"metrics\", \"monitoring\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"prometheus\"],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,oBAAuC;CACnD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAc;EAAiB;EAAW;EAAa;CAC9D,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
@@ -4,13 +4,16 @@ import { appflowyDefinition } from "./appflowy.mjs";
|
|
|
4
4
|
import { beszelDefinition } from "./beszel.mjs";
|
|
5
5
|
import { browserlessDefinition } from "./browserless.mjs";
|
|
6
6
|
import { caddyDefinition } from "./caddy.mjs";
|
|
7
|
+
import { calComDefinition } from "./cal-com.mjs";
|
|
7
8
|
import { chromadbDefinition } from "./chromadb.mjs";
|
|
8
9
|
import { claudeCodeDefinition } from "./claude-code.mjs";
|
|
9
10
|
import { codeServerDefinition } from "./code-server.mjs";
|
|
10
11
|
import { codexDefinition } from "./codex.mjs";
|
|
12
|
+
import { comfyuiDefinition } from "./comfyui.mjs";
|
|
11
13
|
import { convexDashboardDefinition } from "./convex-dashboard.mjs";
|
|
12
14
|
import { convexDefinition } from "./convex.mjs";
|
|
13
15
|
import { coolifyDefinition } from "./coolify.mjs";
|
|
16
|
+
import { desktopEnvironmentDefinition } from "./desktop-environment.mjs";
|
|
14
17
|
import { difyDefinition } from "./dify.mjs";
|
|
15
18
|
import { docsgptDefinition } from "./docsgpt.mjs";
|
|
16
19
|
import { dokployDefinition } from "./dokploy.mjs";
|
|
@@ -38,6 +41,7 @@ import { minioDefinition } from "./minio.mjs";
|
|
|
38
41
|
import { mixpostDefinition } from "./mixpost.mjs";
|
|
39
42
|
import { motionCanvasDefinition } from "./motion-canvas.mjs";
|
|
40
43
|
import { n8nDefinition } from "./n8n.mjs";
|
|
44
|
+
import { neo4jDefinition } from "./neo4j.mjs";
|
|
41
45
|
import { nocodbDefinition } from "./nocodb.mjs";
|
|
42
46
|
import { ntfyDefinition } from "./ntfy.mjs";
|
|
43
47
|
import { ollamaDefinition } from "./ollama.mjs";
|
|
@@ -58,6 +62,7 @@ import { rocketchatDefinition } from "./rocketchat.mjs";
|
|
|
58
62
|
import { searxngDefinition } from "./searxng.mjs";
|
|
59
63
|
import { stableDiffusionDefinition } from "./stable-diffusion.mjs";
|
|
60
64
|
import { steelBrowserDefinition } from "./steel-browser.mjs";
|
|
65
|
+
import { streamGatewayDefinition } from "./stream-gateway.mjs";
|
|
61
66
|
import { tailscaleDefinition } from "./tailscale.mjs";
|
|
62
67
|
import { temporalDefinition } from "./temporal.mjs";
|
|
63
68
|
import { traefikDefinition } from "./traefik.mjs";
|
|
@@ -68,9 +73,10 @@ import { valkeyDefinition } from "./valkey.mjs";
|
|
|
68
73
|
import { watchtowerDefinition } from "./watchtower.mjs";
|
|
69
74
|
import { weaviateDefinition } from "./weaviate.mjs";
|
|
70
75
|
import { whisperDefinition } from "./whisper.mjs";
|
|
76
|
+
import { xyopsDefinition } from "./xyops.mjs";
|
|
71
77
|
|
|
72
78
|
//#region src/services/definitions/index.d.ts
|
|
73
79
|
declare const allServiceDefinitions: ServiceDefinition[];
|
|
74
80
|
//#endregion
|
|
75
|
-
export { allServiceDefinitions, anythingLlmDefinition, appflowyDefinition, beszelDefinition, browserlessDefinition, caddyDefinition, chromadbDefinition, claudeCodeDefinition, codeServerDefinition, codexDefinition, convexDashboardDefinition, convexDefinition, coolifyDefinition, difyDefinition, docsgptDefinition, dokployDefinition, dozzleDefinition, ffmpegDefinition, flowiseDefinition, geminiCliDefinition, giteaDefinition, gotifyDefinition, grafanaDefinition, kimiDefinition, lasuiteMeetAgentsDefinition, lasuiteMeetBackendDefinition, lasuiteMeetFrontendDefinition, librechatDefinition, lightpandaDefinition, litellmDefinition, livekitDefinition, matomoDefinition, matrixSynapseDefinition, mattermostDefinition, meilisearchDefinition, minioDefinition, missionControlDefinition, mixpostDefinition, motionCanvasDefinition, n8nDefinition, nocodbDefinition, ntfyDefinition, ollamaDefinition, openWebuiDefinition, opencodeDefinition, openpanelDefinition, outlineDefinition, paperlessNgxDefinition, playwrightServerDefinition, portainerDefinition, postgresqlDefinition, postizDefinition, prometheusDefinition, qdrantDefinition, redisDefinition, remotionDefinition, rocketchatDefinition, searxngDefinition, stableDiffusionDefinition, steelBrowserDefinition, tailscaleDefinition, temporalDefinition, traefikDefinition, umamiDefinition, uptimeKumaDefinition, usesendDefinition, valkeyDefinition, watchtowerDefinition, weaviateDefinition, whisperDefinition };
|
|
81
|
+
export { allServiceDefinitions, anythingLlmDefinition, appflowyDefinition, beszelDefinition, browserlessDefinition, caddyDefinition, calComDefinition, chromadbDefinition, claudeCodeDefinition, codeServerDefinition, codexDefinition, comfyuiDefinition, convexDashboardDefinition, convexDefinition, coolifyDefinition, desktopEnvironmentDefinition, difyDefinition, docsgptDefinition, dokployDefinition, dozzleDefinition, ffmpegDefinition, flowiseDefinition, geminiCliDefinition, giteaDefinition, gotifyDefinition, grafanaDefinition, kimiDefinition, lasuiteMeetAgentsDefinition, lasuiteMeetBackendDefinition, lasuiteMeetFrontendDefinition, librechatDefinition, lightpandaDefinition, litellmDefinition, livekitDefinition, matomoDefinition, matrixSynapseDefinition, mattermostDefinition, meilisearchDefinition, minioDefinition, missionControlDefinition, mixpostDefinition, motionCanvasDefinition, n8nDefinition, neo4jDefinition, nocodbDefinition, ntfyDefinition, ollamaDefinition, openWebuiDefinition, opencodeDefinition, openpanelDefinition, outlineDefinition, paperlessNgxDefinition, playwrightServerDefinition, portainerDefinition, postgresqlDefinition, postizDefinition, prometheusDefinition, qdrantDefinition, redisDefinition, remotionDefinition, rocketchatDefinition, searxngDefinition, stableDiffusionDefinition, steelBrowserDefinition, streamGatewayDefinition, tailscaleDefinition, temporalDefinition, traefikDefinition, umamiDefinition, uptimeKumaDefinition, usesendDefinition, valkeyDefinition, watchtowerDefinition, weaviateDefinition, whisperDefinition, xyopsDefinition };
|
|
76
82
|
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/services/definitions/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/services/definitions/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyJa,qBAAA,EAAuB,iBAAA"}
|
|
@@ -3,13 +3,16 @@ import { appflowyDefinition } from "./appflowy.mjs";
|
|
|
3
3
|
import { beszelDefinition } from "./beszel.mjs";
|
|
4
4
|
import { browserlessDefinition } from "./browserless.mjs";
|
|
5
5
|
import { caddyDefinition } from "./caddy.mjs";
|
|
6
|
+
import { calComDefinition } from "./cal-com.mjs";
|
|
6
7
|
import { chromadbDefinition } from "./chromadb.mjs";
|
|
7
8
|
import { claudeCodeDefinition } from "./claude-code.mjs";
|
|
8
9
|
import { codeServerDefinition } from "./code-server.mjs";
|
|
10
|
+
import { comfyuiDefinition } from "./comfyui.mjs";
|
|
9
11
|
import { convexDefinition } from "./convex.mjs";
|
|
10
12
|
import { convexDashboardDefinition } from "./convex-dashboard.mjs";
|
|
11
13
|
import { codexDefinition } from "./codex.mjs";
|
|
12
14
|
import { coolifyDefinition } from "./coolify.mjs";
|
|
15
|
+
import { desktopEnvironmentDefinition } from "./desktop-environment.mjs";
|
|
13
16
|
import { difyDefinition } from "./dify.mjs";
|
|
14
17
|
import { docsgptDefinition } from "./docsgpt.mjs";
|
|
15
18
|
import { dokployDefinition } from "./dokploy.mjs";
|
|
@@ -37,6 +40,7 @@ import { minioDefinition } from "./minio.mjs";
|
|
|
37
40
|
import { mixpostDefinition } from "./mixpost.mjs";
|
|
38
41
|
import { motionCanvasDefinition } from "./motion-canvas.mjs";
|
|
39
42
|
import { n8nDefinition } from "./n8n.mjs";
|
|
43
|
+
import { neo4jDefinition } from "./neo4j.mjs";
|
|
40
44
|
import { nocodbDefinition } from "./nocodb.mjs";
|
|
41
45
|
import { ntfyDefinition } from "./ntfy.mjs";
|
|
42
46
|
import { ollamaDefinition } from "./ollama.mjs";
|
|
@@ -57,6 +61,7 @@ import { rocketchatDefinition } from "./rocketchat.mjs";
|
|
|
57
61
|
import { searxngDefinition } from "./searxng.mjs";
|
|
58
62
|
import { stableDiffusionDefinition } from "./stable-diffusion.mjs";
|
|
59
63
|
import { steelBrowserDefinition } from "./steel-browser.mjs";
|
|
64
|
+
import { streamGatewayDefinition } from "./stream-gateway.mjs";
|
|
60
65
|
import { tailscaleDefinition } from "./tailscale.mjs";
|
|
61
66
|
import { temporalDefinition } from "./temporal.mjs";
|
|
62
67
|
import { traefikDefinition } from "./traefik.mjs";
|
|
@@ -67,6 +72,7 @@ import { valkeyDefinition } from "./valkey.mjs";
|
|
|
67
72
|
import { watchtowerDefinition } from "./watchtower.mjs";
|
|
68
73
|
import { weaviateDefinition } from "./weaviate.mjs";
|
|
69
74
|
import { whisperDefinition } from "./whisper.mjs";
|
|
75
|
+
import { xyopsDefinition } from "./xyops.mjs";
|
|
70
76
|
|
|
71
77
|
//#region src/services/definitions/index.ts
|
|
72
78
|
const allServiceDefinitions = [
|
|
@@ -103,6 +109,7 @@ const allServiceDefinitions = [
|
|
|
103
109
|
rocketchatDefinition,
|
|
104
110
|
mattermostDefinition,
|
|
105
111
|
stableDiffusionDefinition,
|
|
112
|
+
comfyuiDefinition,
|
|
106
113
|
playwrightServerDefinition,
|
|
107
114
|
openWebuiDefinition,
|
|
108
115
|
librechatDefinition,
|
|
@@ -138,9 +145,14 @@ const allServiceDefinitions = [
|
|
|
138
145
|
livekitDefinition,
|
|
139
146
|
lasuiteMeetBackendDefinition,
|
|
140
147
|
lasuiteMeetFrontendDefinition,
|
|
141
|
-
lasuiteMeetAgentsDefinition
|
|
148
|
+
lasuiteMeetAgentsDefinition,
|
|
149
|
+
desktopEnvironmentDefinition,
|
|
150
|
+
streamGatewayDefinition,
|
|
151
|
+
neo4jDefinition,
|
|
152
|
+
calComDefinition,
|
|
153
|
+
xyopsDefinition
|
|
142
154
|
];
|
|
143
155
|
|
|
144
156
|
//#endregion
|
|
145
|
-
export { allServiceDefinitions, anythingLlmDefinition, appflowyDefinition, beszelDefinition, browserlessDefinition, caddyDefinition, chromadbDefinition, claudeCodeDefinition, codeServerDefinition, codexDefinition, convexDashboardDefinition, convexDefinition, coolifyDefinition, difyDefinition, docsgptDefinition, dokployDefinition, dozzleDefinition, ffmpegDefinition, flowiseDefinition, geminiCliDefinition, giteaDefinition, gotifyDefinition, grafanaDefinition, kimiDefinition, lasuiteMeetAgentsDefinition, lasuiteMeetBackendDefinition, lasuiteMeetFrontendDefinition, librechatDefinition, lightpandaDefinition, litellmDefinition, livekitDefinition, matomoDefinition, matrixSynapseDefinition, mattermostDefinition, meilisearchDefinition, minioDefinition, missionControlDefinition, mixpostDefinition, motionCanvasDefinition, n8nDefinition, nocodbDefinition, ntfyDefinition, ollamaDefinition, openWebuiDefinition, opencodeDefinition, openpanelDefinition, outlineDefinition, paperlessNgxDefinition, playwrightServerDefinition, portainerDefinition, postgresqlDefinition, postizDefinition, prometheusDefinition, qdrantDefinition, redisDefinition, remotionDefinition, rocketchatDefinition, searxngDefinition, stableDiffusionDefinition, steelBrowserDefinition, tailscaleDefinition, temporalDefinition, traefikDefinition, umamiDefinition, uptimeKumaDefinition, usesendDefinition, valkeyDefinition, watchtowerDefinition, weaviateDefinition, whisperDefinition };
|
|
157
|
+
export { allServiceDefinitions, anythingLlmDefinition, appflowyDefinition, beszelDefinition, browserlessDefinition, caddyDefinition, calComDefinition, chromadbDefinition, claudeCodeDefinition, codeServerDefinition, codexDefinition, comfyuiDefinition, convexDashboardDefinition, convexDefinition, coolifyDefinition, desktopEnvironmentDefinition, difyDefinition, docsgptDefinition, dokployDefinition, dozzleDefinition, ffmpegDefinition, flowiseDefinition, geminiCliDefinition, giteaDefinition, gotifyDefinition, grafanaDefinition, kimiDefinition, lasuiteMeetAgentsDefinition, lasuiteMeetBackendDefinition, lasuiteMeetFrontendDefinition, librechatDefinition, lightpandaDefinition, litellmDefinition, livekitDefinition, matomoDefinition, matrixSynapseDefinition, mattermostDefinition, meilisearchDefinition, minioDefinition, missionControlDefinition, mixpostDefinition, motionCanvasDefinition, n8nDefinition, neo4jDefinition, nocodbDefinition, ntfyDefinition, ollamaDefinition, openWebuiDefinition, opencodeDefinition, openpanelDefinition, outlineDefinition, paperlessNgxDefinition, playwrightServerDefinition, portainerDefinition, postgresqlDefinition, postizDefinition, prometheusDefinition, qdrantDefinition, redisDefinition, remotionDefinition, rocketchatDefinition, searxngDefinition, stableDiffusionDefinition, steelBrowserDefinition, streamGatewayDefinition, tailscaleDefinition, temporalDefinition, traefikDefinition, umamiDefinition, uptimeKumaDefinition, usesendDefinition, valkeyDefinition, watchtowerDefinition, weaviateDefinition, whisperDefinition, xyopsDefinition };
|
|
146
158
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/services/definitions/index.ts"],"sourcesContent":["export { anythingLlmDefinition } from \"./anything-llm.js\";\nexport { appflowyDefinition } from \"./appflowy.js\";\nexport { beszelDefinition } from \"./beszel.js\";\nexport { browserlessDefinition } from \"./browserless.js\";\nexport { caddyDefinition } from \"./caddy.js\";\nexport { chromadbDefinition } from \"./chromadb.js\";\nexport { claudeCodeDefinition } from \"./claude-code.js\";\nexport { codeServerDefinition } from \"./code-server.js\";\nexport { convexDefinition } from \"./convex.js\";\nexport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nexport { codexDefinition } from \"./codex.js\";\nexport { coolifyDefinition } from \"./coolify.js\";\nexport { difyDefinition } from \"./dify.js\";\nexport { docsgptDefinition } from \"./docsgpt.js\";\nexport { dokployDefinition } from \"./dokploy.js\";\nexport { dozzleDefinition } from \"./dozzle.js\";\nexport { ffmpegDefinition } from \"./ffmpeg.js\";\nexport { flowiseDefinition } from \"./flowise.js\";\nexport { geminiCliDefinition } from \"./gemini-cli.js\";\nexport { giteaDefinition } from \"./gitea.js\";\nexport { gotifyDefinition } from \"./gotify.js\";\nexport { grafanaDefinition } from \"./grafana.js\";\nexport { kimiDefinition } from \"./kimi.js\";\nexport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nexport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nexport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nexport { librechatDefinition } from \"./librechat.js\";\nexport { lightpandaDefinition } from \"./lightpanda.js\";\nexport { litellmDefinition } from \"./litellm.js\";\nexport { livekitDefinition } from \"./livekit.js\";\nexport { matomoDefinition } from \"./matomo.js\";\nexport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nexport { mattermostDefinition } from \"./mattermost.js\";\nexport { meilisearchDefinition } from \"./meilisearch.js\";\nexport { missionControlDefinition } from \"./mission-control.js\";\nexport { minioDefinition } from \"./minio.js\";\nexport { mixpostDefinition } from \"./mixpost.js\";\nexport { motionCanvasDefinition } from \"./motion-canvas.js\";\nexport { n8nDefinition } from \"./n8n.js\";\nexport { nocodbDefinition } from \"./nocodb.js\";\nexport { ntfyDefinition } from \"./ntfy.js\";\nexport { ollamaDefinition } from \"./ollama.js\";\nexport { openWebuiDefinition } from \"./open-webui.js\";\nexport { opencodeDefinition } from \"./opencode.js\";\nexport { openpanelDefinition } from \"./openpanel.js\";\nexport { outlineDefinition } from \"./outline.js\";\nexport { paperlessNgxDefinition } from \"./paperless-ngx.js\";\nexport { playwrightServerDefinition } from \"./playwright-server.js\";\nexport { portainerDefinition } from \"./portainer.js\";\nexport { postgresqlDefinition } from \"./postgresql.js\";\nexport { postizDefinition } from \"./postiz.js\";\nexport { prometheusDefinition } from \"./prometheus.js\";\nexport { qdrantDefinition } from \"./qdrant.js\";\nexport { redisDefinition } from \"./redis.js\";\nexport { remotionDefinition } from \"./remotion.js\";\nexport { rocketchatDefinition } from \"./rocketchat.js\";\nexport { searxngDefinition } from \"./searxng.js\";\nexport { stableDiffusionDefinition } from \"./stable-diffusion.js\";\nexport { steelBrowserDefinition } from \"./steel-browser.js\";\nexport { tailscaleDefinition } from \"./tailscale.js\";\nexport { temporalDefinition } from \"./temporal.js\";\nexport { traefikDefinition } from \"./traefik.js\";\nexport { umamiDefinition } from \"./umami.js\";\nexport { usesendDefinition } from \"./usesend.js\";\nexport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nexport { valkeyDefinition } from \"./valkey.js\";\nexport { watchtowerDefinition } from \"./watchtower.js\";\nexport { weaviateDefinition } from \"./weaviate.js\";\nexport { whisperDefinition } from \"./whisper.js\";\n\nimport type { ServiceDefinition } from \"../../types.js\";\nimport { anythingLlmDefinition } from \"./anything-llm.js\";\nimport { appflowyDefinition } from \"./appflowy.js\";\nimport { beszelDefinition } from \"./beszel.js\";\nimport { browserlessDefinition } from \"./browserless.js\";\nimport { caddyDefinition } from \"./caddy.js\";\nimport { chromadbDefinition } from \"./chromadb.js\";\nimport { claudeCodeDefinition } from \"./claude-code.js\";\nimport { codeServerDefinition } from \"./code-server.js\";\nimport { convexDefinition } from \"./convex.js\";\nimport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nimport { codexDefinition } from \"./codex.js\";\nimport { coolifyDefinition } from \"./coolify.js\";\nimport { difyDefinition } from \"./dify.js\";\nimport { docsgptDefinition } from \"./docsgpt.js\";\nimport { dokployDefinition } from \"./dokploy.js\";\nimport { dozzleDefinition } from \"./dozzle.js\";\nimport { ffmpegDefinition } from \"./ffmpeg.js\";\nimport { flowiseDefinition } from \"./flowise.js\";\nimport { geminiCliDefinition } from \"./gemini-cli.js\";\nimport { giteaDefinition } from \"./gitea.js\";\nimport { gotifyDefinition } from \"./gotify.js\";\nimport { grafanaDefinition } from \"./grafana.js\";\nimport { kimiDefinition } from \"./kimi.js\";\nimport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nimport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nimport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nimport { librechatDefinition } from \"./librechat.js\";\nimport { lightpandaDefinition } from \"./lightpanda.js\";\nimport { litellmDefinition } from \"./litellm.js\";\nimport { livekitDefinition } from \"./livekit.js\";\nimport { matomoDefinition } from \"./matomo.js\";\nimport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nimport { mattermostDefinition } from \"./mattermost.js\";\nimport { meilisearchDefinition } from \"./meilisearch.js\";\nimport { missionControlDefinition } from \"./mission-control.js\";\nimport { minioDefinition } from \"./minio.js\";\nimport { mixpostDefinition } from \"./mixpost.js\";\nimport { motionCanvasDefinition } from \"./motion-canvas.js\";\nimport { n8nDefinition } from \"./n8n.js\";\nimport { nocodbDefinition } from \"./nocodb.js\";\nimport { ntfyDefinition } from \"./ntfy.js\";\nimport { ollamaDefinition } from \"./ollama.js\";\nimport { openWebuiDefinition } from \"./open-webui.js\";\nimport { opencodeDefinition } from \"./opencode.js\";\nimport { openpanelDefinition } from \"./openpanel.js\";\nimport { outlineDefinition } from \"./outline.js\";\nimport { paperlessNgxDefinition } from \"./paperless-ngx.js\";\nimport { playwrightServerDefinition } from \"./playwright-server.js\";\nimport { portainerDefinition } from \"./portainer.js\";\nimport { postgresqlDefinition } from \"./postgresql.js\";\nimport { postizDefinition } from \"./postiz.js\";\nimport { prometheusDefinition } from \"./prometheus.js\";\nimport { qdrantDefinition } from \"./qdrant.js\";\nimport { redisDefinition } from \"./redis.js\";\nimport { remotionDefinition } from \"./remotion.js\";\nimport { rocketchatDefinition } from \"./rocketchat.js\";\nimport { searxngDefinition } from \"./searxng.js\";\nimport { stableDiffusionDefinition } from \"./stable-diffusion.js\";\nimport { steelBrowserDefinition } from \"./steel-browser.js\";\nimport { tailscaleDefinition } from \"./tailscale.js\";\nimport { temporalDefinition } from \"./temporal.js\";\nimport { traefikDefinition } from \"./traefik.js\";\nimport { umamiDefinition } from \"./umami.js\";\nimport { usesendDefinition } from \"./usesend.js\";\nimport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nimport { valkeyDefinition } from \"./valkey.js\";\nimport { watchtowerDefinition } from \"./watchtower.js\";\nimport { weaviateDefinition } from \"./weaviate.js\";\nimport { whisperDefinition } from \"./whisper.js\";\n\nexport const allServiceDefinitions: ServiceDefinition[] = [\n\tredisDefinition,\n\tqdrantDefinition,\n\tn8nDefinition,\n\tffmpegDefinition,\n\tminioDefinition,\n\tpostgresqlDefinition,\n\tcaddyDefinition,\n\ttraefikDefinition,\n\tuptimeKumaDefinition,\n\tgrafanaDefinition,\n\tprometheusDefinition,\n\tbrowserlessDefinition,\n\tsearxngDefinition,\n\tmeilisearchDefinition,\n\tollamaDefinition,\n\twhisperDefinition,\n\tchromadbDefinition,\n\tweaviateDefinition,\n\tvalkeyDefinition,\n\tgotifyDefinition,\n\tntfyDefinition,\n\tremotionDefinition,\n\tmotionCanvasDefinition,\n\ttemporalDefinition,\n\toutlineDefinition,\n\tdocsgptDefinition,\n\tpaperlessNgxDefinition,\n\tnocodbDefinition,\n\tappflowyDefinition,\n\tmatrixSynapseDefinition,\n\trocketchatDefinition,\n\tmattermostDefinition,\n\tstableDiffusionDefinition,\n\tplaywrightServerDefinition,\n\topenWebuiDefinition,\n\tlibrechatDefinition,\n\tanythingLlmDefinition,\n\tdifyDefinition,\n\tflowiseDefinition,\n\tlitellmDefinition,\n\tgiteaDefinition,\n\tcodeServerDefinition,\n\tportainerDefinition,\n\twatchtowerDefinition,\n\tdozzleDefinition,\n\tbeszelDefinition,\n\tconvexDefinition,\n\tconvexDashboardDefinition,\n\tclaudeCodeDefinition,\n\topencodeDefinition,\n\tcodexDefinition,\n\tgeminiCliDefinition,\n\tkimiDefinition,\n\tpostizDefinition,\n\tmixpostDefinition,\n\tmatomoDefinition,\n\tumamiDefinition,\n\tusesendDefinition,\n\tmissionControlDefinition,\n\topenpanelDefinition,\n\tlightpandaDefinition,\n\tsteelBrowserDefinition,\n\tcoolifyDefinition,\n\tdokployDefinition,\n\ttailscaleDefinition,\n\tlivekitDefinition,\n\tlasuiteMeetBackendDefinition,\n\tlasuiteMeetFrontendDefinition,\n\tlasuiteMeetAgentsDefinition,\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6IA,MAAa,wBAA6C;CACzD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/services/definitions/index.ts"],"sourcesContent":["export { anythingLlmDefinition } from \"./anything-llm.js\";\nexport { appflowyDefinition } from \"./appflowy.js\";\nexport { beszelDefinition } from \"./beszel.js\";\nexport { browserlessDefinition } from \"./browserless.js\";\nexport { caddyDefinition } from \"./caddy.js\";\nexport { calComDefinition } from \"./cal-com.js\";\nexport { chromadbDefinition } from \"./chromadb.js\";\nexport { claudeCodeDefinition } from \"./claude-code.js\";\nexport { codeServerDefinition } from \"./code-server.js\";\nexport { comfyuiDefinition } from \"./comfyui.js\";\nexport { convexDefinition } from \"./convex.js\";\nexport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nexport { codexDefinition } from \"./codex.js\";\nexport { coolifyDefinition } from \"./coolify.js\";\nexport { desktopEnvironmentDefinition } from \"./desktop-environment.js\";\nexport { difyDefinition } from \"./dify.js\";\nexport { docsgptDefinition } from \"./docsgpt.js\";\nexport { dokployDefinition } from \"./dokploy.js\";\nexport { dozzleDefinition } from \"./dozzle.js\";\nexport { ffmpegDefinition } from \"./ffmpeg.js\";\nexport { flowiseDefinition } from \"./flowise.js\";\nexport { geminiCliDefinition } from \"./gemini-cli.js\";\nexport { giteaDefinition } from \"./gitea.js\";\nexport { gotifyDefinition } from \"./gotify.js\";\nexport { grafanaDefinition } from \"./grafana.js\";\nexport { kimiDefinition } from \"./kimi.js\";\nexport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nexport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nexport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nexport { librechatDefinition } from \"./librechat.js\";\nexport { lightpandaDefinition } from \"./lightpanda.js\";\nexport { litellmDefinition } from \"./litellm.js\";\nexport { livekitDefinition } from \"./livekit.js\";\nexport { matomoDefinition } from \"./matomo.js\";\nexport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nexport { mattermostDefinition } from \"./mattermost.js\";\nexport { meilisearchDefinition } from \"./meilisearch.js\";\nexport { missionControlDefinition } from \"./mission-control.js\";\nexport { minioDefinition } from \"./minio.js\";\nexport { mixpostDefinition } from \"./mixpost.js\";\nexport { motionCanvasDefinition } from \"./motion-canvas.js\";\nexport { n8nDefinition } from \"./n8n.js\";\nexport { neo4jDefinition } from \"./neo4j.js\";\nexport { nocodbDefinition } from \"./nocodb.js\";\nexport { ntfyDefinition } from \"./ntfy.js\";\nexport { ollamaDefinition } from \"./ollama.js\";\nexport { openWebuiDefinition } from \"./open-webui.js\";\nexport { opencodeDefinition } from \"./opencode.js\";\nexport { openpanelDefinition } from \"./openpanel.js\";\nexport { outlineDefinition } from \"./outline.js\";\nexport { paperlessNgxDefinition } from \"./paperless-ngx.js\";\nexport { playwrightServerDefinition } from \"./playwright-server.js\";\nexport { portainerDefinition } from \"./portainer.js\";\nexport { postgresqlDefinition } from \"./postgresql.js\";\nexport { postizDefinition } from \"./postiz.js\";\nexport { prometheusDefinition } from \"./prometheus.js\";\nexport { qdrantDefinition } from \"./qdrant.js\";\nexport { redisDefinition } from \"./redis.js\";\nexport { remotionDefinition } from \"./remotion.js\";\nexport { rocketchatDefinition } from \"./rocketchat.js\";\nexport { searxngDefinition } from \"./searxng.js\";\nexport { stableDiffusionDefinition } from \"./stable-diffusion.js\";\nexport { steelBrowserDefinition } from \"./steel-browser.js\";\nexport { streamGatewayDefinition } from \"./stream-gateway.js\";\nexport { tailscaleDefinition } from \"./tailscale.js\";\nexport { temporalDefinition } from \"./temporal.js\";\nexport { traefikDefinition } from \"./traefik.js\";\nexport { umamiDefinition } from \"./umami.js\";\nexport { usesendDefinition } from \"./usesend.js\";\nexport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nexport { valkeyDefinition } from \"./valkey.js\";\nexport { watchtowerDefinition } from \"./watchtower.js\";\nexport { weaviateDefinition } from \"./weaviate.js\";\nexport { whisperDefinition } from \"./whisper.js\";\nexport { xyopsDefinition } from \"./xyops.js\";\n\nimport type { ServiceDefinition } from \"../../types.js\";\nimport { anythingLlmDefinition } from \"./anything-llm.js\";\nimport { appflowyDefinition } from \"./appflowy.js\";\nimport { beszelDefinition } from \"./beszel.js\";\nimport { browserlessDefinition } from \"./browserless.js\";\nimport { caddyDefinition } from \"./caddy.js\";\nimport { calComDefinition } from \"./cal-com.js\";\nimport { chromadbDefinition } from \"./chromadb.js\";\nimport { claudeCodeDefinition } from \"./claude-code.js\";\nimport { codeServerDefinition } from \"./code-server.js\";\nimport { comfyuiDefinition } from \"./comfyui.js\";\nimport { convexDefinition } from \"./convex.js\";\nimport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nimport { codexDefinition } from \"./codex.js\";\nimport { coolifyDefinition } from \"./coolify.js\";\nimport { desktopEnvironmentDefinition } from \"./desktop-environment.js\";\nimport { difyDefinition } from \"./dify.js\";\nimport { docsgptDefinition } from \"./docsgpt.js\";\nimport { dokployDefinition } from \"./dokploy.js\";\nimport { dozzleDefinition } from \"./dozzle.js\";\nimport { ffmpegDefinition } from \"./ffmpeg.js\";\nimport { flowiseDefinition } from \"./flowise.js\";\nimport { geminiCliDefinition } from \"./gemini-cli.js\";\nimport { giteaDefinition } from \"./gitea.js\";\nimport { gotifyDefinition } from \"./gotify.js\";\nimport { grafanaDefinition } from \"./grafana.js\";\nimport { kimiDefinition } from \"./kimi.js\";\nimport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nimport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nimport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nimport { librechatDefinition } from \"./librechat.js\";\nimport { lightpandaDefinition } from \"./lightpanda.js\";\nimport { litellmDefinition } from \"./litellm.js\";\nimport { livekitDefinition } from \"./livekit.js\";\nimport { matomoDefinition } from \"./matomo.js\";\nimport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nimport { mattermostDefinition } from \"./mattermost.js\";\nimport { meilisearchDefinition } from \"./meilisearch.js\";\nimport { missionControlDefinition } from \"./mission-control.js\";\nimport { minioDefinition } from \"./minio.js\";\nimport { mixpostDefinition } from \"./mixpost.js\";\nimport { motionCanvasDefinition } from \"./motion-canvas.js\";\nimport { n8nDefinition } from \"./n8n.js\";\nimport { neo4jDefinition } from \"./neo4j.js\";\nimport { nocodbDefinition } from \"./nocodb.js\";\nimport { ntfyDefinition } from \"./ntfy.js\";\nimport { ollamaDefinition } from \"./ollama.js\";\nimport { openWebuiDefinition } from \"./open-webui.js\";\nimport { opencodeDefinition } from \"./opencode.js\";\nimport { openpanelDefinition } from \"./openpanel.js\";\nimport { outlineDefinition } from \"./outline.js\";\nimport { paperlessNgxDefinition } from \"./paperless-ngx.js\";\nimport { playwrightServerDefinition } from \"./playwright-server.js\";\nimport { portainerDefinition } from \"./portainer.js\";\nimport { postgresqlDefinition } from \"./postgresql.js\";\nimport { postizDefinition } from \"./postiz.js\";\nimport { prometheusDefinition } from \"./prometheus.js\";\nimport { qdrantDefinition } from \"./qdrant.js\";\nimport { redisDefinition } from \"./redis.js\";\nimport { remotionDefinition } from \"./remotion.js\";\nimport { rocketchatDefinition } from \"./rocketchat.js\";\nimport { searxngDefinition } from \"./searxng.js\";\nimport { stableDiffusionDefinition } from \"./stable-diffusion.js\";\nimport { steelBrowserDefinition } from \"./steel-browser.js\";\nimport { streamGatewayDefinition } from \"./stream-gateway.js\";\nimport { tailscaleDefinition } from \"./tailscale.js\";\nimport { temporalDefinition } from \"./temporal.js\";\nimport { traefikDefinition } from \"./traefik.js\";\nimport { umamiDefinition } from \"./umami.js\";\nimport { usesendDefinition } from \"./usesend.js\";\nimport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nimport { valkeyDefinition } from \"./valkey.js\";\nimport { watchtowerDefinition } from \"./watchtower.js\";\nimport { weaviateDefinition } from \"./weaviate.js\";\nimport { whisperDefinition } from \"./whisper.js\";\nimport { xyopsDefinition } from \"./xyops.js\";\n\nexport const allServiceDefinitions: ServiceDefinition[] = [\n\tredisDefinition,\n\tqdrantDefinition,\n\tn8nDefinition,\n\tffmpegDefinition,\n\tminioDefinition,\n\tpostgresqlDefinition,\n\tcaddyDefinition,\n\ttraefikDefinition,\n\tuptimeKumaDefinition,\n\tgrafanaDefinition,\n\tprometheusDefinition,\n\tbrowserlessDefinition,\n\tsearxngDefinition,\n\tmeilisearchDefinition,\n\tollamaDefinition,\n\twhisperDefinition,\n\tchromadbDefinition,\n\tweaviateDefinition,\n\tvalkeyDefinition,\n\tgotifyDefinition,\n\tntfyDefinition,\n\tremotionDefinition,\n\tmotionCanvasDefinition,\n\ttemporalDefinition,\n\toutlineDefinition,\n\tdocsgptDefinition,\n\tpaperlessNgxDefinition,\n\tnocodbDefinition,\n\tappflowyDefinition,\n\tmatrixSynapseDefinition,\n\trocketchatDefinition,\n\tmattermostDefinition,\n\tstableDiffusionDefinition,\n\tcomfyuiDefinition,\n\tplaywrightServerDefinition,\n\topenWebuiDefinition,\n\tlibrechatDefinition,\n\tanythingLlmDefinition,\n\tdifyDefinition,\n\tflowiseDefinition,\n\tlitellmDefinition,\n\tgiteaDefinition,\n\tcodeServerDefinition,\n\tportainerDefinition,\n\twatchtowerDefinition,\n\tdozzleDefinition,\n\tbeszelDefinition,\n\tconvexDefinition,\n\tconvexDashboardDefinition,\n\tclaudeCodeDefinition,\n\topencodeDefinition,\n\tcodexDefinition,\n\tgeminiCliDefinition,\n\tkimiDefinition,\n\tpostizDefinition,\n\tmixpostDefinition,\n\tmatomoDefinition,\n\tumamiDefinition,\n\tusesendDefinition,\n\tmissionControlDefinition,\n\topenpanelDefinition,\n\tlightpandaDefinition,\n\tsteelBrowserDefinition,\n\tcoolifyDefinition,\n\tdokployDefinition,\n\ttailscaleDefinition,\n\tlivekitDefinition,\n\tlasuiteMeetBackendDefinition,\n\tlasuiteMeetFrontendDefinition,\n\tlasuiteMeetAgentsDefinition,\n\tdesktopEnvironmentDefinition,\n\tstreamGatewayDefinition,\n\tneo4jDefinition,\n\tcalComDefinition,\n\txyopsDefinition,\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyJA,MAAa,wBAA6C;CACzD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"neo4j.d.mts","names":[],"sources":["../../../src/services/definitions/neo4j.ts"],"mappings":";;;cAEa,eAAA,EAAiB,iBAAA"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
//#region src/services/definitions/neo4j.ts
|
|
2
|
+
const neo4jDefinition = {
|
|
3
|
+
id: "neo4j",
|
|
4
|
+
name: "Neo4j",
|
|
5
|
+
description: "Graph database platform for connected data, enabling knowledge graphs, fraud detection, and relationship-driven queries with the Cypher query language.",
|
|
6
|
+
category: "database",
|
|
7
|
+
icon: "🔵",
|
|
8
|
+
image: "neo4j",
|
|
9
|
+
imageTag: "5-community",
|
|
10
|
+
ports: [{
|
|
11
|
+
host: 7474,
|
|
12
|
+
container: 7474,
|
|
13
|
+
description: "Neo4j Browser (HTTP)",
|
|
14
|
+
exposed: true
|
|
15
|
+
}, {
|
|
16
|
+
host: 7687,
|
|
17
|
+
container: 7687,
|
|
18
|
+
description: "Bolt protocol",
|
|
19
|
+
exposed: true
|
|
20
|
+
}],
|
|
21
|
+
volumes: [{
|
|
22
|
+
name: "neo4j-data",
|
|
23
|
+
containerPath: "/data",
|
|
24
|
+
description: "Persistent Neo4j data"
|
|
25
|
+
}],
|
|
26
|
+
environment: [{
|
|
27
|
+
key: "NEO4J_AUTH",
|
|
28
|
+
defaultValue: "neo4j/${NEO4J_PASSWORD}",
|
|
29
|
+
secret: true,
|
|
30
|
+
description: "Neo4j authentication credentials (user/password)",
|
|
31
|
+
required: true
|
|
32
|
+
}],
|
|
33
|
+
healthcheck: {
|
|
34
|
+
test: "wget -q --spider http://localhost:7474 || exit 1",
|
|
35
|
+
interval: "30s",
|
|
36
|
+
timeout: "10s",
|
|
37
|
+
retries: 3,
|
|
38
|
+
startPeriod: "30s"
|
|
39
|
+
},
|
|
40
|
+
dependsOn: [],
|
|
41
|
+
restartPolicy: "unless-stopped",
|
|
42
|
+
networks: ["openclaw-network"],
|
|
43
|
+
skills: [],
|
|
44
|
+
openclawEnvVars: [
|
|
45
|
+
{
|
|
46
|
+
key: "NEO4J_HOST",
|
|
47
|
+
defaultValue: "neo4j",
|
|
48
|
+
secret: false,
|
|
49
|
+
description: "Neo4j hostname for OpenClaw",
|
|
50
|
+
required: true
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: "NEO4J_BOLT_PORT",
|
|
54
|
+
defaultValue: "7687",
|
|
55
|
+
secret: false,
|
|
56
|
+
description: "Neo4j Bolt protocol port for OpenClaw",
|
|
57
|
+
required: true
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
key: "NEO4J_HTTP_PORT",
|
|
61
|
+
defaultValue: "7474",
|
|
62
|
+
secret: false,
|
|
63
|
+
description: "Neo4j HTTP port for OpenClaw",
|
|
64
|
+
required: true
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
key: "NEO4J_PASSWORD",
|
|
68
|
+
defaultValue: "",
|
|
69
|
+
secret: true,
|
|
70
|
+
description: "Neo4j password for OpenClaw",
|
|
71
|
+
required: true
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
docsUrl: "https://neo4j.com/docs/",
|
|
75
|
+
tags: [
|
|
76
|
+
"graph",
|
|
77
|
+
"database",
|
|
78
|
+
"knowledge-graph",
|
|
79
|
+
"cypher"
|
|
80
|
+
],
|
|
81
|
+
maturity: "stable",
|
|
82
|
+
requires: [],
|
|
83
|
+
recommends: [],
|
|
84
|
+
conflictsWith: [],
|
|
85
|
+
minMemoryMB: 512,
|
|
86
|
+
gpuRequired: false
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
//#endregion
|
|
90
|
+
export { neo4jDefinition };
|
|
91
|
+
//# sourceMappingURL=neo4j.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"neo4j.mjs","names":[],"sources":["../../../src/services/definitions/neo4j.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const neo4jDefinition: ServiceDefinition = {\n\tid: \"neo4j\",\n\tname: \"Neo4j\",\n\tdescription:\n\t\t\"Graph database platform for connected data, enabling knowledge graphs, fraud detection, and relationship-driven queries with the Cypher query language.\",\n\tcategory: \"database\",\n\ticon: \"🔵\",\n\n\timage: \"neo4j\",\n\timageTag: \"5-community\",\n\tports: [\n\t\t{\n\t\t\thost: 7474,\n\t\t\tcontainer: 7474,\n\t\t\tdescription: \"Neo4j Browser (HTTP)\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 7687,\n\t\t\tcontainer: 7687,\n\t\t\tdescription: \"Bolt protocol\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"neo4j-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Persistent Neo4j data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"NEO4J_AUTH\",\n\t\t\tdefaultValue: \"neo4j/${NEO4J_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Neo4j authentication credentials (user/password)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:7474 || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"NEO4J_HOST\",\n\t\t\tdefaultValue: \"neo4j\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Neo4j hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"NEO4J_BOLT_PORT\",\n\t\t\tdefaultValue: \"7687\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Neo4j Bolt protocol port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"NEO4J_HTTP_PORT\",\n\t\t\tdefaultValue: \"7474\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Neo4j HTTP port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"NEO4J_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Neo4j password for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://neo4j.com/docs/\",\n\ttags: [\"graph\", \"database\", \"knowledge-graph\", \"cypher\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,kBAAqC;CACjD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAS;EAAY;EAAmB;EAAS;CACxD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|