@better-openclaw/core 1.0.24 → 1.0.25
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/addon-stack.cjs +673 -0
- package/dist/addon-stack.cjs.map +1 -0
- package/dist/addon-stack.d.cts +23 -0
- package/dist/addon-stack.d.cts.map +1 -0
- package/dist/addon-stack.d.mts +23 -0
- package/dist/addon-stack.d.mts.map +1 -0
- package/dist/addon-stack.mjs +671 -0
- package/dist/addon-stack.mjs.map +1 -0
- package/dist/addon-stack.test.cjs +349 -0
- package/dist/addon-stack.test.cjs.map +1 -0
- package/dist/addon-stack.test.d.cts +1 -0
- package/dist/addon-stack.test.d.mts +1 -0
- package/dist/addon-stack.test.mjs +349 -0
- package/dist/addon-stack.test.mjs.map +1 -0
- package/dist/bare-metal-partition.test.cjs +20 -20
- package/dist/bare-metal-partition.test.cjs.map +1 -1
- package/dist/bare-metal-partition.test.mjs +2 -2
- package/dist/composer.cjs +4 -0
- package/dist/composer.cjs.map +1 -1
- package/dist/composer.d.cts +24 -1
- package/dist/composer.d.cts.map +1 -1
- package/dist/composer.d.mts +24 -1
- package/dist/composer.d.mts.map +1 -1
- package/dist/composer.mjs +1 -1
- package/dist/composer.mjs.map +1 -1
- package/dist/composer.snapshot.test.cjs +20 -20
- package/dist/composer.snapshot.test.cjs.map +1 -1
- package/dist/composer.snapshot.test.mjs +2 -2
- package/dist/composer.test.cjs +53 -53
- package/dist/composer.test.cjs.map +1 -1
- package/dist/composer.test.mjs +2 -2
- package/dist/deployers/strip-host-ports.test.cjs +26 -26
- package/dist/deployers/strip-host-ports.test.cjs.map +1 -1
- package/dist/deployers/strip-host-ports.test.mjs +1 -1
- package/dist/generate.cjs +2 -2
- package/dist/generate.mjs +3 -3
- package/dist/generate.test.cjs +55 -55
- package/dist/generate.test.cjs.map +1 -1
- package/dist/generate.test.mjs +1 -1
- package/dist/generators/bare-metal-install.test.cjs +18 -18
- package/dist/generators/bare-metal-install.test.cjs.map +1 -1
- package/dist/generators/bare-metal-install.test.mjs +1 -1
- package/dist/generators/caddy.test.cjs +13 -13
- package/dist/generators/caddy.test.cjs.map +1 -1
- package/dist/generators/caddy.test.mjs +1 -1
- package/dist/generators/clone-repos.test.cjs +27 -27
- package/dist/generators/clone-repos.test.cjs.map +1 -1
- package/dist/generators/clone-repos.test.mjs +1 -1
- package/dist/generators/env.test.cjs +17 -17
- package/dist/generators/env.test.cjs.map +1 -1
- package/dist/generators/env.test.mjs +1 -1
- package/dist/generators/health-check.test.cjs +39 -39
- package/dist/generators/health-check.test.cjs.map +1 -1
- package/dist/generators/health-check.test.mjs +1 -1
- package/dist/generators/scripts.test.cjs +39 -39
- package/dist/generators/scripts.test.cjs.map +1 -1
- package/dist/generators/scripts.test.mjs +1 -1
- package/dist/generators/traefik.test.cjs +32 -32
- package/dist/generators/traefik.test.cjs.map +1 -1
- package/dist/generators/traefik.test.mjs +1 -1
- package/dist/index.cjs +20 -4
- package/dist/index.d.cts +5 -4
- package/dist/index.d.mts +5 -4
- package/dist/index.mjs +7 -6
- package/dist/migrations.test.cjs +16 -16
- package/dist/migrations.test.cjs.map +1 -1
- package/dist/migrations.test.mjs +1 -1
- package/dist/presets/registry.test.cjs +14 -14
- package/dist/presets/registry.test.cjs.map +1 -1
- package/dist/presets/registry.test.mjs +1 -1
- package/dist/resolver.test.cjs +95 -95
- package/dist/resolver.test.cjs.map +1 -1
- package/dist/resolver.test.mjs +1 -1
- package/dist/{schema-eX44HhRp.d.mts → schema-CKBRu-Rt.d.cts} +295 -2
- package/dist/schema-CKBRu-Rt.d.cts.map +1 -0
- package/dist/{schema-tn5RK8CM.d.cts → schema-Dn-_Jpb6.d.mts} +295 -2
- package/dist/schema-Dn-_Jpb6.d.mts.map +1 -0
- package/dist/schema.cjs +138 -1
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.cts +2 -2
- package/dist/schema.d.mts +2 -2
- package/dist/schema.mjs +130 -2
- package/dist/schema.mjs.map +1 -1
- package/dist/schema.test.cjs +86 -86
- package/dist/schema.test.cjs.map +1 -1
- package/dist/schema.test.mjs +1 -1
- package/dist/services/definitions/browserless.cjs +4 -1
- package/dist/services/definitions/browserless.cjs.map +1 -1
- package/dist/services/definitions/browserless.mjs +4 -1
- package/dist/services/definitions/browserless.mjs.map +1 -1
- package/dist/services/definitions/convex.cjs +43 -1
- package/dist/services/definitions/convex.cjs.map +1 -1
- package/dist/services/definitions/convex.mjs +43 -1
- package/dist/services/definitions/convex.mjs.map +1 -1
- package/dist/services/definitions/grafana.cjs +11 -1
- package/dist/services/definitions/grafana.cjs.map +1 -1
- package/dist/services/definitions/grafana.mjs +11 -1
- package/dist/services/definitions/grafana.mjs.map +1 -1
- package/dist/services/definitions/meilisearch.cjs +11 -1
- package/dist/services/definitions/meilisearch.cjs.map +1 -1
- package/dist/services/definitions/meilisearch.mjs +11 -1
- package/dist/services/definitions/meilisearch.mjs.map +1 -1
- package/dist/services/definitions/minio.cjs +3 -1
- package/dist/services/definitions/minio.cjs.map +1 -1
- package/dist/services/definitions/minio.mjs +3 -1
- package/dist/services/definitions/minio.mjs.map +1 -1
- package/dist/services/definitions/n8n.cjs +11 -1
- package/dist/services/definitions/n8n.cjs.map +1 -1
- package/dist/services/definitions/n8n.mjs +11 -1
- package/dist/services/definitions/n8n.mjs.map +1 -1
- package/dist/services/definitions/ollama.cjs +3 -1
- package/dist/services/definitions/ollama.cjs.map +1 -1
- package/dist/services/definitions/ollama.mjs +3 -1
- package/dist/services/definitions/ollama.mjs.map +1 -1
- package/dist/services/definitions/qdrant.cjs +3 -1
- package/dist/services/definitions/qdrant.cjs.map +1 -1
- package/dist/services/definitions/qdrant.mjs +3 -1
- package/dist/services/definitions/qdrant.mjs.map +1 -1
- package/dist/services/definitions/searxng.cjs +8 -1
- package/dist/services/definitions/searxng.cjs.map +1 -1
- package/dist/services/definitions/searxng.mjs +8 -1
- package/dist/services/definitions/searxng.mjs.map +1 -1
- package/dist/services/definitions/uptime-kuma.cjs +8 -1
- package/dist/services/definitions/uptime-kuma.cjs.map +1 -1
- package/dist/services/definitions/uptime-kuma.mjs +8 -1
- package/dist/services/definitions/uptime-kuma.mjs.map +1 -1
- package/dist/services/registry.test.cjs +36 -36
- package/dist/services/registry.test.cjs.map +1 -1
- package/dist/services/registry.test.mjs +1 -1
- package/dist/{vi.2VT5v0um-C_jmO7m2.mjs → test.CTcmp4Su-ClCHJ3FA.mjs} +6793 -6403
- package/dist/test.CTcmp4Su-ClCHJ3FA.mjs.map +1 -0
- package/dist/{vi.2VT5v0um-iVBt6Fyq.cjs → test.CTcmp4Su-DlzTarwH.cjs} +6793 -6403
- package/dist/test.CTcmp4Su-DlzTarwH.cjs.map +1 -0
- package/dist/track-analytics.test.cjs +28 -28
- package/dist/track-analytics.test.cjs.map +1 -1
- package/dist/track-analytics.test.mjs +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +10 -2
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +10 -2
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/validator.test.cjs +15 -15
- package/dist/validator.test.cjs.map +1 -1
- package/dist/validator.test.mjs +2 -2
- package/dist/version-manager.test.cjs +37 -37
- package/dist/version-manager.test.cjs.map +1 -1
- package/dist/version-manager.test.mjs +1 -1
- package/package.json +4 -4
- package/src/__snapshots__/composer.snapshot.test.ts.snap +5 -0
- package/src/addon-stack.test.ts +490 -0
- package/src/addon-stack.ts +998 -0
- package/src/composer.ts +4 -4
- package/src/index.ts +20 -2
- package/src/schema.ts +183 -0
- package/src/services/definitions/browserless.ts +3 -0
- package/src/services/definitions/convex.ts +31 -0
- package/src/services/definitions/grafana.ts +9 -0
- package/src/services/definitions/meilisearch.ts +9 -0
- package/src/services/definitions/minio.ts +2 -0
- package/src/services/definitions/n8n.ts +9 -0
- package/src/services/definitions/ollama.ts +2 -0
- package/src/services/definitions/qdrant.ts +2 -0
- package/src/services/definitions/searxng.ts +3 -0
- package/src/services/definitions/uptime-kuma.ts +3 -0
- package/src/types.ts +18 -0
- package/dist/schema-eX44HhRp.d.mts.map +0 -1
- package/dist/schema-tn5RK8CM.d.cts.map +0 -1
- package/dist/vi.2VT5v0um-C_jmO7m2.mjs.map +0 -1
- package/dist/vi.2VT5v0um-iVBt6Fyq.cjs.map +0 -1
|
@@ -80,6 +80,13 @@ const convexDefinition = {
|
|
|
80
80
|
secret: true,
|
|
81
81
|
description: "Admin key for CLI access. Generate with: docker compose exec convex ./generate_admin_key.sh",
|
|
82
82
|
required: false
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
key: "CONVEX_INSTANCE_SECRET",
|
|
86
|
+
defaultValue: "${INSTANCE_SECRET}",
|
|
87
|
+
secret: true,
|
|
88
|
+
description: "Convex instance secret used by Mission Control (synced with INSTANCE_SECRET)",
|
|
89
|
+
required: false
|
|
83
90
|
}
|
|
84
91
|
],
|
|
85
92
|
healthcheck: {
|
|
@@ -111,7 +118,42 @@ const convexDefinition = {
|
|
|
111
118
|
mandatory: true,
|
|
112
119
|
removalWarning: "Convex is the backend for Mission Control. Without it, Mission Control will not be able to store or retrieve any data and will be completely non-functional.",
|
|
113
120
|
minMemoryMB: 256,
|
|
114
|
-
gpuRequired: false
|
|
121
|
+
gpuRequired: false,
|
|
122
|
+
capDropCompatible: false,
|
|
123
|
+
envQuirks: [
|
|
124
|
+
{
|
|
125
|
+
key: "DISABLE_BEACON",
|
|
126
|
+
issue: "empty_string_crashes",
|
|
127
|
+
fix: {
|
|
128
|
+
type: "set_value",
|
|
129
|
+
value: "true"
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
key: "INSTANCE_SECRET",
|
|
134
|
+
issue: "min_length",
|
|
135
|
+
fix: {
|
|
136
|
+
type: "generate_hex",
|
|
137
|
+
minBytes: 32
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
key: "CONVEX_SELF_HOSTED_ADMIN_KEY",
|
|
142
|
+
issue: "min_length",
|
|
143
|
+
fix: {
|
|
144
|
+
type: "generate_hex",
|
|
145
|
+
minBytes: 32
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
key: "INSTANCE_SECRET",
|
|
150
|
+
issue: "must_sync",
|
|
151
|
+
fix: {
|
|
152
|
+
type: "sync_with",
|
|
153
|
+
syncKey: "CONVEX_INSTANCE_SECRET"
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
]
|
|
115
157
|
};
|
|
116
158
|
//#endregion
|
|
117
159
|
exports.convexDefinition = convexDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convex.cjs","names":[],"sources":["../../../src/services/definitions/convex.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const convexDefinition: ServiceDefinition = {\n\tid: \"convex\",\n\tname: \"Convex\",\n\tdescription:\n\t\t\"Self-hosted Convex reactive backend. Real-time database, server functions, and file storage in a single service. Required by Mission Control.\",\n\tcategory: \"database\",\n\ticon: \"⚡\",\n\n\timage: \"ghcr.io/get-convex/convex-backend\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3210,\n\t\t\tcontainer: 3210,\n\t\t\tdescription: \"Convex API (client connections & CLI)\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 3211,\n\t\t\tcontainer: 3211,\n\t\t\tdescription: \"Convex HTTP actions / site proxy\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"convex-data\",\n\t\t\tcontainerPath: \"/convex/data\",\n\t\t\tdescription: \"Convex data directory (SQLite by default)\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"CONVEX_CLOUD_ORIGIN\",\n\t\t\tdefaultValue: \"http://127.0.0.1:3210\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Public URL for the Convex API endpoint\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_SITE_ORIGIN\",\n\t\t\tdefaultValue: \"http://127.0.0.1:3211\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Public URL for Convex HTTP actions\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"INSTANCE_NAME\",\n\t\t\tdefaultValue: \"openclaw-convex\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Instance name for this Convex deployment\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"INSTANCE_SECRET\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Instance secret (generate a random value for production)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"DATABASE_URL\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Optional Postgres connection string for production (leave empty to use SQLite)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"RUST_LOG\",\n\t\t\tdefaultValue: \"info\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Log level for the Convex backend (debug, info, warn, error)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"DISABLE_BEACON\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Set to any value to disable anonymous usage telemetry\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_SELF_HOSTED_ADMIN_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription:\n\t\t\t\t\"Admin key for CLI access. Generate with: docker compose exec convex ./generate_admin_key.sh\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:3210/version\",\n\t\tinterval: \"5s\",\n\t\ttimeout: \"5s\",\n\t\tretries: 5,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://github.com/get-convex/convex-backend\",\n\tselfHostedDocsUrl: \"https://github.com/get-convex/convex-backend/blob/main/self-hosted/README.md\",\n\ttags: [\"convex\", \"database\", \"reactive\", \"real-time\", \"backend\", \"self-hosted\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"convex-dashboard\"],\n\tconflictsWith: [],\n\tmandatory: true,\n\tremovalWarning:\n\t\t\"Convex is the backend for Mission Control. Without it, Mission Control will not be able to store or retrieve any data and will be completely non-functional.\",\n\n\tminMemoryMB: 256,\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,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;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,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;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aACC;GACD,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,EAAE;CAEnB,SAAS;CACT,mBAAmB;CACnB,MAAM;EAAC;EAAU;EAAY;EAAY;EAAa;EAAW;EAAc;CAC/E,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,mBAAmB;CAChC,eAAe,EAAE;CACjB,WAAW;CACX,gBACC;CAED,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"convex.cjs","names":[],"sources":["../../../src/services/definitions/convex.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const convexDefinition: ServiceDefinition = {\n\tid: \"convex\",\n\tname: \"Convex\",\n\tdescription:\n\t\t\"Self-hosted Convex reactive backend. Real-time database, server functions, and file storage in a single service. Required by Mission Control.\",\n\tcategory: \"database\",\n\ticon: \"⚡\",\n\n\timage: \"ghcr.io/get-convex/convex-backend\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3210,\n\t\t\tcontainer: 3210,\n\t\t\tdescription: \"Convex API (client connections & CLI)\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 3211,\n\t\t\tcontainer: 3211,\n\t\t\tdescription: \"Convex HTTP actions / site proxy\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"convex-data\",\n\t\t\tcontainerPath: \"/convex/data\",\n\t\t\tdescription: \"Convex data directory (SQLite by default)\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"CONVEX_CLOUD_ORIGIN\",\n\t\t\tdefaultValue: \"http://127.0.0.1:3210\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Public URL for the Convex API endpoint\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_SITE_ORIGIN\",\n\t\t\tdefaultValue: \"http://127.0.0.1:3211\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Public URL for Convex HTTP actions\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"INSTANCE_NAME\",\n\t\t\tdefaultValue: \"openclaw-convex\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Instance name for this Convex deployment\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"INSTANCE_SECRET\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Instance secret (generate a random value for production)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"DATABASE_URL\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Optional Postgres connection string for production (leave empty to use SQLite)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"RUST_LOG\",\n\t\t\tdefaultValue: \"info\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Log level for the Convex backend (debug, info, warn, error)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"DISABLE_BEACON\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Set to any value to disable anonymous usage telemetry\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_SELF_HOSTED_ADMIN_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription:\n\t\t\t\t\"Admin key for CLI access. Generate with: docker compose exec convex ./generate_admin_key.sh\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_INSTANCE_SECRET\",\n\t\t\tdefaultValue: \"${INSTANCE_SECRET}\",\n\t\t\tsecret: true,\n\t\t\tdescription:\n\t\t\t\t\"Convex instance secret used by Mission Control (synced with INSTANCE_SECRET)\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:3210/version\",\n\t\tinterval: \"5s\",\n\t\ttimeout: \"5s\",\n\t\tretries: 5,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://github.com/get-convex/convex-backend\",\n\tselfHostedDocsUrl: \"https://github.com/get-convex/convex-backend/blob/main/self-hosted/README.md\",\n\ttags: [\"convex\", \"database\", \"reactive\", \"real-time\", \"backend\", \"self-hosted\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"convex-dashboard\"],\n\tconflictsWith: [],\n\tmandatory: true,\n\tremovalWarning:\n\t\t\"Convex is the backend for Mission Control. Without it, Mission Control will not be able to store or retrieve any data and will be completely non-functional.\",\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n\tcapDropCompatible: false,\n\tenvQuirks: [\n\t\t{\n\t\t\tkey: \"DISABLE_BEACON\",\n\t\t\tissue: \"empty_string_crashes\" as const,\n\t\t\tfix: { type: \"set_value\" as const, value: \"true\" },\n\t\t},\n\t\t{\n\t\t\tkey: \"INSTANCE_SECRET\",\n\t\t\tissue: \"min_length\" as const,\n\t\t\tfix: { type: \"generate_hex\" as const, minBytes: 32 },\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_SELF_HOSTED_ADMIN_KEY\",\n\t\t\tissue: \"min_length\" as const,\n\t\t\tfix: { type: \"generate_hex\" as const, minBytes: 32 },\n\t\t},\n\t\t{\n\t\t\tkey: \"INSTANCE_SECRET\",\n\t\t\tissue: \"must_sync\" as const,\n\t\t\tfix: { type: \"sync_with\" as const, syncKey: \"CONVEX_INSTANCE_SECRET\" },\n\t\t},\n\t],\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,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;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,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;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,aACC;GACD,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,EAAE;CAEnB,SAAS;CACT,mBAAmB;CACnB,MAAM;EAAC;EAAU;EAAY;EAAY;EAAa;EAAW;EAAc;CAC/E,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,mBAAmB;CAChC,eAAe,EAAE;CACjB,WAAW;CACX,gBACC;CAED,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;EACV;GACC,KAAK;GACL,OAAO;GACP,KAAK;IAAE,MAAM;IAAsB,OAAO;IAAQ;GAClD;EACD;GACC,KAAK;GACL,OAAO;GACP,KAAK;IAAE,MAAM;IAAyB,UAAU;IAAI;GACpD;EACD;GACC,KAAK;GACL,OAAO;GACP,KAAK;IAAE,MAAM;IAAyB,UAAU;IAAI;GACpD;EACD;GACC,KAAK;GACL,OAAO;GACP,KAAK;IAAE,MAAM;IAAsB,SAAS;IAA0B;GACtE;EACD;CACD"}
|
|
@@ -79,6 +79,13 @@ const convexDefinition = {
|
|
|
79
79
|
secret: true,
|
|
80
80
|
description: "Admin key for CLI access. Generate with: docker compose exec convex ./generate_admin_key.sh",
|
|
81
81
|
required: false
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
key: "CONVEX_INSTANCE_SECRET",
|
|
85
|
+
defaultValue: "${INSTANCE_SECRET}",
|
|
86
|
+
secret: true,
|
|
87
|
+
description: "Convex instance secret used by Mission Control (synced with INSTANCE_SECRET)",
|
|
88
|
+
required: false
|
|
82
89
|
}
|
|
83
90
|
],
|
|
84
91
|
healthcheck: {
|
|
@@ -110,7 +117,42 @@ const convexDefinition = {
|
|
|
110
117
|
mandatory: true,
|
|
111
118
|
removalWarning: "Convex is the backend for Mission Control. Without it, Mission Control will not be able to store or retrieve any data and will be completely non-functional.",
|
|
112
119
|
minMemoryMB: 256,
|
|
113
|
-
gpuRequired: false
|
|
120
|
+
gpuRequired: false,
|
|
121
|
+
capDropCompatible: false,
|
|
122
|
+
envQuirks: [
|
|
123
|
+
{
|
|
124
|
+
key: "DISABLE_BEACON",
|
|
125
|
+
issue: "empty_string_crashes",
|
|
126
|
+
fix: {
|
|
127
|
+
type: "set_value",
|
|
128
|
+
value: "true"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
key: "INSTANCE_SECRET",
|
|
133
|
+
issue: "min_length",
|
|
134
|
+
fix: {
|
|
135
|
+
type: "generate_hex",
|
|
136
|
+
minBytes: 32
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
key: "CONVEX_SELF_HOSTED_ADMIN_KEY",
|
|
141
|
+
issue: "min_length",
|
|
142
|
+
fix: {
|
|
143
|
+
type: "generate_hex",
|
|
144
|
+
minBytes: 32
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
key: "INSTANCE_SECRET",
|
|
149
|
+
issue: "must_sync",
|
|
150
|
+
fix: {
|
|
151
|
+
type: "sync_with",
|
|
152
|
+
syncKey: "CONVEX_INSTANCE_SECRET"
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
]
|
|
114
156
|
};
|
|
115
157
|
//#endregion
|
|
116
158
|
export { convexDefinition };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convex.mjs","names":[],"sources":["../../../src/services/definitions/convex.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const convexDefinition: ServiceDefinition = {\n\tid: \"convex\",\n\tname: \"Convex\",\n\tdescription:\n\t\t\"Self-hosted Convex reactive backend. Real-time database, server functions, and file storage in a single service. Required by Mission Control.\",\n\tcategory: \"database\",\n\ticon: \"⚡\",\n\n\timage: \"ghcr.io/get-convex/convex-backend\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3210,\n\t\t\tcontainer: 3210,\n\t\t\tdescription: \"Convex API (client connections & CLI)\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 3211,\n\t\t\tcontainer: 3211,\n\t\t\tdescription: \"Convex HTTP actions / site proxy\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"convex-data\",\n\t\t\tcontainerPath: \"/convex/data\",\n\t\t\tdescription: \"Convex data directory (SQLite by default)\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"CONVEX_CLOUD_ORIGIN\",\n\t\t\tdefaultValue: \"http://127.0.0.1:3210\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Public URL for the Convex API endpoint\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_SITE_ORIGIN\",\n\t\t\tdefaultValue: \"http://127.0.0.1:3211\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Public URL for Convex HTTP actions\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"INSTANCE_NAME\",\n\t\t\tdefaultValue: \"openclaw-convex\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Instance name for this Convex deployment\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"INSTANCE_SECRET\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Instance secret (generate a random value for production)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"DATABASE_URL\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Optional Postgres connection string for production (leave empty to use SQLite)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"RUST_LOG\",\n\t\t\tdefaultValue: \"info\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Log level for the Convex backend (debug, info, warn, error)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"DISABLE_BEACON\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Set to any value to disable anonymous usage telemetry\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_SELF_HOSTED_ADMIN_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription:\n\t\t\t\t\"Admin key for CLI access. Generate with: docker compose exec convex ./generate_admin_key.sh\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:3210/version\",\n\t\tinterval: \"5s\",\n\t\ttimeout: \"5s\",\n\t\tretries: 5,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://github.com/get-convex/convex-backend\",\n\tselfHostedDocsUrl: \"https://github.com/get-convex/convex-backend/blob/main/self-hosted/README.md\",\n\ttags: [\"convex\", \"database\", \"reactive\", \"real-time\", \"backend\", \"self-hosted\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"convex-dashboard\"],\n\tconflictsWith: [],\n\tmandatory: true,\n\tremovalWarning:\n\t\t\"Convex is the backend for Mission Control. Without it, Mission Control will not be able to store or retrieve any data and will be completely non-functional.\",\n\n\tminMemoryMB: 256,\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,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;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,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;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aACC;GACD,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,EAAE;CAEnB,SAAS;CACT,mBAAmB;CACnB,MAAM;EAAC;EAAU;EAAY;EAAY;EAAa;EAAW;EAAc;CAC/E,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,mBAAmB;CAChC,eAAe,EAAE;CACjB,WAAW;CACX,gBACC;CAED,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"convex.mjs","names":[],"sources":["../../../src/services/definitions/convex.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const convexDefinition: ServiceDefinition = {\n\tid: \"convex\",\n\tname: \"Convex\",\n\tdescription:\n\t\t\"Self-hosted Convex reactive backend. Real-time database, server functions, and file storage in a single service. Required by Mission Control.\",\n\tcategory: \"database\",\n\ticon: \"⚡\",\n\n\timage: \"ghcr.io/get-convex/convex-backend\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3210,\n\t\t\tcontainer: 3210,\n\t\t\tdescription: \"Convex API (client connections & CLI)\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 3211,\n\t\t\tcontainer: 3211,\n\t\t\tdescription: \"Convex HTTP actions / site proxy\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"convex-data\",\n\t\t\tcontainerPath: \"/convex/data\",\n\t\t\tdescription: \"Convex data directory (SQLite by default)\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"CONVEX_CLOUD_ORIGIN\",\n\t\t\tdefaultValue: \"http://127.0.0.1:3210\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Public URL for the Convex API endpoint\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_SITE_ORIGIN\",\n\t\t\tdefaultValue: \"http://127.0.0.1:3211\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Public URL for Convex HTTP actions\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"INSTANCE_NAME\",\n\t\t\tdefaultValue: \"openclaw-convex\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Instance name for this Convex deployment\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"INSTANCE_SECRET\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Instance secret (generate a random value for production)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"DATABASE_URL\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Optional Postgres connection string for production (leave empty to use SQLite)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"RUST_LOG\",\n\t\t\tdefaultValue: \"info\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Log level for the Convex backend (debug, info, warn, error)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"DISABLE_BEACON\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Set to any value to disable anonymous usage telemetry\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_SELF_HOSTED_ADMIN_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription:\n\t\t\t\t\"Admin key for CLI access. Generate with: docker compose exec convex ./generate_admin_key.sh\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_INSTANCE_SECRET\",\n\t\t\tdefaultValue: \"${INSTANCE_SECRET}\",\n\t\t\tsecret: true,\n\t\t\tdescription:\n\t\t\t\t\"Convex instance secret used by Mission Control (synced with INSTANCE_SECRET)\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:3210/version\",\n\t\tinterval: \"5s\",\n\t\ttimeout: \"5s\",\n\t\tretries: 5,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://github.com/get-convex/convex-backend\",\n\tselfHostedDocsUrl: \"https://github.com/get-convex/convex-backend/blob/main/self-hosted/README.md\",\n\ttags: [\"convex\", \"database\", \"reactive\", \"real-time\", \"backend\", \"self-hosted\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"convex-dashboard\"],\n\tconflictsWith: [],\n\tmandatory: true,\n\tremovalWarning:\n\t\t\"Convex is the backend for Mission Control. Without it, Mission Control will not be able to store or retrieve any data and will be completely non-functional.\",\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n\tcapDropCompatible: false,\n\tenvQuirks: [\n\t\t{\n\t\t\tkey: \"DISABLE_BEACON\",\n\t\t\tissue: \"empty_string_crashes\" as const,\n\t\t\tfix: { type: \"set_value\" as const, value: \"true\" },\n\t\t},\n\t\t{\n\t\t\tkey: \"INSTANCE_SECRET\",\n\t\t\tissue: \"min_length\" as const,\n\t\t\tfix: { type: \"generate_hex\" as const, minBytes: 32 },\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_SELF_HOSTED_ADMIN_KEY\",\n\t\t\tissue: \"min_length\" as const,\n\t\t\tfix: { type: \"generate_hex\" as const, minBytes: 32 },\n\t\t},\n\t\t{\n\t\t\tkey: \"INSTANCE_SECRET\",\n\t\t\tissue: \"must_sync\" as const,\n\t\t\tfix: { type: \"sync_with\" as const, syncKey: \"CONVEX_INSTANCE_SECRET\" },\n\t\t},\n\t],\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,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;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,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;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,aACC;GACD,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,EAAE;CAEnB,SAAS;CACT,mBAAmB;CACnB,MAAM;EAAC;EAAU;EAAY;EAAY;EAAa;EAAW;EAAc;CAC/E,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,mBAAmB;CAChC,eAAe,EAAE;CACjB,WAAW;CACX,gBACC;CAED,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;EACV;GACC,KAAK;GACL,OAAO;GACP,KAAK;IAAE,MAAM;IAAsB,OAAO;IAAQ;GAClD;EACD;GACC,KAAK;GACL,OAAO;GACP,KAAK;IAAE,MAAM;IAAyB,UAAU;IAAI;GACpD;EACD;GACC,KAAK;GACL,OAAO;GACP,KAAK;IAAE,MAAM;IAAyB,UAAU;IAAI;GACpD;EACD;GACC,KAAK;GACL,OAAO;GACP,KAAK;IAAE,MAAM;IAAsB,SAAS;IAA0B;GACtE;EACD;CACD"}
|
|
@@ -68,7 +68,17 @@ const grafanaDefinition = {
|
|
|
68
68
|
recommends: [],
|
|
69
69
|
conflictsWith: [],
|
|
70
70
|
minMemoryMB: 256,
|
|
71
|
-
gpuRequired: false
|
|
71
|
+
gpuRequired: false,
|
|
72
|
+
capDropCompatible: true,
|
|
73
|
+
proxyPath: "/grafana",
|
|
74
|
+
envQuirks: [{
|
|
75
|
+
key: "GF_SECURITY_ADMIN_PASSWORD",
|
|
76
|
+
issue: "min_length",
|
|
77
|
+
fix: {
|
|
78
|
+
type: "generate_base64url",
|
|
79
|
+
minBytes: 16
|
|
80
|
+
}
|
|
81
|
+
}]
|
|
72
82
|
};
|
|
73
83
|
//#endregion
|
|
74
84
|
exports.grafanaDefinition = grafanaDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grafana.cjs","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: \"12.4.0\",\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: \"curl -sf 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"}
|
|
1
|
+
{"version":3,"file":"grafana.cjs","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: \"12.4.0\",\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: \"curl -sf 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\tcapDropCompatible: true,\n\tproxyPath: \"/grafana\",\n\tenvQuirks: [\n\t\t{\n\t\t\tkey: \"GF_SECURITY_ADMIN_PASSWORD\",\n\t\t\tissue: \"min_length\" as const,\n\t\t\tfix: { type: \"generate_base64url\" as const, minBytes: 16 },\n\t\t},\n\t],\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,mBAAmB;CACnB,WAAW;CACX,WAAW,CACV;EACC,KAAK;EACL,OAAO;EACP,KAAK;GAAE,MAAM;GAA+B,UAAU;GAAI;EAC1D,CACD;CACD"}
|
|
@@ -67,7 +67,17 @@ const grafanaDefinition = {
|
|
|
67
67
|
recommends: [],
|
|
68
68
|
conflictsWith: [],
|
|
69
69
|
minMemoryMB: 256,
|
|
70
|
-
gpuRequired: false
|
|
70
|
+
gpuRequired: false,
|
|
71
|
+
capDropCompatible: true,
|
|
72
|
+
proxyPath: "/grafana",
|
|
73
|
+
envQuirks: [{
|
|
74
|
+
key: "GF_SECURITY_ADMIN_PASSWORD",
|
|
75
|
+
issue: "min_length",
|
|
76
|
+
fix: {
|
|
77
|
+
type: "generate_base64url",
|
|
78
|
+
minBytes: 16
|
|
79
|
+
}
|
|
80
|
+
}]
|
|
71
81
|
};
|
|
72
82
|
//#endregion
|
|
73
83
|
export { grafanaDefinition };
|
|
@@ -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: \"12.4.0\",\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: \"curl -sf 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"}
|
|
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: \"12.4.0\",\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: \"curl -sf 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\tcapDropCompatible: true,\n\tproxyPath: \"/grafana\",\n\tenvQuirks: [\n\t\t{\n\t\t\tkey: \"GF_SECURITY_ADMIN_PASSWORD\",\n\t\t\tissue: \"min_length\" as const,\n\t\t\tfix: { type: \"generate_base64url\" as const, minBytes: 16 },\n\t\t},\n\t],\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,mBAAmB;CACnB,WAAW;CACX,WAAW,CACV;EACC,KAAK;EACL,OAAO;EACP,KAAK;GAAE,MAAM;GAA+B,UAAU;GAAI;EAC1D,CACD;CACD"}
|
|
@@ -71,7 +71,17 @@ const meilisearchDefinition = {
|
|
|
71
71
|
recommends: [],
|
|
72
72
|
conflictsWith: [],
|
|
73
73
|
minMemoryMB: 256,
|
|
74
|
-
gpuRequired: false
|
|
74
|
+
gpuRequired: false,
|
|
75
|
+
capDropCompatible: true,
|
|
76
|
+
proxyPath: "/meilisearch",
|
|
77
|
+
envQuirks: [{
|
|
78
|
+
key: "MEILI_MASTER_KEY",
|
|
79
|
+
issue: "min_length",
|
|
80
|
+
fix: {
|
|
81
|
+
type: "generate_base64url",
|
|
82
|
+
minBytes: 24
|
|
83
|
+
}
|
|
84
|
+
}]
|
|
75
85
|
};
|
|
76
86
|
//#endregion
|
|
77
87
|
exports.meilisearchDefinition = meilisearchDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meilisearch.cjs","names":[],"sources":["../../../src/services/definitions/meilisearch.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const meilisearchDefinition: ServiceDefinition = {\n\tid: \"meilisearch\",\n\tname: \"Meilisearch\",\n\tdescription:\n\t\t\"Lightning-fast, typo-tolerant full-text search engine with an intuitive API, perfect for building instant search experiences.\",\n\tcategory: \"search\",\n\ticon: \"🔎\",\n\n\timage: \"getmeili/meilisearch\",\n\timageTag: \"v1.35.1\",\n\tports: [\n\t\t{\n\t\t\thost: 7700,\n\t\t\tcontainer: 7700,\n\t\t\tdescription: \"Meilisearch HTTP API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"meilisearch-data\",\n\t\t\tcontainerPath: \"/meili_data\",\n\t\t\tdescription: \"Persistent Meilisearch index and data storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MEILI_MASTER_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Master key for Meilisearch API authentication\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:7700/health || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 5,\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: \"MEILISEARCH_HOST\",\n\t\t\tdefaultValue: \"meilisearch\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_PORT\",\n\t\t\tdefaultValue: \"7700\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_MASTER_KEY\",\n\t\t\tdefaultValue: \"${MEILI_MASTER_KEY}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Meilisearch master key for OpenClaw (references service key)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://www.meilisearch.com/docs\",\n\ttags: [\"full-text-search\", \"instant-search\", \"typo-tolerant\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";;AAEA,MAAa,wBAA2C;CACvD,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,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;CAED,SAAS;CACT,MAAM;EAAC;EAAoB;EAAkB;EAAgB;CAC7D,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"meilisearch.cjs","names":[],"sources":["../../../src/services/definitions/meilisearch.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const meilisearchDefinition: ServiceDefinition = {\n\tid: \"meilisearch\",\n\tname: \"Meilisearch\",\n\tdescription:\n\t\t\"Lightning-fast, typo-tolerant full-text search engine with an intuitive API, perfect for building instant search experiences.\",\n\tcategory: \"search\",\n\ticon: \"🔎\",\n\n\timage: \"getmeili/meilisearch\",\n\timageTag: \"v1.35.1\",\n\tports: [\n\t\t{\n\t\t\thost: 7700,\n\t\t\tcontainer: 7700,\n\t\t\tdescription: \"Meilisearch HTTP API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"meilisearch-data\",\n\t\t\tcontainerPath: \"/meili_data\",\n\t\t\tdescription: \"Persistent Meilisearch index and data storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MEILI_MASTER_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Master key for Meilisearch API authentication\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:7700/health || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 5,\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: \"MEILISEARCH_HOST\",\n\t\t\tdefaultValue: \"meilisearch\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_PORT\",\n\t\t\tdefaultValue: \"7700\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_MASTER_KEY\",\n\t\t\tdefaultValue: \"${MEILI_MASTER_KEY}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Meilisearch master key for OpenClaw (references service key)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://www.meilisearch.com/docs\",\n\ttags: [\"full-text-search\", \"instant-search\", \"typo-tolerant\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n\tcapDropCompatible: true,\n\tproxyPath: \"/meilisearch\",\n\tenvQuirks: [\n\t\t{\n\t\t\tkey: \"MEILI_MASTER_KEY\",\n\t\t\tissue: \"min_length\" as const,\n\t\t\tfix: { type: \"generate_base64url\" as const, minBytes: 24 },\n\t\t},\n\t],\n};\n"],"mappings":";;AAEA,MAAa,wBAA2C;CACvD,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,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;CAED,SAAS;CACT,MAAM;EAAC;EAAoB;EAAkB;EAAgB;CAC7D,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX,WAAW,CACV;EACC,KAAK;EACL,OAAO;EACP,KAAK;GAAE,MAAM;GAA+B,UAAU;GAAI;EAC1D,CACD;CACD"}
|
|
@@ -70,7 +70,17 @@ const meilisearchDefinition = {
|
|
|
70
70
|
recommends: [],
|
|
71
71
|
conflictsWith: [],
|
|
72
72
|
minMemoryMB: 256,
|
|
73
|
-
gpuRequired: false
|
|
73
|
+
gpuRequired: false,
|
|
74
|
+
capDropCompatible: true,
|
|
75
|
+
proxyPath: "/meilisearch",
|
|
76
|
+
envQuirks: [{
|
|
77
|
+
key: "MEILI_MASTER_KEY",
|
|
78
|
+
issue: "min_length",
|
|
79
|
+
fix: {
|
|
80
|
+
type: "generate_base64url",
|
|
81
|
+
minBytes: 24
|
|
82
|
+
}
|
|
83
|
+
}]
|
|
74
84
|
};
|
|
75
85
|
//#endregion
|
|
76
86
|
export { meilisearchDefinition };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meilisearch.mjs","names":[],"sources":["../../../src/services/definitions/meilisearch.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const meilisearchDefinition: ServiceDefinition = {\n\tid: \"meilisearch\",\n\tname: \"Meilisearch\",\n\tdescription:\n\t\t\"Lightning-fast, typo-tolerant full-text search engine with an intuitive API, perfect for building instant search experiences.\",\n\tcategory: \"search\",\n\ticon: \"🔎\",\n\n\timage: \"getmeili/meilisearch\",\n\timageTag: \"v1.35.1\",\n\tports: [\n\t\t{\n\t\t\thost: 7700,\n\t\t\tcontainer: 7700,\n\t\t\tdescription: \"Meilisearch HTTP API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"meilisearch-data\",\n\t\t\tcontainerPath: \"/meili_data\",\n\t\t\tdescription: \"Persistent Meilisearch index and data storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MEILI_MASTER_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Master key for Meilisearch API authentication\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:7700/health || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 5,\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: \"MEILISEARCH_HOST\",\n\t\t\tdefaultValue: \"meilisearch\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_PORT\",\n\t\t\tdefaultValue: \"7700\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_MASTER_KEY\",\n\t\t\tdefaultValue: \"${MEILI_MASTER_KEY}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Meilisearch master key for OpenClaw (references service key)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://www.meilisearch.com/docs\",\n\ttags: [\"full-text-search\", \"instant-search\", \"typo-tolerant\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,wBAA2C;CACvD,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,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;CAED,SAAS;CACT,MAAM;EAAC;EAAoB;EAAkB;EAAgB;CAC7D,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"meilisearch.mjs","names":[],"sources":["../../../src/services/definitions/meilisearch.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const meilisearchDefinition: ServiceDefinition = {\n\tid: \"meilisearch\",\n\tname: \"Meilisearch\",\n\tdescription:\n\t\t\"Lightning-fast, typo-tolerant full-text search engine with an intuitive API, perfect for building instant search experiences.\",\n\tcategory: \"search\",\n\ticon: \"🔎\",\n\n\timage: \"getmeili/meilisearch\",\n\timageTag: \"v1.35.1\",\n\tports: [\n\t\t{\n\t\t\thost: 7700,\n\t\t\tcontainer: 7700,\n\t\t\tdescription: \"Meilisearch HTTP API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"meilisearch-data\",\n\t\t\tcontainerPath: \"/meili_data\",\n\t\t\tdescription: \"Persistent Meilisearch index and data storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MEILI_MASTER_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Master key for Meilisearch API authentication\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:7700/health || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 5,\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: \"MEILISEARCH_HOST\",\n\t\t\tdefaultValue: \"meilisearch\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_PORT\",\n\t\t\tdefaultValue: \"7700\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_MASTER_KEY\",\n\t\t\tdefaultValue: \"${MEILI_MASTER_KEY}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Meilisearch master key for OpenClaw (references service key)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://www.meilisearch.com/docs\",\n\ttags: [\"full-text-search\", \"instant-search\", \"typo-tolerant\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n\tcapDropCompatible: true,\n\tproxyPath: \"/meilisearch\",\n\tenvQuirks: [\n\t\t{\n\t\t\tkey: \"MEILI_MASTER_KEY\",\n\t\t\tissue: \"min_length\" as const,\n\t\t\tfix: { type: \"generate_base64url\" as const, minBytes: 24 },\n\t\t},\n\t],\n};\n"],"mappings":";AAEA,MAAa,wBAA2C;CACvD,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,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;CAED,SAAS;CACT,MAAM;EAAC;EAAoB;EAAkB;EAAgB;CAC7D,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX,WAAW,CACV;EACC,KAAK;EACL,OAAO;EACP,KAAK;GAAE,MAAM;GAA+B,UAAU;GAAI;EAC1D,CACD;CACD"}
|
|
@@ -95,7 +95,9 @@ const minioDefinition = {
|
|
|
95
95
|
recommends: [],
|
|
96
96
|
conflictsWith: [],
|
|
97
97
|
minMemoryMB: 256,
|
|
98
|
-
gpuRequired: false
|
|
98
|
+
gpuRequired: false,
|
|
99
|
+
capDropCompatible: true,
|
|
100
|
+
proxyPath: "/minio"
|
|
99
101
|
};
|
|
100
102
|
//#endregion
|
|
101
103
|
exports.minioDefinition = minioDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minio.cjs","names":[],"sources":["../../../src/services/definitions/minio.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const minioDefinition: ServiceDefinition = {\n\tid: \"minio\",\n\tname: \"MinIO\",\n\tdescription:\n\t\t\"S3-compatible high-performance object storage for storing assets, backups, and large files with a built-in web console.\",\n\tcategory: \"storage\",\n\ticon: \"💾\",\n\n\timage: \"minio/minio\",\n\timageTag: \"RELEASE.2025-04-22T22-12-26Z\",\n\tports: [\n\t\t{\n\t\t\thost: 9000,\n\t\t\tcontainer: 9000,\n\t\t\tdescription: \"MinIO S3-compatible API\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 9001,\n\t\t\tcontainer: 9001,\n\t\t\tdescription: \"MinIO web console\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"minio-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Persistent MinIO object storage data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_USER\",\n\t\t\tdefaultValue: \"minioadmin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO root user (access key)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO root password (secret key, minimum 8 characters)\",\n\t\t\trequired: true,\n\t\t\tvalidation: \"^.{8,}$\",\n\t\t},\n\t],\n\tcommand: \"server /data --console-address ':9001'\",\n\thealthcheck: {\n\t\ttest: \"mc ready local || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"minio-storage\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"MINIO_HOST\",\n\t\t\tdefaultValue: \"minio\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_PORT\",\n\t\t\tdefaultValue: \"9000\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ACCESS_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_USER}\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO access key for OpenClaw (references root user)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_SECRET_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO secret key for OpenClaw (references root password)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://min.io/docs/minio/container/index.html\",\n\ttags: [\"s3\", \"object-storage\", \"assets\", \"backup\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\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,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,YAAY;EACZ,CACD;CACD,SAAS;CACT,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;EAAiB,aAAa;EAAM,CAAC;CACzD,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;EAAM;EAAkB;EAAU;EAAS;CAClD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"minio.cjs","names":[],"sources":["../../../src/services/definitions/minio.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const minioDefinition: ServiceDefinition = {\n\tid: \"minio\",\n\tname: \"MinIO\",\n\tdescription:\n\t\t\"S3-compatible high-performance object storage for storing assets, backups, and large files with a built-in web console.\",\n\tcategory: \"storage\",\n\ticon: \"💾\",\n\n\timage: \"minio/minio\",\n\timageTag: \"RELEASE.2025-04-22T22-12-26Z\",\n\tports: [\n\t\t{\n\t\t\thost: 9000,\n\t\t\tcontainer: 9000,\n\t\t\tdescription: \"MinIO S3-compatible API\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 9001,\n\t\t\tcontainer: 9001,\n\t\t\tdescription: \"MinIO web console\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"minio-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Persistent MinIO object storage data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_USER\",\n\t\t\tdefaultValue: \"minioadmin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO root user (access key)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO root password (secret key, minimum 8 characters)\",\n\t\t\trequired: true,\n\t\t\tvalidation: \"^.{8,}$\",\n\t\t},\n\t],\n\tcommand: \"server /data --console-address ':9001'\",\n\thealthcheck: {\n\t\ttest: \"mc ready local || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"minio-storage\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"MINIO_HOST\",\n\t\t\tdefaultValue: \"minio\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_PORT\",\n\t\t\tdefaultValue: \"9000\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ACCESS_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_USER}\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO access key for OpenClaw (references root user)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_SECRET_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO secret key for OpenClaw (references root password)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://min.io/docs/minio/container/index.html\",\n\ttags: [\"s3\", \"object-storage\", \"assets\", \"backup\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n\tcapDropCompatible: true,\n\tproxyPath: \"/minio\",\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,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,YAAY;EACZ,CACD;CACD,SAAS;CACT,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;EAAiB,aAAa;EAAM,CAAC;CACzD,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;EAAM;EAAkB;EAAU;EAAS;CAClD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minio.mjs","names":[],"sources":["../../../src/services/definitions/minio.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const minioDefinition: ServiceDefinition = {\n\tid: \"minio\",\n\tname: \"MinIO\",\n\tdescription:\n\t\t\"S3-compatible high-performance object storage for storing assets, backups, and large files with a built-in web console.\",\n\tcategory: \"storage\",\n\ticon: \"💾\",\n\n\timage: \"minio/minio\",\n\timageTag: \"RELEASE.2025-04-22T22-12-26Z\",\n\tports: [\n\t\t{\n\t\t\thost: 9000,\n\t\t\tcontainer: 9000,\n\t\t\tdescription: \"MinIO S3-compatible API\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 9001,\n\t\t\tcontainer: 9001,\n\t\t\tdescription: \"MinIO web console\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"minio-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Persistent MinIO object storage data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_USER\",\n\t\t\tdefaultValue: \"minioadmin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO root user (access key)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO root password (secret key, minimum 8 characters)\",\n\t\t\trequired: true,\n\t\t\tvalidation: \"^.{8,}$\",\n\t\t},\n\t],\n\tcommand: \"server /data --console-address ':9001'\",\n\thealthcheck: {\n\t\ttest: \"mc ready local || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"minio-storage\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"MINIO_HOST\",\n\t\t\tdefaultValue: \"minio\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_PORT\",\n\t\t\tdefaultValue: \"9000\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ACCESS_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_USER}\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO access key for OpenClaw (references root user)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_SECRET_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO secret key for OpenClaw (references root password)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://min.io/docs/minio/container/index.html\",\n\ttags: [\"s3\", \"object-storage\", \"assets\", \"backup\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\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,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,YAAY;EACZ,CACD;CACD,SAAS;CACT,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;EAAiB,aAAa;EAAM,CAAC;CACzD,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;EAAM;EAAkB;EAAU;EAAS;CAClD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"minio.mjs","names":[],"sources":["../../../src/services/definitions/minio.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const minioDefinition: ServiceDefinition = {\n\tid: \"minio\",\n\tname: \"MinIO\",\n\tdescription:\n\t\t\"S3-compatible high-performance object storage for storing assets, backups, and large files with a built-in web console.\",\n\tcategory: \"storage\",\n\ticon: \"💾\",\n\n\timage: \"minio/minio\",\n\timageTag: \"RELEASE.2025-04-22T22-12-26Z\",\n\tports: [\n\t\t{\n\t\t\thost: 9000,\n\t\t\tcontainer: 9000,\n\t\t\tdescription: \"MinIO S3-compatible API\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 9001,\n\t\t\tcontainer: 9001,\n\t\t\tdescription: \"MinIO web console\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"minio-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Persistent MinIO object storage data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_USER\",\n\t\t\tdefaultValue: \"minioadmin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO root user (access key)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO root password (secret key, minimum 8 characters)\",\n\t\t\trequired: true,\n\t\t\tvalidation: \"^.{8,}$\",\n\t\t},\n\t],\n\tcommand: \"server /data --console-address ':9001'\",\n\thealthcheck: {\n\t\ttest: \"mc ready local || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"minio-storage\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"MINIO_HOST\",\n\t\t\tdefaultValue: \"minio\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_PORT\",\n\t\t\tdefaultValue: \"9000\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ACCESS_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_USER}\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO access key for OpenClaw (references root user)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_SECRET_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO secret key for OpenClaw (references root password)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://min.io/docs/minio/container/index.html\",\n\ttags: [\"s3\", \"object-storage\", \"assets\", \"backup\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n\tcapDropCompatible: true,\n\tproxyPath: \"/minio\",\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,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,YAAY;EACZ,CACD;CACD,SAAS;CACT,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;EAAiB,aAAa;EAAM,CAAC;CACzD,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;EAAM;EAAkB;EAAU;EAAS;CAClD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX"}
|
|
@@ -147,7 +147,17 @@ const n8nDefinition = {
|
|
|
147
147
|
recommends: ["redis"],
|
|
148
148
|
conflictsWith: [],
|
|
149
149
|
minMemoryMB: 512,
|
|
150
|
-
gpuRequired: false
|
|
150
|
+
gpuRequired: false,
|
|
151
|
+
capDropCompatible: true,
|
|
152
|
+
proxyPath: "/n8n",
|
|
153
|
+
envQuirks: [{
|
|
154
|
+
key: "DB_POSTGRESDB_PASSWORD",
|
|
155
|
+
issue: "must_sync",
|
|
156
|
+
fix: {
|
|
157
|
+
type: "sync_with",
|
|
158
|
+
syncKey: "N8N_DB_PASSWORD"
|
|
159
|
+
}
|
|
160
|
+
}]
|
|
151
161
|
};
|
|
152
162
|
//#endregion
|
|
153
163
|
exports.n8nDefinition = n8nDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"n8n.cjs","names":[],"sources":["../../../src/services/definitions/n8n.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const n8nDefinition: ServiceDefinition = {\n\tid: \"n8n\",\n\tname: \"n8n\",\n\tdescription:\n\t\t\"Workflow automation platform for connecting services, building integrations, and automating tasks with a visual node-based editor.\",\n\tcategory: \"automation\",\n\ticon: \"🔄\",\n\n\timage: \"docker.n8n.io/n8nio/n8n\",\n\timageTag: \"1.123.21\",\n\tports: [\n\t\t{\n\t\t\thost: 5678,\n\t\t\tcontainer: 5678,\n\t\t\tdescription: \"n8n web interface and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"n8n-data\",\n\t\t\tcontainerPath: \"/home/node/.n8n\",\n\t\t\tdescription: \"Persistent n8n data and workflows\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_ACTIVE\",\n\t\t\tdefaultValue: \"true\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Enable basic authentication for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_USER\",\n\t\t\tdefaultValue: \"admin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Basic auth username for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Basic auth password for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_TYPE\",\n\t\t\tdefaultValue: \"postgresdb\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database type for n8n persistence\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_HOST\",\n\t\t\tdefaultValue: \"postgresql\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL hostname\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PORT\",\n\t\t\tdefaultValue: \"5432\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL port\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_DATABASE\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL database name for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_USER\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL user for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PASSWORD\",\n\t\t\tdefaultValue: \"${N8N_DB_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"PostgreSQL password for n8n (references Postgres password)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Port n8n listens on\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Base URL for n8n webhooks\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:5678/healthz || 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: [{ skillId: \"n8n-trigger\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"N8N_HOST\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n webhook URL for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.n8n.io/\",\n\ttags: [\"workflow\", \"automation\", \"webhook\", \"integration\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"postgresql\"],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";;AAEA,MAAa,gBAAmC;CAC/C,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;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;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;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,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;EAAC;EAAY;EAAc;EAAW;EAAc;CAC1D,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"n8n.cjs","names":[],"sources":["../../../src/services/definitions/n8n.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const n8nDefinition: ServiceDefinition = {\n\tid: \"n8n\",\n\tname: \"n8n\",\n\tdescription:\n\t\t\"Workflow automation platform for connecting services, building integrations, and automating tasks with a visual node-based editor.\",\n\tcategory: \"automation\",\n\ticon: \"🔄\",\n\n\timage: \"docker.n8n.io/n8nio/n8n\",\n\timageTag: \"1.123.21\",\n\tports: [\n\t\t{\n\t\t\thost: 5678,\n\t\t\tcontainer: 5678,\n\t\t\tdescription: \"n8n web interface and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"n8n-data\",\n\t\t\tcontainerPath: \"/home/node/.n8n\",\n\t\t\tdescription: \"Persistent n8n data and workflows\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_ACTIVE\",\n\t\t\tdefaultValue: \"true\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Enable basic authentication for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_USER\",\n\t\t\tdefaultValue: \"admin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Basic auth username for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Basic auth password for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_TYPE\",\n\t\t\tdefaultValue: \"postgresdb\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database type for n8n persistence\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_HOST\",\n\t\t\tdefaultValue: \"postgresql\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL hostname\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PORT\",\n\t\t\tdefaultValue: \"5432\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL port\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_DATABASE\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL database name for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_USER\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL user for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PASSWORD\",\n\t\t\tdefaultValue: \"${N8N_DB_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"PostgreSQL password for n8n (references Postgres password)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Port n8n listens on\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Base URL for n8n webhooks\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:5678/healthz || 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: [{ skillId: \"n8n-trigger\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"N8N_HOST\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n webhook URL for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.n8n.io/\",\n\ttags: [\"workflow\", \"automation\", \"webhook\", \"integration\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"postgresql\"],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n\tcapDropCompatible: true,\n\tproxyPath: \"/n8n\",\n\tenvQuirks: [\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PASSWORD\",\n\t\t\tissue: \"must_sync\" as const,\n\t\t\tfix: { type: \"sync_with\" as const, syncKey: \"N8N_DB_PASSWORD\" },\n\t\t},\n\t],\n};\n"],"mappings":";;AAEA,MAAa,gBAAmC;CAC/C,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;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;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;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,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;EAAC;EAAY;EAAc;EAAW;EAAc;CAC1D,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX,WAAW,CACV;EACC,KAAK;EACL,OAAO;EACP,KAAK;GAAE,MAAM;GAAsB,SAAS;GAAmB;EAC/D,CACD;CACD"}
|
|
@@ -146,7 +146,17 @@ const n8nDefinition = {
|
|
|
146
146
|
recommends: ["redis"],
|
|
147
147
|
conflictsWith: [],
|
|
148
148
|
minMemoryMB: 512,
|
|
149
|
-
gpuRequired: false
|
|
149
|
+
gpuRequired: false,
|
|
150
|
+
capDropCompatible: true,
|
|
151
|
+
proxyPath: "/n8n",
|
|
152
|
+
envQuirks: [{
|
|
153
|
+
key: "DB_POSTGRESDB_PASSWORD",
|
|
154
|
+
issue: "must_sync",
|
|
155
|
+
fix: {
|
|
156
|
+
type: "sync_with",
|
|
157
|
+
syncKey: "N8N_DB_PASSWORD"
|
|
158
|
+
}
|
|
159
|
+
}]
|
|
150
160
|
};
|
|
151
161
|
//#endregion
|
|
152
162
|
export { n8nDefinition };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"n8n.mjs","names":[],"sources":["../../../src/services/definitions/n8n.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const n8nDefinition: ServiceDefinition = {\n\tid: \"n8n\",\n\tname: \"n8n\",\n\tdescription:\n\t\t\"Workflow automation platform for connecting services, building integrations, and automating tasks with a visual node-based editor.\",\n\tcategory: \"automation\",\n\ticon: \"🔄\",\n\n\timage: \"docker.n8n.io/n8nio/n8n\",\n\timageTag: \"1.123.21\",\n\tports: [\n\t\t{\n\t\t\thost: 5678,\n\t\t\tcontainer: 5678,\n\t\t\tdescription: \"n8n web interface and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"n8n-data\",\n\t\t\tcontainerPath: \"/home/node/.n8n\",\n\t\t\tdescription: \"Persistent n8n data and workflows\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_ACTIVE\",\n\t\t\tdefaultValue: \"true\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Enable basic authentication for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_USER\",\n\t\t\tdefaultValue: \"admin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Basic auth username for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Basic auth password for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_TYPE\",\n\t\t\tdefaultValue: \"postgresdb\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database type for n8n persistence\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_HOST\",\n\t\t\tdefaultValue: \"postgresql\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL hostname\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PORT\",\n\t\t\tdefaultValue: \"5432\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL port\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_DATABASE\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL database name for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_USER\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL user for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PASSWORD\",\n\t\t\tdefaultValue: \"${N8N_DB_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"PostgreSQL password for n8n (references Postgres password)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Port n8n listens on\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Base URL for n8n webhooks\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:5678/healthz || 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: [{ skillId: \"n8n-trigger\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"N8N_HOST\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n webhook URL for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.n8n.io/\",\n\ttags: [\"workflow\", \"automation\", \"webhook\", \"integration\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"postgresql\"],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,gBAAmC;CAC/C,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;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;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;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,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;EAAC;EAAY;EAAc;EAAW;EAAc;CAC1D,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"n8n.mjs","names":[],"sources":["../../../src/services/definitions/n8n.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const n8nDefinition: ServiceDefinition = {\n\tid: \"n8n\",\n\tname: \"n8n\",\n\tdescription:\n\t\t\"Workflow automation platform for connecting services, building integrations, and automating tasks with a visual node-based editor.\",\n\tcategory: \"automation\",\n\ticon: \"🔄\",\n\n\timage: \"docker.n8n.io/n8nio/n8n\",\n\timageTag: \"1.123.21\",\n\tports: [\n\t\t{\n\t\t\thost: 5678,\n\t\t\tcontainer: 5678,\n\t\t\tdescription: \"n8n web interface and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"n8n-data\",\n\t\t\tcontainerPath: \"/home/node/.n8n\",\n\t\t\tdescription: \"Persistent n8n data and workflows\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_ACTIVE\",\n\t\t\tdefaultValue: \"true\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Enable basic authentication for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_USER\",\n\t\t\tdefaultValue: \"admin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Basic auth username for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Basic auth password for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_TYPE\",\n\t\t\tdefaultValue: \"postgresdb\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database type for n8n persistence\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_HOST\",\n\t\t\tdefaultValue: \"postgresql\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL hostname\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PORT\",\n\t\t\tdefaultValue: \"5432\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL port\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_DATABASE\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL database name for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_USER\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL user for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PASSWORD\",\n\t\t\tdefaultValue: \"${N8N_DB_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"PostgreSQL password for n8n (references Postgres password)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Port n8n listens on\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Base URL for n8n webhooks\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:5678/healthz || 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: [{ skillId: \"n8n-trigger\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"N8N_HOST\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n webhook URL for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.n8n.io/\",\n\ttags: [\"workflow\", \"automation\", \"webhook\", \"integration\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"postgresql\"],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n\tcapDropCompatible: true,\n\tproxyPath: \"/n8n\",\n\tenvQuirks: [\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PASSWORD\",\n\t\t\tissue: \"must_sync\" as const,\n\t\t\tfix: { type: \"sync_with\" as const, syncKey: \"N8N_DB_PASSWORD\" },\n\t\t},\n\t],\n};\n"],"mappings":";AAEA,MAAa,gBAAmC;CAC/C,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;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;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;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,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;EAAC;EAAY;EAAc;EAAW;EAAc;CAC1D,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX,WAAW,CACV;EACC,KAAK;EACL,OAAO;EACP,KAAK;GAAE,MAAM;GAAsB,SAAS;GAAmB;EAC/D,CACD;CACD"}
|
|
@@ -59,7 +59,9 @@ const ollamaDefinition = {
|
|
|
59
59
|
recommends: [],
|
|
60
60
|
conflictsWith: [],
|
|
61
61
|
minMemoryMB: 2048,
|
|
62
|
-
gpuRequired: false
|
|
62
|
+
gpuRequired: false,
|
|
63
|
+
capDropCompatible: false,
|
|
64
|
+
proxyPath: "/ollama"
|
|
63
65
|
};
|
|
64
66
|
//#endregion
|
|
65
67
|
exports.ollamaDefinition = ollamaDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.cjs","names":[],"sources":["../../../src/services/definitions/ollama.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const ollamaDefinition: ServiceDefinition = {\n\tid: \"ollama\",\n\tname: \"Ollama\",\n\tdescription:\n\t\t\"Run large language models locally with an easy-to-use API. Supports a wide range of open-source models like Llama, Mistral, and more.\",\n\tcategory: \"ai\",\n\ticon: \"🦙\",\n\n\timage: \"ollama/ollama\",\n\timageTag: \"0.17.0\",\n\tports: [\n\t\t{\n\t\t\thost: 11434,\n\t\t\tcontainer: 11434,\n\t\t\tdescription: \"Ollama REST API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"ollama-data\",\n\t\t\tcontainerPath: \"/root/.ollama\",\n\t\t\tdescription: \"Persistent Ollama model storage and configuration\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:11434/ || 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: [{ skillId: \"ollama-local-llm\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"OLLAMA_HOST\",\n\t\t\tdefaultValue: \"ollama\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"OLLAMA_PORT\",\n\t\t\tdefaultValue: \"11434\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://github.com/ollama/ollama\",\n\ttags: [\"llm\", \"local-ai\", \"inference\", \"language-model\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 2048,\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,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;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,MAAM;EAAC;EAAO;EAAY;EAAa;EAAiB;CACxD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"ollama.cjs","names":[],"sources":["../../../src/services/definitions/ollama.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const ollamaDefinition: ServiceDefinition = {\n\tid: \"ollama\",\n\tname: \"Ollama\",\n\tdescription:\n\t\t\"Run large language models locally with an easy-to-use API. Supports a wide range of open-source models like Llama, Mistral, and more.\",\n\tcategory: \"ai\",\n\ticon: \"🦙\",\n\n\timage: \"ollama/ollama\",\n\timageTag: \"0.17.0\",\n\tports: [\n\t\t{\n\t\t\thost: 11434,\n\t\t\tcontainer: 11434,\n\t\t\tdescription: \"Ollama REST API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"ollama-data\",\n\t\t\tcontainerPath: \"/root/.ollama\",\n\t\t\tdescription: \"Persistent Ollama model storage and configuration\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:11434/ || 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: [{ skillId: \"ollama-local-llm\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"OLLAMA_HOST\",\n\t\t\tdefaultValue: \"ollama\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"OLLAMA_PORT\",\n\t\t\tdefaultValue: \"11434\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://github.com/ollama/ollama\",\n\ttags: [\"llm\", \"local-ai\", \"inference\", \"language-model\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 2048,\n\tgpuRequired: false,\n\tcapDropCompatible: false,\n\tproxyPath: \"/ollama\",\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,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;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,MAAM;EAAC;EAAO;EAAY;EAAa;EAAiB;CACxD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.mjs","names":[],"sources":["../../../src/services/definitions/ollama.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const ollamaDefinition: ServiceDefinition = {\n\tid: \"ollama\",\n\tname: \"Ollama\",\n\tdescription:\n\t\t\"Run large language models locally with an easy-to-use API. Supports a wide range of open-source models like Llama, Mistral, and more.\",\n\tcategory: \"ai\",\n\ticon: \"🦙\",\n\n\timage: \"ollama/ollama\",\n\timageTag: \"0.17.0\",\n\tports: [\n\t\t{\n\t\t\thost: 11434,\n\t\t\tcontainer: 11434,\n\t\t\tdescription: \"Ollama REST API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"ollama-data\",\n\t\t\tcontainerPath: \"/root/.ollama\",\n\t\t\tdescription: \"Persistent Ollama model storage and configuration\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:11434/ || 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: [{ skillId: \"ollama-local-llm\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"OLLAMA_HOST\",\n\t\t\tdefaultValue: \"ollama\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"OLLAMA_PORT\",\n\t\t\tdefaultValue: \"11434\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://github.com/ollama/ollama\",\n\ttags: [\"llm\", \"local-ai\", \"inference\", \"language-model\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 2048,\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,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;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,MAAM;EAAC;EAAO;EAAY;EAAa;EAAiB;CACxD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"ollama.mjs","names":[],"sources":["../../../src/services/definitions/ollama.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const ollamaDefinition: ServiceDefinition = {\n\tid: \"ollama\",\n\tname: \"Ollama\",\n\tdescription:\n\t\t\"Run large language models locally with an easy-to-use API. Supports a wide range of open-source models like Llama, Mistral, and more.\",\n\tcategory: \"ai\",\n\ticon: \"🦙\",\n\n\timage: \"ollama/ollama\",\n\timageTag: \"0.17.0\",\n\tports: [\n\t\t{\n\t\t\thost: 11434,\n\t\t\tcontainer: 11434,\n\t\t\tdescription: \"Ollama REST API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"ollama-data\",\n\t\t\tcontainerPath: \"/root/.ollama\",\n\t\t\tdescription: \"Persistent Ollama model storage and configuration\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:11434/ || 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: [{ skillId: \"ollama-local-llm\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"OLLAMA_HOST\",\n\t\t\tdefaultValue: \"ollama\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"OLLAMA_PORT\",\n\t\t\tdefaultValue: \"11434\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://github.com/ollama/ollama\",\n\ttags: [\"llm\", \"local-ai\", \"inference\", \"language-model\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 2048,\n\tgpuRequired: false,\n\tcapDropCompatible: false,\n\tproxyPath: \"/ollama\",\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,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;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,MAAM;EAAC;EAAO;EAAY;EAAa;EAAiB;CACxD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX"}
|
|
@@ -70,7 +70,9 @@ const qdrantDefinition = {
|
|
|
70
70
|
recommends: ["redis"],
|
|
71
71
|
conflictsWith: [],
|
|
72
72
|
minMemoryMB: 512,
|
|
73
|
-
gpuRequired: false
|
|
73
|
+
gpuRequired: false,
|
|
74
|
+
capDropCompatible: true,
|
|
75
|
+
proxyPath: "/qdrant"
|
|
74
76
|
};
|
|
75
77
|
//#endregion
|
|
76
78
|
exports.qdrantDefinition = qdrantDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qdrant.cjs","names":[],"sources":["../../../src/services/definitions/qdrant.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const qdrantDefinition: ServiceDefinition = {\n\tid: \"qdrant\",\n\tname: \"Qdrant Vector DB\",\n\tdescription:\n\t\t\"High-performance vector similarity search engine for building RAG pipelines, semantic search, and AI-powered recommendation systems.\",\n\tcategory: \"vector-db\",\n\ticon: \"🧠\",\n\n\timage: \"qdrant/qdrant\",\n\timageTag: \"v1.12.1\",\n\tports: [\n\t\t{\n\t\t\thost: 6333,\n\t\t\tcontainer: 6333,\n\t\t\tdescription: \"Qdrant REST API\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 6334,\n\t\t\tcontainer: 6334,\n\t\t\tdescription: \"Qdrant gRPC API\",\n\t\t\texposed: false,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"qdrant-data\",\n\t\t\tcontainerPath: \"/qdrant/storage\",\n\t\t\tdescription: \"Persistent Qdrant vector storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"QDRANT__SERVICE__GRPC_PORT\",\n\t\t\tdefaultValue: \"6334\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"gRPC port for Qdrant service\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"bash -c 'echo > /dev/tcp/localhost/6333' || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"qdrant-memory\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"QDRANT_HOST\",\n\t\t\tdefaultValue: \"qdrant\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Qdrant hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"QDRANT_PORT\",\n\t\t\tdefaultValue: \"6333\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Qdrant REST API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://qdrant.tech/documentation/\",\n\ttags: [\"vector\", \"rag\", \"embeddings\", \"semantic-search\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\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,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,CAAC;EAAE,SAAS;EAAiB,aAAa;EAAM,CAAC;CACzD,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;EAAU;EAAO;EAAc;EAAkB;CACxD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"qdrant.cjs","names":[],"sources":["../../../src/services/definitions/qdrant.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const qdrantDefinition: ServiceDefinition = {\n\tid: \"qdrant\",\n\tname: \"Qdrant Vector DB\",\n\tdescription:\n\t\t\"High-performance vector similarity search engine for building RAG pipelines, semantic search, and AI-powered recommendation systems.\",\n\tcategory: \"vector-db\",\n\ticon: \"🧠\",\n\n\timage: \"qdrant/qdrant\",\n\timageTag: \"v1.12.1\",\n\tports: [\n\t\t{\n\t\t\thost: 6333,\n\t\t\tcontainer: 6333,\n\t\t\tdescription: \"Qdrant REST API\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 6334,\n\t\t\tcontainer: 6334,\n\t\t\tdescription: \"Qdrant gRPC API\",\n\t\t\texposed: false,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"qdrant-data\",\n\t\t\tcontainerPath: \"/qdrant/storage\",\n\t\t\tdescription: \"Persistent Qdrant vector storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"QDRANT__SERVICE__GRPC_PORT\",\n\t\t\tdefaultValue: \"6334\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"gRPC port for Qdrant service\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"bash -c 'echo > /dev/tcp/localhost/6333' || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"qdrant-memory\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"QDRANT_HOST\",\n\t\t\tdefaultValue: \"qdrant\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Qdrant hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"QDRANT_PORT\",\n\t\t\tdefaultValue: \"6333\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Qdrant REST API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://qdrant.tech/documentation/\",\n\ttags: [\"vector\", \"rag\", \"embeddings\", \"semantic-search\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n\tcapDropCompatible: true,\n\tproxyPath: \"/qdrant\",\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,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,CAAC;EAAE,SAAS;EAAiB,aAAa;EAAM,CAAC;CACzD,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;EAAU;EAAO;EAAc;EAAkB;CACxD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX"}
|