@better-openclaw/core 1.0.23 → 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 -21
- package/dist/bare-metal-partition.test.cjs.map +1 -1
- package/dist/bare-metal-partition.test.mjs +4 -5
- package/dist/bare-metal-partition.test.mjs.map +1 -1
- package/dist/composer.cjs +17 -1
- 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 +14 -2
- 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 -52
- package/dist/composer.test.cjs.map +1 -1
- package/dist/composer.test.mjs +4 -3
- package/dist/composer.test.mjs.map +1 -1
- 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 +8 -4
- package/dist/generate.cjs.map +1 -1
- package/dist/generate.d.cts.map +1 -1
- package/dist/generate.d.mts.map +1 -1
- package/dist/generate.mjs +9 -5
- package/dist/generate.mjs.map +1 -1
- package/dist/generate.test.cjs +55 -55
- package/dist/generate.test.cjs.map +1 -1
- package/dist/generate.test.mjs +2 -2
- package/dist/generate.test.mjs.map +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.cjs +140 -0
- package/dist/generators/clone-repos.cjs.map +1 -0
- package/dist/generators/clone-repos.d.cts +11 -0
- package/dist/generators/clone-repos.d.cts.map +1 -0
- package/dist/generators/clone-repos.d.mts +11 -0
- package/dist/generators/clone-repos.d.mts.map +1 -0
- package/dist/generators/clone-repos.mjs +139 -0
- package/dist/generators/clone-repos.mjs.map +1 -0
- package/dist/generators/clone-repos.test.cjs +140 -0
- package/dist/generators/clone-repos.test.cjs.map +1 -0
- package/dist/generators/clone-repos.test.d.cts +1 -0
- package/dist/generators/clone-repos.test.d.mts +1 -0
- package/dist/generators/clone-repos.test.mjs +141 -0
- package/dist/generators/clone-repos.test.mjs.map +1 -0
- 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/postgres-init.cjs +20 -0
- package/dist/generators/postgres-init.cjs.map +1 -1
- package/dist/generators/postgres-init.d.cts.map +1 -1
- package/dist/generators/postgres-init.d.mts.map +1 -1
- package/dist/generators/postgres-init.mjs +20 -0
- package/dist/generators/postgres-init.mjs.map +1 -1
- package/dist/generators/scripts.cjs +332 -3
- package/dist/generators/scripts.cjs.map +1 -1
- package/dist/generators/scripts.d.cts +3 -1
- package/dist/generators/scripts.d.cts.map +1 -1
- package/dist/generators/scripts.d.mts +3 -1
- package/dist/generators/scripts.d.mts.map +1 -1
- package/dist/generators/scripts.mjs +332 -3
- package/dist/generators/scripts.mjs.map +1 -1
- package/dist/generators/scripts.test.cjs +57 -23
- package/dist/generators/scripts.test.cjs.map +1 -1
- package/dist/generators/scripts.test.mjs +39 -5
- package/dist/generators/scripts.test.mjs.map +1 -1
- package/dist/generators/stack-manifest.cjs +1 -0
- package/dist/generators/stack-manifest.cjs.map +1 -1
- package/dist/generators/stack-manifest.d.cts +3 -2
- package/dist/generators/stack-manifest.d.cts.map +1 -1
- package/dist/generators/stack-manifest.d.mts +3 -2
- package/dist/generators/stack-manifest.d.mts.map +1 -1
- package/dist/generators/stack-manifest.mjs +1 -0
- package/dist/generators/stack-manifest.mjs.map +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 +28 -5
- package/dist/index.d.cts +7 -4
- package/dist/index.d.mts +7 -4
- package/dist/index.mjs +10 -7
- 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.cjs.map +1 -1
- package/dist/presets/registry.d.cts.map +1 -1
- package/dist/presets/registry.d.mts.map +1 -1
- package/dist/presets/registry.mjs.map +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.cjs +8 -0
- package/dist/resolver.cjs.map +1 -1
- package/dist/resolver.mjs +9 -1
- package/dist/resolver.mjs.map +1 -1
- package/dist/resolver.test.cjs +125 -90
- package/dist/resolver.test.cjs.map +1 -1
- package/dist/resolver.test.mjs +47 -12
- package/dist/resolver.test.mjs.map +1 -1
- package/dist/{schema-B4c64P8N.d.cts → schema-CKBRu-Rt.d.cts} +355 -8
- package/dist/schema-CKBRu-Rt.d.cts.map +1 -0
- package/dist/{schema-CXNhYci1.d.mts → schema-Dn-_Jpb6.d.mts} +355 -8
- package/dist/schema-Dn-_Jpb6.d.mts.map +1 -0
- package/dist/schema.cjs +160 -5
- 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 +150 -6
- 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/apptension-saas.cjs +87 -0
- package/dist/services/definitions/apptension-saas.cjs.map +1 -0
- package/dist/services/definitions/apptension-saas.d.cts +7 -0
- package/dist/services/definitions/apptension-saas.d.cts.map +1 -0
- package/dist/services/definitions/apptension-saas.d.mts +7 -0
- package/dist/services/definitions/apptension-saas.d.mts.map +1 -0
- package/dist/services/definitions/apptension-saas.mjs +86 -0
- package/dist/services/definitions/apptension-saas.mjs.map +1 -0
- package/dist/services/definitions/boxyhq-saas.cjs +88 -0
- package/dist/services/definitions/boxyhq-saas.cjs.map +1 -0
- package/dist/services/definitions/boxyhq-saas.d.cts +7 -0
- package/dist/services/definitions/boxyhq-saas.d.cts.map +1 -0
- package/dist/services/definitions/boxyhq-saas.d.mts +7 -0
- package/dist/services/definitions/boxyhq-saas.d.mts.map +1 -0
- package/dist/services/definitions/boxyhq-saas.mjs +87 -0
- package/dist/services/definitions/boxyhq-saas.mjs.map +1 -0
- 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/cmsaas-starter.cjs +86 -0
- package/dist/services/definitions/cmsaas-starter.cjs.map +1 -0
- package/dist/services/definitions/cmsaas-starter.d.cts +7 -0
- package/dist/services/definitions/cmsaas-starter.d.cts.map +1 -0
- package/dist/services/definitions/cmsaas-starter.d.mts +7 -0
- package/dist/services/definitions/cmsaas-starter.d.mts.map +1 -0
- package/dist/services/definitions/cmsaas-starter.mjs +85 -0
- package/dist/services/definitions/cmsaas-starter.mjs.map +1 -0
- 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/index.cjs +51 -36
- package/dist/services/definitions/index.cjs.map +1 -1
- package/dist/services/definitions/index.d.cts +30 -25
- package/dist/services/definitions/index.d.cts.map +1 -1
- package/dist/services/definitions/index.d.mts +30 -25
- package/dist/services/definitions/index.d.mts.map +1 -1
- package/dist/services/definitions/index.mjs +47 -37
- package/dist/services/definitions/index.mjs.map +1 -1
- package/dist/services/definitions/ixartz-saas.cjs +88 -0
- package/dist/services/definitions/ixartz-saas.cjs.map +1 -0
- package/dist/services/definitions/ixartz-saas.d.cts +7 -0
- package/dist/services/definitions/ixartz-saas.d.cts.map +1 -0
- package/dist/services/definitions/ixartz-saas.d.mts +7 -0
- package/dist/services/definitions/ixartz-saas.d.mts.map +1 -0
- package/dist/services/definitions/ixartz-saas.mjs +87 -0
- package/dist/services/definitions/ixartz-saas.mjs.map +1 -0
- 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/mission-control.cjs +16 -2
- package/dist/services/definitions/mission-control.cjs.map +1 -1
- package/dist/services/definitions/mission-control.mjs +16 -2
- package/dist/services/definitions/mission-control.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/open-saas.cjs +81 -0
- package/dist/services/definitions/open-saas.cjs.map +1 -0
- package/dist/services/definitions/open-saas.d.cts +7 -0
- package/dist/services/definitions/open-saas.d.cts.map +1 -0
- package/dist/services/definitions/open-saas.d.mts +7 -0
- package/dist/services/definitions/open-saas.d.mts.map +1 -0
- package/dist/services/definitions/open-saas.mjs +80 -0
- package/dist/services/definitions/open-saas.mjs.map +1 -0
- 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.cjs +3 -0
- package/dist/services/registry.cjs.map +1 -1
- package/dist/services/registry.d.cts.map +1 -1
- package/dist/services/registry.d.mts.map +1 -1
- package/dist/services/registry.mjs +3 -0
- package/dist/services/registry.mjs.map +1 -1
- package/dist/services/registry.test.cjs +40 -33
- package/dist/services/registry.test.cjs.map +1 -1
- package/dist/services/registry.test.mjs +8 -1
- package/dist/services/registry.test.mjs.map +1 -1
- package/dist/{skill-manifest-BVUXU0__.mjs → skill-manifest-6XhrhWsG.mjs} +49 -1
- package/dist/{skill-manifest--IgY9REK.cjs.map → skill-manifest-6XhrhWsG.mjs.map} +1 -1
- package/dist/{skill-manifest--IgY9REK.cjs → skill-manifest-B8znSsym.cjs} +49 -1
- package/dist/{skill-manifest-BVUXU0__.mjs.map → skill-manifest-B8znSsym.cjs.map} +1 -1
- package/dist/skills/registry.cjs +3 -3
- package/dist/skills/registry.cjs.map +1 -1
- package/dist/skills/registry.mjs +3 -3
- package/dist/skills/registry.mjs.map +1 -1
- package/dist/skills/skill-manifest.cjs +1 -1
- package/dist/skills/skill-manifest.mjs +1 -1
- package/dist/{vi.2VT5v0um-DvC3SVNc.mjs → test.CTcmp4Su-ClCHJ3FA.mjs} +6793 -6403
- package/dist/test.CTcmp4Su-ClCHJ3FA.mjs.map +1 -0
- package/dist/{vi.2VT5v0um-CRqXre87.cjs → test.CTcmp4Su-DlzTarwH.cjs} +6793 -6403
- package/dist/test.CTcmp4Su-DlzTarwH.cjs.map +1 -0
- package/dist/track-analytics.cjs +50 -0
- package/dist/track-analytics.cjs.map +1 -0
- package/dist/track-analytics.d.cts +34 -0
- package/dist/track-analytics.d.cts.map +1 -0
- package/dist/track-analytics.d.mts +34 -0
- package/dist/track-analytics.d.mts.map +1 -0
- package/dist/track-analytics.mjs +48 -0
- package/dist/track-analytics.mjs.map +1 -0
- package/dist/track-analytics.test.cjs +91 -0
- package/dist/track-analytics.test.cjs.map +1 -0
- package/dist/track-analytics.test.d.cts +1 -0
- package/dist/track-analytics.test.d.mts +1 -0
- package/dist/track-analytics.test.mjs +92 -0
- package/dist/track-analytics.test.mjs.map +1 -0
- package/dist/types.cjs +7 -0
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +12 -2
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +12 -2
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +7 -0
- 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.cjs +1 -1
- package/dist/version-manager.cjs.map +1 -1
- package/dist/version-manager.mjs +1 -1
- package/dist/version-manager.mjs.map +1 -1
- package/dist/version-manager.test.cjs +40 -38
- package/dist/version-manager.test.cjs.map +1 -1
- package/dist/version-manager.test.mjs +7 -5
- package/dist/version-manager.test.mjs.map +1 -1
- package/package.json +4 -4
- package/src/__snapshots__/composer.snapshot.test.ts.snap +160 -0
- package/src/addon-stack.test.ts +490 -0
- package/src/addon-stack.ts +998 -0
- package/src/bare-metal-partition.test.ts +4 -3
- package/src/composer.test.ts +4 -2
- package/src/composer.ts +24 -5
- package/src/generate.test.ts +2 -1
- package/src/generate.ts +10 -1
- package/src/generators/clone-repos.test.ts +154 -0
- package/src/generators/clone-repos.ts +159 -0
- package/src/generators/postgres-init.ts +17 -0
- package/src/generators/scripts.test.ts +52 -4
- package/src/generators/scripts.ts +351 -3
- package/src/generators/stack-manifest.ts +4 -2
- package/src/index.ts +28 -2
- package/src/presets/registry.ts +241 -329
- package/src/resolver.test.ts +53 -15
- package/src/resolver.ts +13 -1
- package/src/schema.ts +216 -4
- package/src/services/definitions/apptension-saas.ts +84 -0
- package/src/services/definitions/boxyhq-saas.ts +84 -0
- package/src/services/definitions/browserless.ts +3 -0
- package/src/services/definitions/cmsaas-starter.ts +84 -0
- package/src/services/definitions/convex.ts +31 -0
- package/src/services/definitions/grafana.ts +9 -0
- package/src/services/definitions/index.ts +90 -70
- package/src/services/definitions/ixartz-saas.ts +84 -0
- package/src/services/definitions/meilisearch.ts +9 -0
- package/src/services/definitions/minio.ts +2 -0
- package/src/services/definitions/mission-control.ts +19 -2
- package/src/services/definitions/n8n.ts +9 -0
- package/src/services/definitions/ollama.ts +2 -0
- package/src/services/definitions/open-saas.ts +79 -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/services/registry.test.ts +8 -0
- package/src/services/registry.ts +7 -0
- package/src/skills/manifest.json +64 -0
- package/src/skills/registry.ts +3 -3
- package/src/track-analytics.test.ts +82 -0
- package/src/track-analytics.ts +76 -0
- package/src/types.ts +29 -0
- package/src/version-manager.test.ts +10 -5
- package/src/version-manager.ts +1 -1
- package/dist/schema-B4c64P8N.d.cts.map +0 -1
- package/dist/schema-CXNhYci1.d.mts.map +0 -1
- package/dist/vi.2VT5v0um-CRqXre87.cjs.map +0 -1
- package/dist/vi.2VT5v0um-DvC3SVNc.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mission-control.mjs","names":[],"sources":["../../../src/services/definitions/mission-control.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const missionControlDefinition: ServiceDefinition = {\n\tid: \"mission-control\",\n\tname: \"Mission Control\",\n\tdescription:\n\t\t\"Real-time agent oversight dashboard for OpenClaw. Kanban task board, live activity feed, document browser, and message threads — powered by Convex.\",\n\tcategory: \"dev-tools\",\n\ticon: \"🛸\",\n\n\
|
|
1
|
+
{"version":3,"file":"mission-control.mjs","names":[],"sources":["../../../src/services/definitions/mission-control.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const missionControlDefinition: ServiceDefinition = {\n\tid: \"mission-control\",\n\tname: \"Mission Control\",\n\tdescription:\n\t\t\"Real-time agent oversight dashboard for OpenClaw. Kanban task board, live activity feed, document browser, and message threads — powered by Convex.\",\n\tcategory: \"dev-tools\",\n\ticon: \"🛸\",\n\n\t// Pre-built image available at ghcr.io/bidewio/mission-control:latest\n\t// but gitSource is preferred so users always get the latest source\n\tgitSource: {\n\t\trepoUrl: \"https://github.com/bidewio/better-openclaw-mission-control.git\",\n\t\tbranch: \"main\",\n\t\tpostCloneCommands: [],\n\t},\n\tbuildContext: {\n\t\tdockerfile: \"Dockerfile\",\n\t\tcontext: \".\",\n\t},\n\n\tports: [\n\t\t{\n\t\t\thost: 3660,\n\t\t\tcontainer: 3660,\n\t\t\tdescription: \"Mission Control Web UI\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"VITE_CONVEX_URL\",\n\t\t\tdefaultValue: \"http://127.0.0.1:3210\",\n\t\t\tsecret: false,\n\t\t\tdescription:\n\t\t\t\t\"Convex backend URL as seen from the browser (build-time, embedded in JS bundle)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_SELF_HOSTED_URL\",\n\t\t\tdefaultValue: \"http://convex:3210\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Internal Docker URL for pushing Convex functions during build\",\n\t\t\trequired: true,\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 the self-hosted Convex backend. Generate with: docker compose exec convex ./generate_admin_key.sh\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:3660/ || exit 1\",\n\t\tinterval: \"10s\",\n\t\ttimeout: \"5s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [\"convex\"],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://github.com/bidewio/better-openclaw/tree/main/packages/mission-control\",\n\tselfHostedDocsUrl:\n\t\t\"https://github.com/bidewio/better-openclaw/tree/main/packages/mission-control\",\n\ttags: [\"openclaw\", \"dashboard\", \"monitoring\", \"agents\", \"analytics\", \"convex\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"convex\"],\n\trecommends: [\"convex-dashboard\"],\n\tconflictsWith: [],\n\tmandatory: true,\n\tremovalWarning:\n\t\t\"Mission Control is the primary dashboard for monitoring your OpenClaw agents. Removing it will eliminate real-time agent oversight, task management, and activity tracking.\",\n\n\tminMemoryMB: 128,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,2BAA8C;CAC1D,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAIN,WAAW;EACV,SAAS;EACT,QAAQ;EACR,mBAAmB,EAAE;EACrB;CACD,cAAc;EACb,YAAY;EACZ,SAAS;EACT;CAED,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,EAAE;CACX,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aACC;GACD,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,CAAC,SAAS;CACrB,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,mBACC;CACD,MAAM;EAAC;EAAY;EAAa;EAAc;EAAU;EAAa;EAAS;CAC9E,UAAU;CAEV,UAAU,CAAC,SAAS;CACpB,YAAY,CAAC,mBAAmB;CAChC,eAAe,EAAE;CACjB,WAAW;CACX,gBACC;CAED,aAAa;CACb,aAAa;CACb"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/services/definitions/open-saas.ts
|
|
3
|
+
const openSaasDefinition = {
|
|
4
|
+
id: "open-saas",
|
|
5
|
+
name: "Open SaaS",
|
|
6
|
+
description: "Full-stack React + Node.js SaaS starter built on the Wasp framework with auth, payments (Stripe/Lemon Squeezy), email, analytics, and admin dashboard.",
|
|
7
|
+
category: "saas-boilerplate",
|
|
8
|
+
icon: "🚀",
|
|
9
|
+
gitSource: {
|
|
10
|
+
repoUrl: "https://github.com/wasp-lang/open-saas.git",
|
|
11
|
+
branch: "main",
|
|
12
|
+
subdirectory: "template",
|
|
13
|
+
postCloneCommands: []
|
|
14
|
+
},
|
|
15
|
+
buildContext: {
|
|
16
|
+
dockerfile: "Dockerfile",
|
|
17
|
+
context: "."
|
|
18
|
+
},
|
|
19
|
+
ports: [{
|
|
20
|
+
host: 3100,
|
|
21
|
+
container: 3e3,
|
|
22
|
+
description: "Open SaaS web application",
|
|
23
|
+
exposed: true
|
|
24
|
+
}],
|
|
25
|
+
volumes: [],
|
|
26
|
+
environment: [
|
|
27
|
+
{
|
|
28
|
+
key: "DATABASE_URL",
|
|
29
|
+
defaultValue: "postgresql://opensaas:${OPENSAAS_DB_PASSWORD}@postgresql:5432/opensaas",
|
|
30
|
+
secret: false,
|
|
31
|
+
description: "PostgreSQL connection string",
|
|
32
|
+
required: true
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
key: "OPENSAAS_DB_PASSWORD",
|
|
36
|
+
defaultValue: "",
|
|
37
|
+
secret: true,
|
|
38
|
+
description: "Database password for Open SaaS",
|
|
39
|
+
required: true
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
key: "JWT_SECRET",
|
|
43
|
+
defaultValue: "",
|
|
44
|
+
secret: true,
|
|
45
|
+
description: "JWT signing secret",
|
|
46
|
+
required: true
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
healthcheck: {
|
|
50
|
+
test: "wget -q --spider http://localhost:3000/ || exit 1",
|
|
51
|
+
interval: "30s",
|
|
52
|
+
timeout: "10s",
|
|
53
|
+
retries: 3,
|
|
54
|
+
startPeriod: "60s"
|
|
55
|
+
},
|
|
56
|
+
dependsOn: ["postgresql"],
|
|
57
|
+
restartPolicy: "unless-stopped",
|
|
58
|
+
networks: ["openclaw-network"],
|
|
59
|
+
skills: [],
|
|
60
|
+
openclawEnvVars: [],
|
|
61
|
+
docsUrl: "https://opensaas.sh/docs",
|
|
62
|
+
tags: [
|
|
63
|
+
"saas",
|
|
64
|
+
"boilerplate",
|
|
65
|
+
"react",
|
|
66
|
+
"nodejs",
|
|
67
|
+
"wasp",
|
|
68
|
+
"stripe",
|
|
69
|
+
"auth"
|
|
70
|
+
],
|
|
71
|
+
maturity: "beta",
|
|
72
|
+
requires: ["postgresql"],
|
|
73
|
+
recommends: ["redis"],
|
|
74
|
+
conflictsWith: [],
|
|
75
|
+
minMemoryMB: 512,
|
|
76
|
+
gpuRequired: false
|
|
77
|
+
};
|
|
78
|
+
//#endregion
|
|
79
|
+
exports.openSaasDefinition = openSaasDefinition;
|
|
80
|
+
|
|
81
|
+
//# sourceMappingURL=open-saas.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-saas.cjs","names":[],"sources":["../../../src/services/definitions/open-saas.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const openSaasDefinition: ServiceDefinition = {\n\tid: \"open-saas\",\n\tname: \"Open SaaS\",\n\tdescription:\n\t\t\"Full-stack React + Node.js SaaS starter built on the Wasp framework with auth, payments (Stripe/Lemon Squeezy), email, analytics, and admin dashboard.\",\n\tcategory: \"saas-boilerplate\",\n\ticon: \"🚀\",\n\n\t// Git-based service — built from source\n\tgitSource: {\n\t\trepoUrl: \"https://github.com/wasp-lang/open-saas.git\",\n\t\tbranch: \"main\",\n\t\tsubdirectory: \"template\",\n\t\tpostCloneCommands: [],\n\t},\n\tbuildContext: {\n\t\tdockerfile: \"Dockerfile\",\n\t\tcontext: \".\",\n\t},\n\n\tports: [\n\t\t{\n\t\t\thost: 3100,\n\t\t\tcontainer: 3000,\n\t\t\tdescription: \"Open SaaS web application\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"DATABASE_URL\",\n\t\t\tdefaultValue: \"postgresql://opensaas:${OPENSAAS_DB_PASSWORD}@postgresql:5432/opensaas\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL connection string\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"OPENSAAS_DB_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Database password for Open SaaS\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"JWT_SECRET\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"JWT signing secret\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:3000/ || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"60s\",\n\t},\n\tdependsOn: [\"postgresql\"],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://opensaas.sh/docs\",\n\ttags: [\"saas\", \"boilerplate\", \"react\", \"nodejs\", \"wasp\", \"stripe\", \"auth\"],\n\tmaturity: \"beta\",\n\n\trequires: [\"postgresql\"],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";;AAEA,MAAa,qBAAwC;CACpD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAGN,WAAW;EACV,SAAS;EACT,QAAQ;EACR,cAAc;EACd,mBAAmB,EAAE;EACrB;CACD,cAAc;EACb,YAAY;EACZ,SAAS;EACT;CAED,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,EAAE;CACX,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,CAAC,aAAa;CACzB,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAQ;EAAe;EAAS;EAAU;EAAQ;EAAU;EAAO;CAC1E,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-saas.d.cts","names":[],"sources":["../../../src/services/definitions/open-saas.ts"],"mappings":";;;cAEa,kBAAA,EAAoB,iBAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-saas.d.mts","names":[],"sources":["../../../src/services/definitions/open-saas.ts"],"mappings":";;;cAEa,kBAAA,EAAoB,iBAAA"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
//#region src/services/definitions/open-saas.ts
|
|
2
|
+
const openSaasDefinition = {
|
|
3
|
+
id: "open-saas",
|
|
4
|
+
name: "Open SaaS",
|
|
5
|
+
description: "Full-stack React + Node.js SaaS starter built on the Wasp framework with auth, payments (Stripe/Lemon Squeezy), email, analytics, and admin dashboard.",
|
|
6
|
+
category: "saas-boilerplate",
|
|
7
|
+
icon: "🚀",
|
|
8
|
+
gitSource: {
|
|
9
|
+
repoUrl: "https://github.com/wasp-lang/open-saas.git",
|
|
10
|
+
branch: "main",
|
|
11
|
+
subdirectory: "template",
|
|
12
|
+
postCloneCommands: []
|
|
13
|
+
},
|
|
14
|
+
buildContext: {
|
|
15
|
+
dockerfile: "Dockerfile",
|
|
16
|
+
context: "."
|
|
17
|
+
},
|
|
18
|
+
ports: [{
|
|
19
|
+
host: 3100,
|
|
20
|
+
container: 3e3,
|
|
21
|
+
description: "Open SaaS web application",
|
|
22
|
+
exposed: true
|
|
23
|
+
}],
|
|
24
|
+
volumes: [],
|
|
25
|
+
environment: [
|
|
26
|
+
{
|
|
27
|
+
key: "DATABASE_URL",
|
|
28
|
+
defaultValue: "postgresql://opensaas:${OPENSAAS_DB_PASSWORD}@postgresql:5432/opensaas",
|
|
29
|
+
secret: false,
|
|
30
|
+
description: "PostgreSQL connection string",
|
|
31
|
+
required: true
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: "OPENSAAS_DB_PASSWORD",
|
|
35
|
+
defaultValue: "",
|
|
36
|
+
secret: true,
|
|
37
|
+
description: "Database password for Open SaaS",
|
|
38
|
+
required: true
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
key: "JWT_SECRET",
|
|
42
|
+
defaultValue: "",
|
|
43
|
+
secret: true,
|
|
44
|
+
description: "JWT signing secret",
|
|
45
|
+
required: true
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
healthcheck: {
|
|
49
|
+
test: "wget -q --spider http://localhost:3000/ || exit 1",
|
|
50
|
+
interval: "30s",
|
|
51
|
+
timeout: "10s",
|
|
52
|
+
retries: 3,
|
|
53
|
+
startPeriod: "60s"
|
|
54
|
+
},
|
|
55
|
+
dependsOn: ["postgresql"],
|
|
56
|
+
restartPolicy: "unless-stopped",
|
|
57
|
+
networks: ["openclaw-network"],
|
|
58
|
+
skills: [],
|
|
59
|
+
openclawEnvVars: [],
|
|
60
|
+
docsUrl: "https://opensaas.sh/docs",
|
|
61
|
+
tags: [
|
|
62
|
+
"saas",
|
|
63
|
+
"boilerplate",
|
|
64
|
+
"react",
|
|
65
|
+
"nodejs",
|
|
66
|
+
"wasp",
|
|
67
|
+
"stripe",
|
|
68
|
+
"auth"
|
|
69
|
+
],
|
|
70
|
+
maturity: "beta",
|
|
71
|
+
requires: ["postgresql"],
|
|
72
|
+
recommends: ["redis"],
|
|
73
|
+
conflictsWith: [],
|
|
74
|
+
minMemoryMB: 512,
|
|
75
|
+
gpuRequired: false
|
|
76
|
+
};
|
|
77
|
+
//#endregion
|
|
78
|
+
export { openSaasDefinition };
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=open-saas.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-saas.mjs","names":[],"sources":["../../../src/services/definitions/open-saas.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const openSaasDefinition: ServiceDefinition = {\n\tid: \"open-saas\",\n\tname: \"Open SaaS\",\n\tdescription:\n\t\t\"Full-stack React + Node.js SaaS starter built on the Wasp framework with auth, payments (Stripe/Lemon Squeezy), email, analytics, and admin dashboard.\",\n\tcategory: \"saas-boilerplate\",\n\ticon: \"🚀\",\n\n\t// Git-based service — built from source\n\tgitSource: {\n\t\trepoUrl: \"https://github.com/wasp-lang/open-saas.git\",\n\t\tbranch: \"main\",\n\t\tsubdirectory: \"template\",\n\t\tpostCloneCommands: [],\n\t},\n\tbuildContext: {\n\t\tdockerfile: \"Dockerfile\",\n\t\tcontext: \".\",\n\t},\n\n\tports: [\n\t\t{\n\t\t\thost: 3100,\n\t\t\tcontainer: 3000,\n\t\t\tdescription: \"Open SaaS web application\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"DATABASE_URL\",\n\t\t\tdefaultValue: \"postgresql://opensaas:${OPENSAAS_DB_PASSWORD}@postgresql:5432/opensaas\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL connection string\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"OPENSAAS_DB_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Database password for Open SaaS\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"JWT_SECRET\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"JWT signing secret\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:3000/ || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"60s\",\n\t},\n\tdependsOn: [\"postgresql\"],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://opensaas.sh/docs\",\n\ttags: [\"saas\", \"boilerplate\", \"react\", \"nodejs\", \"wasp\", \"stripe\", \"auth\"],\n\tmaturity: \"beta\",\n\n\trequires: [\"postgresql\"],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,qBAAwC;CACpD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAGN,WAAW;EACV,SAAS;EACT,QAAQ;EACR,cAAc;EACd,mBAAmB,EAAE;EACrB;CACD,cAAc;EACb,YAAY;EACZ,SAAS;EACT;CAED,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,EAAE;CACX,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,CAAC,aAAa;CACzB,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAQ;EAAe;EAAS;EAAU;EAAQ;EAAU;EAAO;CAC1E,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
@@ -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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qdrant.mjs","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.mjs","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"}
|
|
@@ -58,7 +58,14 @@ const searxngDefinition = {
|
|
|
58
58
|
recommends: ["redis"],
|
|
59
59
|
conflictsWith: [],
|
|
60
60
|
minMemoryMB: 256,
|
|
61
|
-
gpuRequired: false
|
|
61
|
+
gpuRequired: false,
|
|
62
|
+
capDropCompatible: false,
|
|
63
|
+
proxyPath: "/searxng",
|
|
64
|
+
firstBootCapabilities: [
|
|
65
|
+
"CHOWN",
|
|
66
|
+
"SETGID",
|
|
67
|
+
"SETUID"
|
|
68
|
+
]
|
|
62
69
|
};
|
|
63
70
|
//#endregion
|
|
64
71
|
exports.searxngDefinition = searxngDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searxng.cjs","names":[],"sources":["../../../src/services/definitions/searxng.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const searxngDefinition: ServiceDefinition = {\n\tid: \"searxng\",\n\tname: \"SearXNG\",\n\tdescription:\n\t\t\"Privacy-respecting, self-hosted metasearch engine that aggregates results from multiple search engines without tracking.\",\n\tcategory: \"search\",\n\ticon: \"🔍\",\n\n\timage: \"searxng/searxng\",\n\timageTag: \"2026.2.23-4964d664f\",\n\tports: [\n\t\t{\n\t\t\thost: 8080,\n\t\t\tcontainer: 8080,\n\t\t\tdescription: \"SearXNG web interface and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"searxng-data\",\n\t\t\tcontainerPath: \"/etc/searxng\",\n\t\t\tdescription: \"SearXNG configuration and settings\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:8080/ || 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: [{ skillId: \"searxng-search\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"SEARXNG_HOST\",\n\t\t\tdefaultValue: \"searxng\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"SearXNG hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"SEARXNG_PORT\",\n\t\t\tdefaultValue: \"8080\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"SearXNG port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.searxng.org/\",\n\ttags: [\"search\", \"meta-search\", \"privacy\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"redis\"],\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,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;EAAkB,aAAa;EAAM,CAAC;CAC1D,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;EAAe;EAAU;CAC1C,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"searxng.cjs","names":[],"sources":["../../../src/services/definitions/searxng.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const searxngDefinition: ServiceDefinition = {\n\tid: \"searxng\",\n\tname: \"SearXNG\",\n\tdescription:\n\t\t\"Privacy-respecting, self-hosted metasearch engine that aggregates results from multiple search engines without tracking.\",\n\tcategory: \"search\",\n\ticon: \"🔍\",\n\n\timage: \"searxng/searxng\",\n\timageTag: \"2026.2.23-4964d664f\",\n\tports: [\n\t\t{\n\t\t\thost: 8080,\n\t\t\tcontainer: 8080,\n\t\t\tdescription: \"SearXNG web interface and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"searxng-data\",\n\t\t\tcontainerPath: \"/etc/searxng\",\n\t\t\tdescription: \"SearXNG configuration and settings\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:8080/ || 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: [{ skillId: \"searxng-search\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"SEARXNG_HOST\",\n\t\t\tdefaultValue: \"searxng\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"SearXNG hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"SEARXNG_PORT\",\n\t\t\tdefaultValue: \"8080\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"SearXNG port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.searxng.org/\",\n\ttags: [\"search\", \"meta-search\", \"privacy\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n\tcapDropCompatible: false,\n\tproxyPath: \"/searxng\",\n\tfirstBootCapabilities: [\"CHOWN\", \"SETGID\", \"SETUID\"],\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,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;EAAkB,aAAa;EAAM,CAAC;CAC1D,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;EAAe;EAAU;CAC1C,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX,uBAAuB;EAAC;EAAS;EAAU;EAAS;CACpD"}
|
|
@@ -57,7 +57,14 @@ const searxngDefinition = {
|
|
|
57
57
|
recommends: ["redis"],
|
|
58
58
|
conflictsWith: [],
|
|
59
59
|
minMemoryMB: 256,
|
|
60
|
-
gpuRequired: false
|
|
60
|
+
gpuRequired: false,
|
|
61
|
+
capDropCompatible: false,
|
|
62
|
+
proxyPath: "/searxng",
|
|
63
|
+
firstBootCapabilities: [
|
|
64
|
+
"CHOWN",
|
|
65
|
+
"SETGID",
|
|
66
|
+
"SETUID"
|
|
67
|
+
]
|
|
61
68
|
};
|
|
62
69
|
//#endregion
|
|
63
70
|
export { searxngDefinition };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searxng.mjs","names":[],"sources":["../../../src/services/definitions/searxng.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const searxngDefinition: ServiceDefinition = {\n\tid: \"searxng\",\n\tname: \"SearXNG\",\n\tdescription:\n\t\t\"Privacy-respecting, self-hosted metasearch engine that aggregates results from multiple search engines without tracking.\",\n\tcategory: \"search\",\n\ticon: \"🔍\",\n\n\timage: \"searxng/searxng\",\n\timageTag: \"2026.2.23-4964d664f\",\n\tports: [\n\t\t{\n\t\t\thost: 8080,\n\t\t\tcontainer: 8080,\n\t\t\tdescription: \"SearXNG web interface and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"searxng-data\",\n\t\t\tcontainerPath: \"/etc/searxng\",\n\t\t\tdescription: \"SearXNG configuration and settings\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:8080/ || 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: [{ skillId: \"searxng-search\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"SEARXNG_HOST\",\n\t\t\tdefaultValue: \"searxng\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"SearXNG hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"SEARXNG_PORT\",\n\t\t\tdefaultValue: \"8080\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"SearXNG port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.searxng.org/\",\n\ttags: [\"search\", \"meta-search\", \"privacy\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"redis\"],\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,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;EAAkB,aAAa;EAAM,CAAC;CAC1D,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;EAAe;EAAU;CAC1C,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"searxng.mjs","names":[],"sources":["../../../src/services/definitions/searxng.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const searxngDefinition: ServiceDefinition = {\n\tid: \"searxng\",\n\tname: \"SearXNG\",\n\tdescription:\n\t\t\"Privacy-respecting, self-hosted metasearch engine that aggregates results from multiple search engines without tracking.\",\n\tcategory: \"search\",\n\ticon: \"🔍\",\n\n\timage: \"searxng/searxng\",\n\timageTag: \"2026.2.23-4964d664f\",\n\tports: [\n\t\t{\n\t\t\thost: 8080,\n\t\t\tcontainer: 8080,\n\t\t\tdescription: \"SearXNG web interface and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"searxng-data\",\n\t\t\tcontainerPath: \"/etc/searxng\",\n\t\t\tdescription: \"SearXNG configuration and settings\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:8080/ || 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: [{ skillId: \"searxng-search\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"SEARXNG_HOST\",\n\t\t\tdefaultValue: \"searxng\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"SearXNG hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"SEARXNG_PORT\",\n\t\t\tdefaultValue: \"8080\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"SearXNG port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.searxng.org/\",\n\ttags: [\"search\", \"meta-search\", \"privacy\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n\tcapDropCompatible: false,\n\tproxyPath: \"/searxng\",\n\tfirstBootCapabilities: [\"CHOWN\", \"SETGID\", \"SETUID\"],\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,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;EAAkB,aAAa;EAAM,CAAC;CAC1D,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;EAAe;EAAU;CAC1C,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX,uBAAuB;EAAC;EAAS;EAAU;EAAS;CACpD"}
|
|
@@ -44,7 +44,14 @@ const uptimeKumaDefinition = {
|
|
|
44
44
|
recommends: [],
|
|
45
45
|
conflictsWith: [],
|
|
46
46
|
minMemoryMB: 256,
|
|
47
|
-
gpuRequired: false
|
|
47
|
+
gpuRequired: false,
|
|
48
|
+
capDropCompatible: false,
|
|
49
|
+
proxyPath: "/uptime-kuma",
|
|
50
|
+
firstBootCapabilities: [
|
|
51
|
+
"CHOWN",
|
|
52
|
+
"SETGID",
|
|
53
|
+
"SETUID"
|
|
54
|
+
]
|
|
48
55
|
};
|
|
49
56
|
//#endregion
|
|
50
57
|
exports.uptimeKumaDefinition = uptimeKumaDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uptime-kuma.cjs","names":[],"sources":["../../../src/services/definitions/uptime-kuma.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const uptimeKumaDefinition: ServiceDefinition = {\n\tid: \"uptime-kuma\",\n\tname: \"Uptime Kuma\",\n\tdescription:\n\t\t\"Self-hosted monitoring tool for tracking uptime of websites, APIs, and services with a sleek dashboard and multi-notification support.\",\n\tcategory: \"monitoring\",\n\ticon: \"📡\",\n\n\timage: \"louislam/uptime-kuma\",\n\timageTag: \"2\",\n\tports: [\n\t\t{\n\t\t\thost: 3001,\n\t\t\tcontainer: 3001,\n\t\t\tdescription: \"Uptime Kuma web interface\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"uptime-kuma-data\",\n\t\t\tcontainerPath: \"/app/data\",\n\t\t\tdescription: \"Persistent Uptime Kuma data and configuration\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:3001 || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://github.com/louislam/uptime-kuma/wiki\",\n\ttags: [\"uptime\", \"monitoring\", \"status-page\", \"alerts\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";;AAEA,MAAa,uBAA0C;CACtD,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,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAU;EAAc;EAAe;EAAS;CACvD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"uptime-kuma.cjs","names":[],"sources":["../../../src/services/definitions/uptime-kuma.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const uptimeKumaDefinition: ServiceDefinition = {\n\tid: \"uptime-kuma\",\n\tname: \"Uptime Kuma\",\n\tdescription:\n\t\t\"Self-hosted monitoring tool for tracking uptime of websites, APIs, and services with a sleek dashboard and multi-notification support.\",\n\tcategory: \"monitoring\",\n\ticon: \"📡\",\n\n\timage: \"louislam/uptime-kuma\",\n\timageTag: \"2\",\n\tports: [\n\t\t{\n\t\t\thost: 3001,\n\t\t\tcontainer: 3001,\n\t\t\tdescription: \"Uptime Kuma web interface\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"uptime-kuma-data\",\n\t\t\tcontainerPath: \"/app/data\",\n\t\t\tdescription: \"Persistent Uptime Kuma data and configuration\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:3001 || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://github.com/louislam/uptime-kuma/wiki\",\n\ttags: [\"uptime\", \"monitoring\", \"status-page\", \"alerts\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n\tcapDropCompatible: false,\n\tproxyPath: \"/uptime-kuma\",\n\tfirstBootCapabilities: [\"CHOWN\", \"SETGID\", \"SETUID\"],\n};\n"],"mappings":";;AAEA,MAAa,uBAA0C;CACtD,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,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAU;EAAc;EAAe;EAAS;CACvD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX,uBAAuB;EAAC;EAAS;EAAU;EAAS;CACpD"}
|
|
@@ -43,7 +43,14 @@ const uptimeKumaDefinition = {
|
|
|
43
43
|
recommends: [],
|
|
44
44
|
conflictsWith: [],
|
|
45
45
|
minMemoryMB: 256,
|
|
46
|
-
gpuRequired: false
|
|
46
|
+
gpuRequired: false,
|
|
47
|
+
capDropCompatible: false,
|
|
48
|
+
proxyPath: "/uptime-kuma",
|
|
49
|
+
firstBootCapabilities: [
|
|
50
|
+
"CHOWN",
|
|
51
|
+
"SETGID",
|
|
52
|
+
"SETUID"
|
|
53
|
+
]
|
|
47
54
|
};
|
|
48
55
|
//#endregion
|
|
49
56
|
export { uptimeKumaDefinition };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uptime-kuma.mjs","names":[],"sources":["../../../src/services/definitions/uptime-kuma.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const uptimeKumaDefinition: ServiceDefinition = {\n\tid: \"uptime-kuma\",\n\tname: \"Uptime Kuma\",\n\tdescription:\n\t\t\"Self-hosted monitoring tool for tracking uptime of websites, APIs, and services with a sleek dashboard and multi-notification support.\",\n\tcategory: \"monitoring\",\n\ticon: \"📡\",\n\n\timage: \"louislam/uptime-kuma\",\n\timageTag: \"2\",\n\tports: [\n\t\t{\n\t\t\thost: 3001,\n\t\t\tcontainer: 3001,\n\t\t\tdescription: \"Uptime Kuma web interface\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"uptime-kuma-data\",\n\t\t\tcontainerPath: \"/app/data\",\n\t\t\tdescription: \"Persistent Uptime Kuma data and configuration\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:3001 || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://github.com/louislam/uptime-kuma/wiki\",\n\ttags: [\"uptime\", \"monitoring\", \"status-page\", \"alerts\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,uBAA0C;CACtD,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,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAU;EAAc;EAAe;EAAS;CACvD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"uptime-kuma.mjs","names":[],"sources":["../../../src/services/definitions/uptime-kuma.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const uptimeKumaDefinition: ServiceDefinition = {\n\tid: \"uptime-kuma\",\n\tname: \"Uptime Kuma\",\n\tdescription:\n\t\t\"Self-hosted monitoring tool for tracking uptime of websites, APIs, and services with a sleek dashboard and multi-notification support.\",\n\tcategory: \"monitoring\",\n\ticon: \"📡\",\n\n\timage: \"louislam/uptime-kuma\",\n\timageTag: \"2\",\n\tports: [\n\t\t{\n\t\t\thost: 3001,\n\t\t\tcontainer: 3001,\n\t\t\tdescription: \"Uptime Kuma web interface\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"uptime-kuma-data\",\n\t\t\tcontainerPath: \"/app/data\",\n\t\t\tdescription: \"Persistent Uptime Kuma data and configuration\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:3001 || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://github.com/louislam/uptime-kuma/wiki\",\n\ttags: [\"uptime\", \"monitoring\", \"status-page\", \"alerts\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n\tcapDropCompatible: false,\n\tproxyPath: \"/uptime-kuma\",\n\tfirstBootCapabilities: [\"CHOWN\", \"SETGID\", \"SETUID\"],\n};\n"],"mappings":";AAEA,MAAa,uBAA0C;CACtD,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,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAU;EAAc;EAAe;EAAS;CACvD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX,uBAAuB;EAAC;EAAS;EAAU;EAAS;CACpD"}
|
|
@@ -4,6 +4,9 @@ const require_services_definitions_index = require("./definitions/index.cjs");
|
|
|
4
4
|
const registryMap = /* @__PURE__ */ new Map();
|
|
5
5
|
for (const def of require_services_definitions_index.allServiceDefinitions) {
|
|
6
6
|
if (registryMap.has(def.id)) throw new Error(`Duplicate service definition ID: "${def.id}". Each service must have a unique ID.`);
|
|
7
|
+
const hasImage = def.image && def.imageTag;
|
|
8
|
+
const hasGitSource = def.gitSource && def.buildContext;
|
|
9
|
+
if (!hasImage && !hasGitSource) throw new Error(`Service "${def.id}" must specify either image+imageTag or gitSource+buildContext.`);
|
|
7
10
|
registryMap.set(def.id, def);
|
|
8
11
|
}
|
|
9
12
|
/** Readonly map of all registered services indexed by ID */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.cjs","names":["allServiceDefinitions"],"sources":["../../src/services/registry.ts"],"sourcesContent":["import type { ServiceCategory, ServiceDefinition } from \"../types.js\";\nimport { allServiceDefinitions } from \"./definitions/index.js\";\n\n// Build the registry map and validate no duplicates\nconst registryMap = new Map<string, ServiceDefinition>();\n\nfor (const def of allServiceDefinitions) {\n\tif (registryMap.has(def.id)) {\n\t\tthrow new Error(\n\t\t\t`Duplicate service definition ID: \"${def.id}\". Each service must have a unique ID.`,\n\t\t);\n\t}\n\tregistryMap.set(def.id, def);\n}\n\n/** Readonly map of all registered services indexed by ID */\nexport const serviceRegistry: ReadonlyMap<string, ServiceDefinition> = registryMap;\n\n/** Look up a service by its unique ID */\nexport function getServiceById(id: string): ServiceDefinition | undefined {\n\treturn registryMap.get(id);\n}\n\n/** Get all services in a given category */\nexport function getServicesByCategory(category: ServiceCategory): ServiceDefinition[] {\n\treturn allServiceDefinitions.filter((s) => s.category === category);\n}\n\n/** Get all registered services */\nexport function getAllServices(): ServiceDefinition[] {\n\treturn [...allServiceDefinitions];\n}\n\n/** Get services matching a specific tag */\nexport function getServicesByTag(tag: string): ServiceDefinition[] {\n\treturn allServiceDefinitions.filter((s) => s.tags.includes(tag));\n}\n"],"mappings":";;;AAIA,MAAM,8BAAc,IAAI,KAAgC;AAExD,KAAK,MAAM,OAAOA,mCAAAA,uBAAuB;AACxC,KAAI,YAAY,IAAI,IAAI,GAAG,CAC1B,OAAM,IAAI,MACT,qCAAqC,IAAI,GAAG,wCAC5C;AAEF,aAAY,IAAI,IAAI,IAAI,IAAI;;;AAI7B,MAAa,kBAA0D;;AAGvE,SAAgB,eAAe,IAA2C;AACzE,QAAO,YAAY,IAAI,GAAG;;;AAI3B,SAAgB,sBAAsB,UAAgD;AACrF,QAAOA,mCAAAA,sBAAsB,QAAQ,MAAM,EAAE,aAAa,SAAS;;;AAIpE,SAAgB,iBAAsC;AACrD,QAAO,CAAC,GAAGA,mCAAAA,sBAAsB;;;AAIlC,SAAgB,iBAAiB,KAAkC;AAClE,QAAOA,mCAAAA,sBAAsB,QAAQ,MAAM,EAAE,KAAK,SAAS,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"registry.cjs","names":["allServiceDefinitions"],"sources":["../../src/services/registry.ts"],"sourcesContent":["import type { ServiceCategory, ServiceDefinition } from \"../types.js\";\nimport { allServiceDefinitions } from \"./definitions/index.js\";\n\n// Build the registry map and validate no duplicates\nconst registryMap = new Map<string, ServiceDefinition>();\n\nfor (const def of allServiceDefinitions) {\n\tif (registryMap.has(def.id)) {\n\t\tthrow new Error(\n\t\t\t`Duplicate service definition ID: \"${def.id}\". Each service must have a unique ID.`,\n\t\t);\n\t}\n\tconst hasImage = def.image && def.imageTag;\n\tconst hasGitSource = def.gitSource && def.buildContext;\n\tif (!hasImage && !hasGitSource) {\n\t\tthrow new Error(\n\t\t\t`Service \"${def.id}\" must specify either image+imageTag or gitSource+buildContext.`,\n\t\t);\n\t}\n\tregistryMap.set(def.id, def);\n}\n\n/** Readonly map of all registered services indexed by ID */\nexport const serviceRegistry: ReadonlyMap<string, ServiceDefinition> = registryMap;\n\n/** Look up a service by its unique ID */\nexport function getServiceById(id: string): ServiceDefinition | undefined {\n\treturn registryMap.get(id);\n}\n\n/** Get all services in a given category */\nexport function getServicesByCategory(category: ServiceCategory): ServiceDefinition[] {\n\treturn allServiceDefinitions.filter((s) => s.category === category);\n}\n\n/** Get all registered services */\nexport function getAllServices(): ServiceDefinition[] {\n\treturn [...allServiceDefinitions];\n}\n\n/** Get services matching a specific tag */\nexport function getServicesByTag(tag: string): ServiceDefinition[] {\n\treturn allServiceDefinitions.filter((s) => s.tags.includes(tag));\n}\n"],"mappings":";;;AAIA,MAAM,8BAAc,IAAI,KAAgC;AAExD,KAAK,MAAM,OAAOA,mCAAAA,uBAAuB;AACxC,KAAI,YAAY,IAAI,IAAI,GAAG,CAC1B,OAAM,IAAI,MACT,qCAAqC,IAAI,GAAG,wCAC5C;CAEF,MAAM,WAAW,IAAI,SAAS,IAAI;CAClC,MAAM,eAAe,IAAI,aAAa,IAAI;AAC1C,KAAI,CAAC,YAAY,CAAC,aACjB,OAAM,IAAI,MACT,YAAY,IAAI,GAAG,iEACnB;AAEF,aAAY,IAAI,IAAI,IAAI,IAAI;;;AAI7B,MAAa,kBAA0D;;AAGvE,SAAgB,eAAe,IAA2C;AACzE,QAAO,YAAY,IAAI,GAAG;;;AAI3B,SAAgB,sBAAsB,UAAgD;AACrF,QAAOA,mCAAAA,sBAAsB,QAAQ,MAAM,EAAE,aAAa,SAAS;;;AAIpE,SAAgB,iBAAsC;AACrD,QAAO,CAAC,GAAGA,mCAAAA,sBAAsB;;;AAIlC,SAAgB,iBAAiB,KAAkC;AAClE,QAAOA,mCAAAA,sBAAsB,QAAQ,MAAM,EAAE,KAAK,SAAS,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.cts","names":[],"sources":["../../src/services/registry.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"registry.d.cts","names":[],"sources":["../../src/services/registry.ts"],"mappings":";;;;cAuBa,eAAA,EAAiB,WAAA,SAAoB,iBAAA;AAAlD;AAAA,iBAGgB,cAAA,CAAe,EAAA,WAAa,iBAAA;;iBAK5B,qBAAA,CAAsB,QAAA,EAAU,eAAA,GAAkB,iBAAA;;iBAKlD,cAAA,CAAA,GAAkB,iBAAA;;iBAKlB,gBAAA,CAAiB,GAAA,WAAc,iBAAA"}
|