@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
|
@@ -80,4 +80,13 @@ export const grafanaDefinition: ServiceDefinition = {
|
|
|
80
80
|
|
|
81
81
|
minMemoryMB: 256,
|
|
82
82
|
gpuRequired: false,
|
|
83
|
+
capDropCompatible: true,
|
|
84
|
+
proxyPath: "/grafana",
|
|
85
|
+
envQuirks: [
|
|
86
|
+
{
|
|
87
|
+
key: "GF_SECURITY_ADMIN_PASSWORD",
|
|
88
|
+
issue: "min_length" as const,
|
|
89
|
+
fix: { type: "generate_base64url" as const, minBytes: 16 },
|
|
90
|
+
},
|
|
91
|
+
],
|
|
83
92
|
};
|
|
@@ -1,21 +1,28 @@
|
|
|
1
|
+
export { adguardHomeDefinition } from "./adguard-home.js";
|
|
1
2
|
export { airbyteDefinition } from "./airbyte.js";
|
|
2
3
|
export { airflowDefinition } from "./airflow.js";
|
|
3
4
|
export { anythingLlmDefinition } from "./anything-llm.js";
|
|
4
5
|
export { appflowyDefinition } from "./appflowy.js";
|
|
5
6
|
export { appwriteDefinition } from "./appwrite.js";
|
|
7
|
+
export { audiobookshelfDefinition } from "./audiobookshelf.js";
|
|
6
8
|
export { autheliaDefinition } from "./authelia.js";
|
|
7
9
|
export { authentikDefinition } from "./authentik.js";
|
|
8
10
|
export { axolotlDefinition } from "./axolotl.js";
|
|
11
|
+
export { baserowDefinition } from "./baserow.js";
|
|
9
12
|
export { beszelDefinition } from "./beszel.js";
|
|
10
13
|
export { browserlessDefinition } from "./browserless.js";
|
|
11
14
|
export { caddyDefinition } from "./caddy.js";
|
|
12
15
|
export { calComDefinition } from "./cal-com.js";
|
|
16
|
+
export { calibreWebDefinition } from "./calibre-web.js";
|
|
13
17
|
export { chatwootDefinition } from "./chatwoot.js";
|
|
14
18
|
export { chatwootWorkerDefinition } from "./chatwoot-worker.js";
|
|
15
19
|
export { chromadbDefinition } from "./chromadb.js";
|
|
16
20
|
export { claudeCodeDefinition } from "./claude-code.js";
|
|
21
|
+
export { clickhouseDefinition } from "./clickhouse.js";
|
|
22
|
+
export { cloudflaredDefinition } from "./cloudflared.js";
|
|
17
23
|
export { cockroachdbDefinition } from "./cockroachdb.js";
|
|
18
24
|
export { codeServerDefinition } from "./code-server.js";
|
|
25
|
+
export { coderDefinition } from "./coder.js";
|
|
19
26
|
export { codexDefinition } from "./codex.js";
|
|
20
27
|
export { comfyuiDefinition } from "./comfyui.js";
|
|
21
28
|
export { convexDefinition } from "./convex.js";
|
|
@@ -27,9 +34,10 @@ export { desktopEnvironmentDefinition } from "./desktop-environment.js";
|
|
|
27
34
|
export { difyDefinition } from "./dify.js";
|
|
28
35
|
export { directusDefinition } from "./directus.js";
|
|
29
36
|
export { docsgptDefinition } from "./docsgpt.js";
|
|
30
|
-
export { dragonflyDefinition } from "./dragonfly.js";
|
|
31
37
|
export { dokployDefinition } from "./dokploy.js";
|
|
32
38
|
export { dozzleDefinition } from "./dozzle.js";
|
|
39
|
+
export { dragonflyDefinition } from "./dragonfly.js";
|
|
40
|
+
export { droneCiDefinition } from "./drone-ci.js";
|
|
33
41
|
export { duplicatiDefinition } from "./duplicati.js";
|
|
34
42
|
export { elementWebDefinition } from "./element-web.js";
|
|
35
43
|
export { excalidrawDefinition } from "./excalidraw.js";
|
|
@@ -38,7 +46,9 @@ export { firecrawlDefinition } from "./firecrawl.js";
|
|
|
38
46
|
export { firecrawlPlaywrightDefinition } from "./firecrawl-playwright.js";
|
|
39
47
|
export { flagsmithDefinition } from "./flagsmith.js";
|
|
40
48
|
export { flowiseDefinition } from "./flowise.js";
|
|
49
|
+
export { focalboardDefinition } from "./focalboard.js";
|
|
41
50
|
export { fonosterDefinition } from "./fonoster.js";
|
|
51
|
+
export { forgejoDefinition } from "./forgejo.js";
|
|
42
52
|
export { formbricksDefinition } from "./formbricks.js";
|
|
43
53
|
export { geminiCliDefinition } from "./gemini-cli.js";
|
|
44
54
|
export { ghostDefinition } from "./ghost.js";
|
|
@@ -55,10 +65,12 @@ export { hoppscotchDefinition } from "./hoppscotch.js";
|
|
|
55
65
|
export { immichDefinition } from "./immich.js";
|
|
56
66
|
export { infisicalDefinition } from "./infisical.js";
|
|
57
67
|
export { influxdbDefinition } from "./influxdb.js";
|
|
68
|
+
export { invokeAiDefinition } from "./invoke-ai.js";
|
|
58
69
|
export { jaegerDefinition } from "./jaeger.js";
|
|
59
|
-
export {
|
|
70
|
+
export { janDefinition } from "./jan.js";
|
|
60
71
|
export { jellyfinDefinition } from "./jellyfin.js";
|
|
61
72
|
export { jenkinsDefinition } from "./jenkins.js";
|
|
73
|
+
export { jitsiMeetDefinition } from "./jitsi-meet.js";
|
|
62
74
|
export { keycloakDefinition } from "./keycloak.js";
|
|
63
75
|
export { kimiDefinition } from "./kimi.js";
|
|
64
76
|
export { kongDefinition } from "./kong.js";
|
|
@@ -73,6 +85,7 @@ export { lightpandaDefinition } from "./lightpanda.js";
|
|
|
73
85
|
export { listmonkDefinition } from "./listmonk.js";
|
|
74
86
|
export { litellmDefinition } from "./litellm.js";
|
|
75
87
|
export { livekitDefinition } from "./livekit.js";
|
|
88
|
+
export { localAiDefinition } from "./local-ai.js";
|
|
76
89
|
export { lokiDefinition } from "./loki.js";
|
|
77
90
|
export { mariadbDefinition } from "./mariadb.js";
|
|
78
91
|
export { matomoDefinition } from "./matomo.js";
|
|
@@ -81,16 +94,21 @@ export { mattermostDefinition } from "./mattermost.js";
|
|
|
81
94
|
export { mauticDefinition } from "./mautic.js";
|
|
82
95
|
export { medusaDefinition } from "./medusa.js";
|
|
83
96
|
export { meilisearchDefinition } from "./meilisearch.js";
|
|
97
|
+
export { metabaseDefinition } from "./metabase.js";
|
|
84
98
|
export { milvusDefinition } from "./milvus.js";
|
|
85
99
|
export { minioDefinition } from "./minio.js";
|
|
86
100
|
export { missionControlDefinition } from "./mission-control.js";
|
|
87
101
|
export { mixpostDefinition } from "./mixpost.js";
|
|
102
|
+
export { mosquittoDefinition } from "./mosquitto.js";
|
|
88
103
|
export { motionCanvasDefinition } from "./motion-canvas.js";
|
|
89
104
|
export { mysqlDefinition } from "./mysql.js";
|
|
90
105
|
export { n8nDefinition } from "./n8n.js";
|
|
106
|
+
export { navidromeDefinition } from "./navidrome.js";
|
|
91
107
|
export { neo4jDefinition } from "./neo4j.js";
|
|
92
108
|
export { nextcloudDefinition } from "./nextcloud.js";
|
|
109
|
+
export { nginxProxyManagerDefinition } from "./nginx-proxy-manager.js";
|
|
93
110
|
export { nocodbDefinition } from "./nocodb.js";
|
|
111
|
+
export { nodeRedDefinition } from "./node-red.js";
|
|
94
112
|
export { ntfyDefinition } from "./ntfy.js";
|
|
95
113
|
export { ollamaDefinition } from "./ollama.js";
|
|
96
114
|
export { openWebuiDefinition } from "./open-webui.js";
|
|
@@ -102,11 +120,17 @@ export { outlineDefinition } from "./outline.js";
|
|
|
102
120
|
export { paperlessNgxDefinition } from "./paperless-ngx.js";
|
|
103
121
|
export { pentagiDefinition } from "./pentagi.js";
|
|
104
122
|
export { pentestagentDefinition } from "./pentestagent.js";
|
|
123
|
+
export { photoprismDefinition } from "./photoprism.js";
|
|
124
|
+
export { piholeDefinition } from "./pihole.js";
|
|
125
|
+
export { piperTtsDefinition } from "./piper-tts.js";
|
|
126
|
+
export { planeDefinition } from "./plane.js";
|
|
127
|
+
export { plausibleDefinition } from "./plausible.js";
|
|
105
128
|
export { playwrightServerDefinition } from "./playwright-server.js";
|
|
106
|
-
export { pocketbaseDefinition } from "./pocketbase.js";
|
|
107
129
|
export { pocketIdDefinition } from "./pocket-id.js";
|
|
130
|
+
export { pocketbaseDefinition } from "./pocketbase.js";
|
|
108
131
|
export { portainerDefinition } from "./portainer.js";
|
|
109
132
|
export { postgresqlDefinition } from "./postgresql.js";
|
|
133
|
+
export { posthogDefinition } from "./posthog.js";
|
|
110
134
|
export { postizDefinition } from "./postiz.js";
|
|
111
135
|
export { prometheusDefinition } from "./prometheus.js";
|
|
112
136
|
export { qdrantDefinition } from "./qdrant.js";
|
|
@@ -123,16 +147,20 @@ export { searxngDefinition } from "./searxng.js";
|
|
|
123
147
|
export { sentryDefinition } from "./sentry.js";
|
|
124
148
|
export { signozDefinition } from "./signoz.js";
|
|
125
149
|
export { solidityGuardDefinition } from "./solidityguard.js";
|
|
150
|
+
export { sonarqubeDefinition } from "./sonarqube.js";
|
|
126
151
|
export { stableDiffusionDefinition } from "./stable-diffusion.js";
|
|
127
152
|
export { steelBrowserDefinition } from "./steel-browser.js";
|
|
128
153
|
export { stirlingPdfDefinition } from "./stirling-pdf.js";
|
|
129
154
|
export { strapiDefinition } from "./strapi.js";
|
|
130
155
|
export { streamGatewayDefinition } from "./stream-gateway.js";
|
|
131
156
|
export { supabaseDefinition } from "./supabase.js";
|
|
157
|
+
export { supersetDefinition } from "./superset.js";
|
|
132
158
|
export { surrealdbDefinition } from "./surrealdb.js";
|
|
159
|
+
export { tabbyMlDefinition } from "./tabby-ml.js";
|
|
133
160
|
export { tailscaleDefinition } from "./tailscale.js";
|
|
134
161
|
export { tempoDefinition } from "./tempo.js";
|
|
135
162
|
export { temporalDefinition } from "./temporal.js";
|
|
163
|
+
export { textGenWebuiDefinition } from "./text-gen-webui.js";
|
|
136
164
|
export { timescaledbDefinition } from "./timescaledb.js";
|
|
137
165
|
export { traefikDefinition } from "./traefik.js";
|
|
138
166
|
export { twentyDefinition } from "./twenty.js";
|
|
@@ -141,64 +169,50 @@ export { uptimeKumaDefinition } from "./uptime-kuma.js";
|
|
|
141
169
|
export { usesendDefinition } from "./usesend.js";
|
|
142
170
|
export { valkeyDefinition } from "./valkey.js";
|
|
143
171
|
export { vaultDefinition } from "./vault.js";
|
|
144
|
-
export { vectorLogDefinition } from "./vector-log.js";
|
|
145
172
|
export { vaultwardenDefinition } from "./vaultwarden.js";
|
|
173
|
+
export { vectorLogDefinition } from "./vector-log.js";
|
|
174
|
+
export { vikunjaDefinition } from "./vikunja.js";
|
|
146
175
|
export { watchtowerDefinition } from "./watchtower.js";
|
|
147
176
|
export { weaviateDefinition } from "./weaviate.js";
|
|
148
177
|
export { whisperDefinition } from "./whisper.js";
|
|
149
|
-
export { xyopsDefinition } from "./xyops.js";
|
|
150
|
-
export { zulipDefinition } from "./zulip.js";
|
|
151
|
-
export { adguardHomeDefinition } from "./adguard-home.js";
|
|
152
|
-
export { audiobookshelfDefinition } from "./audiobookshelf.js";
|
|
153
|
-
export { baserowDefinition } from "./baserow.js";
|
|
154
|
-
export { calibreWebDefinition } from "./calibre-web.js";
|
|
155
|
-
export { clickhouseDefinition } from "./clickhouse.js";
|
|
156
|
-
export { cloudflaredDefinition } from "./cloudflared.js";
|
|
157
|
-
export { coderDefinition } from "./coder.js";
|
|
158
|
-
export { droneCiDefinition } from "./drone-ci.js";
|
|
159
|
-
export { focalboardDefinition } from "./focalboard.js";
|
|
160
|
-
export { forgejoDefinition } from "./forgejo.js";
|
|
161
|
-
export { invokeAiDefinition } from "./invoke-ai.js";
|
|
162
|
-
export { janDefinition } from "./jan.js";
|
|
163
|
-
export { localAiDefinition } from "./local-ai.js";
|
|
164
|
-
export { metabaseDefinition } from "./metabase.js";
|
|
165
|
-
export { mosquittoDefinition } from "./mosquitto.js";
|
|
166
|
-
export { navidromeDefinition } from "./navidrome.js";
|
|
167
|
-
export { nginxProxyManagerDefinition } from "./nginx-proxy-manager.js";
|
|
168
|
-
export { nodeRedDefinition } from "./node-red.js";
|
|
169
|
-
export { photoprismDefinition } from "./photoprism.js";
|
|
170
|
-
export { piholeDefinition } from "./pihole.js";
|
|
171
|
-
export { piperTtsDefinition } from "./piper-tts.js";
|
|
172
|
-
export { planeDefinition } from "./plane.js";
|
|
173
|
-
export { plausibleDefinition } from "./plausible.js";
|
|
174
|
-
export { posthogDefinition } from "./posthog.js";
|
|
175
|
-
export { sonarqubeDefinition } from "./sonarqube.js";
|
|
176
|
-
export { supersetDefinition } from "./superset.js";
|
|
177
|
-
export { tabbyMlDefinition } from "./tabby-ml.js";
|
|
178
|
-
export { textGenWebuiDefinition } from "./text-gen-webui.js";
|
|
179
|
-
export { vikunjaDefinition } from "./vikunja.js";
|
|
180
178
|
export { wireguardDefinition } from "./wireguard.js";
|
|
181
179
|
export { woodpeckerCiDefinition } from "./woodpecker-ci.js";
|
|
180
|
+
export { xyopsDefinition } from "./xyops.js";
|
|
181
|
+
export { zulipDefinition } from "./zulip.js";
|
|
182
|
+
|
|
183
|
+
// ── SaaS Boilerplates ──────────────────────────────────────────────────────
|
|
184
|
+
export { openSaasDefinition } from "./open-saas.js";
|
|
185
|
+
export { apptensionSaasDefinition } from "./apptension-saas.js";
|
|
186
|
+
export { boxyhqSaasDefinition } from "./boxyhq-saas.js";
|
|
187
|
+
export { ixartzSaasDefinition } from "./ixartz-saas.js";
|
|
188
|
+
export { cmsaasStarterDefinition } from "./cmsaas-starter.js";
|
|
182
189
|
|
|
183
190
|
import type { ServiceDefinition } from "../../types.js";
|
|
191
|
+
import { adguardHomeDefinition } from "./adguard-home.js";
|
|
184
192
|
import { airbyteDefinition } from "./airbyte.js";
|
|
185
193
|
import { airflowDefinition } from "./airflow.js";
|
|
186
194
|
import { anythingLlmDefinition } from "./anything-llm.js";
|
|
187
195
|
import { appflowyDefinition } from "./appflowy.js";
|
|
188
196
|
import { appwriteDefinition } from "./appwrite.js";
|
|
197
|
+
import { audiobookshelfDefinition } from "./audiobookshelf.js";
|
|
189
198
|
import { autheliaDefinition } from "./authelia.js";
|
|
190
199
|
import { authentikDefinition } from "./authentik.js";
|
|
191
200
|
import { axolotlDefinition } from "./axolotl.js";
|
|
201
|
+
import { baserowDefinition } from "./baserow.js";
|
|
192
202
|
import { beszelDefinition } from "./beszel.js";
|
|
193
203
|
import { browserlessDefinition } from "./browserless.js";
|
|
194
204
|
import { caddyDefinition } from "./caddy.js";
|
|
195
205
|
import { calComDefinition } from "./cal-com.js";
|
|
206
|
+
import { calibreWebDefinition } from "./calibre-web.js";
|
|
196
207
|
import { chatwootDefinition } from "./chatwoot.js";
|
|
197
208
|
import { chatwootWorkerDefinition } from "./chatwoot-worker.js";
|
|
198
209
|
import { chromadbDefinition } from "./chromadb.js";
|
|
199
210
|
import { claudeCodeDefinition } from "./claude-code.js";
|
|
211
|
+
import { clickhouseDefinition } from "./clickhouse.js";
|
|
212
|
+
import { cloudflaredDefinition } from "./cloudflared.js";
|
|
200
213
|
import { cockroachdbDefinition } from "./cockroachdb.js";
|
|
201
214
|
import { codeServerDefinition } from "./code-server.js";
|
|
215
|
+
import { coderDefinition } from "./coder.js";
|
|
202
216
|
import { codexDefinition } from "./codex.js";
|
|
203
217
|
import { comfyuiDefinition } from "./comfyui.js";
|
|
204
218
|
import { convexDefinition } from "./convex.js";
|
|
@@ -211,8 +225,9 @@ import { difyDefinition } from "./dify.js";
|
|
|
211
225
|
import { directusDefinition } from "./directus.js";
|
|
212
226
|
import { docsgptDefinition } from "./docsgpt.js";
|
|
213
227
|
import { dokployDefinition } from "./dokploy.js";
|
|
214
|
-
import { dragonflyDefinition } from "./dragonfly.js";
|
|
215
228
|
import { dozzleDefinition } from "./dozzle.js";
|
|
229
|
+
import { dragonflyDefinition } from "./dragonfly.js";
|
|
230
|
+
import { droneCiDefinition } from "./drone-ci.js";
|
|
216
231
|
import { duplicatiDefinition } from "./duplicati.js";
|
|
217
232
|
import { elementWebDefinition } from "./element-web.js";
|
|
218
233
|
import { excalidrawDefinition } from "./excalidraw.js";
|
|
@@ -221,7 +236,9 @@ import { firecrawlDefinition } from "./firecrawl.js";
|
|
|
221
236
|
import { firecrawlPlaywrightDefinition } from "./firecrawl-playwright.js";
|
|
222
237
|
import { flagsmithDefinition } from "./flagsmith.js";
|
|
223
238
|
import { flowiseDefinition } from "./flowise.js";
|
|
239
|
+
import { focalboardDefinition } from "./focalboard.js";
|
|
224
240
|
import { fonosterDefinition } from "./fonoster.js";
|
|
241
|
+
import { forgejoDefinition } from "./forgejo.js";
|
|
225
242
|
import { formbricksDefinition } from "./formbricks.js";
|
|
226
243
|
import { geminiCliDefinition } from "./gemini-cli.js";
|
|
227
244
|
import { ghostDefinition } from "./ghost.js";
|
|
@@ -238,10 +255,12 @@ import { hoppscotchDefinition } from "./hoppscotch.js";
|
|
|
238
255
|
import { immichDefinition } from "./immich.js";
|
|
239
256
|
import { infisicalDefinition } from "./infisical.js";
|
|
240
257
|
import { influxdbDefinition } from "./influxdb.js";
|
|
258
|
+
import { invokeAiDefinition } from "./invoke-ai.js";
|
|
241
259
|
import { jaegerDefinition } from "./jaeger.js";
|
|
242
|
-
import {
|
|
260
|
+
import { janDefinition } from "./jan.js";
|
|
243
261
|
import { jellyfinDefinition } from "./jellyfin.js";
|
|
244
262
|
import { jenkinsDefinition } from "./jenkins.js";
|
|
263
|
+
import { jitsiMeetDefinition } from "./jitsi-meet.js";
|
|
245
264
|
import { keycloakDefinition } from "./keycloak.js";
|
|
246
265
|
import { kimiDefinition } from "./kimi.js";
|
|
247
266
|
import { kongDefinition } from "./kong.js";
|
|
@@ -256,6 +275,7 @@ import { lightpandaDefinition } from "./lightpanda.js";
|
|
|
256
275
|
import { listmonkDefinition } from "./listmonk.js";
|
|
257
276
|
import { litellmDefinition } from "./litellm.js";
|
|
258
277
|
import { livekitDefinition } from "./livekit.js";
|
|
278
|
+
import { localAiDefinition } from "./local-ai.js";
|
|
259
279
|
import { lokiDefinition } from "./loki.js";
|
|
260
280
|
import { mariadbDefinition } from "./mariadb.js";
|
|
261
281
|
import { matomoDefinition } from "./matomo.js";
|
|
@@ -264,16 +284,21 @@ import { mattermostDefinition } from "./mattermost.js";
|
|
|
264
284
|
import { mauticDefinition } from "./mautic.js";
|
|
265
285
|
import { medusaDefinition } from "./medusa.js";
|
|
266
286
|
import { meilisearchDefinition } from "./meilisearch.js";
|
|
287
|
+
import { metabaseDefinition } from "./metabase.js";
|
|
267
288
|
import { milvusDefinition } from "./milvus.js";
|
|
268
289
|
import { minioDefinition } from "./minio.js";
|
|
269
290
|
import { missionControlDefinition } from "./mission-control.js";
|
|
270
291
|
import { mixpostDefinition } from "./mixpost.js";
|
|
292
|
+
import { mosquittoDefinition } from "./mosquitto.js";
|
|
271
293
|
import { motionCanvasDefinition } from "./motion-canvas.js";
|
|
272
294
|
import { mysqlDefinition } from "./mysql.js";
|
|
273
295
|
import { n8nDefinition } from "./n8n.js";
|
|
296
|
+
import { navidromeDefinition } from "./navidrome.js";
|
|
274
297
|
import { neo4jDefinition } from "./neo4j.js";
|
|
275
298
|
import { nextcloudDefinition } from "./nextcloud.js";
|
|
299
|
+
import { nginxProxyManagerDefinition } from "./nginx-proxy-manager.js";
|
|
276
300
|
import { nocodbDefinition } from "./nocodb.js";
|
|
301
|
+
import { nodeRedDefinition } from "./node-red.js";
|
|
277
302
|
import { ntfyDefinition } from "./ntfy.js";
|
|
278
303
|
import { ollamaDefinition } from "./ollama.js";
|
|
279
304
|
import { openWebuiDefinition } from "./open-webui.js";
|
|
@@ -285,11 +310,17 @@ import { outlineDefinition } from "./outline.js";
|
|
|
285
310
|
import { paperlessNgxDefinition } from "./paperless-ngx.js";
|
|
286
311
|
import { pentagiDefinition } from "./pentagi.js";
|
|
287
312
|
import { pentestagentDefinition } from "./pentestagent.js";
|
|
313
|
+
import { photoprismDefinition } from "./photoprism.js";
|
|
314
|
+
import { piholeDefinition } from "./pihole.js";
|
|
315
|
+
import { piperTtsDefinition } from "./piper-tts.js";
|
|
316
|
+
import { planeDefinition } from "./plane.js";
|
|
317
|
+
import { plausibleDefinition } from "./plausible.js";
|
|
288
318
|
import { playwrightServerDefinition } from "./playwright-server.js";
|
|
289
|
-
import { pocketbaseDefinition } from "./pocketbase.js";
|
|
290
319
|
import { pocketIdDefinition } from "./pocket-id.js";
|
|
320
|
+
import { pocketbaseDefinition } from "./pocketbase.js";
|
|
291
321
|
import { portainerDefinition } from "./portainer.js";
|
|
292
322
|
import { postgresqlDefinition } from "./postgresql.js";
|
|
323
|
+
import { posthogDefinition } from "./posthog.js";
|
|
293
324
|
import { postizDefinition } from "./postiz.js";
|
|
294
325
|
import { prometheusDefinition } from "./prometheus.js";
|
|
295
326
|
import { qdrantDefinition } from "./qdrant.js";
|
|
@@ -306,16 +337,20 @@ import { searxngDefinition } from "./searxng.js";
|
|
|
306
337
|
import { sentryDefinition } from "./sentry.js";
|
|
307
338
|
import { signozDefinition } from "./signoz.js";
|
|
308
339
|
import { solidityGuardDefinition } from "./solidityguard.js";
|
|
340
|
+
import { sonarqubeDefinition } from "./sonarqube.js";
|
|
309
341
|
import { stableDiffusionDefinition } from "./stable-diffusion.js";
|
|
310
342
|
import { steelBrowserDefinition } from "./steel-browser.js";
|
|
311
343
|
import { stirlingPdfDefinition } from "./stirling-pdf.js";
|
|
312
344
|
import { strapiDefinition } from "./strapi.js";
|
|
313
345
|
import { streamGatewayDefinition } from "./stream-gateway.js";
|
|
314
346
|
import { supabaseDefinition } from "./supabase.js";
|
|
347
|
+
import { supersetDefinition } from "./superset.js";
|
|
315
348
|
import { surrealdbDefinition } from "./surrealdb.js";
|
|
349
|
+
import { tabbyMlDefinition } from "./tabby-ml.js";
|
|
316
350
|
import { tailscaleDefinition } from "./tailscale.js";
|
|
317
351
|
import { tempoDefinition } from "./tempo.js";
|
|
318
352
|
import { temporalDefinition } from "./temporal.js";
|
|
353
|
+
import { textGenWebuiDefinition } from "./text-gen-webui.js";
|
|
319
354
|
import { timescaledbDefinition } from "./timescaledb.js";
|
|
320
355
|
import { traefikDefinition } from "./traefik.js";
|
|
321
356
|
import { twentyDefinition } from "./twenty.js";
|
|
@@ -324,44 +359,23 @@ import { uptimeKumaDefinition } from "./uptime-kuma.js";
|
|
|
324
359
|
import { usesendDefinition } from "./usesend.js";
|
|
325
360
|
import { valkeyDefinition } from "./valkey.js";
|
|
326
361
|
import { vaultDefinition } from "./vault.js";
|
|
327
|
-
import { vectorLogDefinition } from "./vector-log.js";
|
|
328
362
|
import { vaultwardenDefinition } from "./vaultwarden.js";
|
|
363
|
+
import { vectorLogDefinition } from "./vector-log.js";
|
|
364
|
+
import { vikunjaDefinition } from "./vikunja.js";
|
|
329
365
|
import { watchtowerDefinition } from "./watchtower.js";
|
|
330
366
|
import { weaviateDefinition } from "./weaviate.js";
|
|
331
367
|
import { whisperDefinition } from "./whisper.js";
|
|
332
|
-
import { xyopsDefinition } from "./xyops.js";
|
|
333
|
-
import { zulipDefinition } from "./zulip.js";
|
|
334
|
-
import { adguardHomeDefinition } from "./adguard-home.js";
|
|
335
|
-
import { audiobookshelfDefinition } from "./audiobookshelf.js";
|
|
336
|
-
import { baserowDefinition } from "./baserow.js";
|
|
337
|
-
import { calibreWebDefinition } from "./calibre-web.js";
|
|
338
|
-
import { clickhouseDefinition } from "./clickhouse.js";
|
|
339
|
-
import { cloudflaredDefinition } from "./cloudflared.js";
|
|
340
|
-
import { coderDefinition } from "./coder.js";
|
|
341
|
-
import { droneCiDefinition } from "./drone-ci.js";
|
|
342
|
-
import { focalboardDefinition } from "./focalboard.js";
|
|
343
|
-
import { forgejoDefinition } from "./forgejo.js";
|
|
344
|
-
import { invokeAiDefinition } from "./invoke-ai.js";
|
|
345
|
-
import { janDefinition } from "./jan.js";
|
|
346
|
-
import { localAiDefinition } from "./local-ai.js";
|
|
347
|
-
import { metabaseDefinition } from "./metabase.js";
|
|
348
|
-
import { mosquittoDefinition } from "./mosquitto.js";
|
|
349
|
-
import { navidromeDefinition } from "./navidrome.js";
|
|
350
|
-
import { nginxProxyManagerDefinition } from "./nginx-proxy-manager.js";
|
|
351
|
-
import { nodeRedDefinition } from "./node-red.js";
|
|
352
|
-
import { photoprismDefinition } from "./photoprism.js";
|
|
353
|
-
import { piholeDefinition } from "./pihole.js";
|
|
354
|
-
import { piperTtsDefinition } from "./piper-tts.js";
|
|
355
|
-
import { planeDefinition } from "./plane.js";
|
|
356
|
-
import { plausibleDefinition } from "./plausible.js";
|
|
357
|
-
import { posthogDefinition } from "./posthog.js";
|
|
358
|
-
import { sonarqubeDefinition } from "./sonarqube.js";
|
|
359
|
-
import { supersetDefinition } from "./superset.js";
|
|
360
|
-
import { tabbyMlDefinition } from "./tabby-ml.js";
|
|
361
|
-
import { textGenWebuiDefinition } from "./text-gen-webui.js";
|
|
362
|
-
import { vikunjaDefinition } from "./vikunja.js";
|
|
363
368
|
import { wireguardDefinition } from "./wireguard.js";
|
|
364
369
|
import { woodpeckerCiDefinition } from "./woodpecker-ci.js";
|
|
370
|
+
import { xyopsDefinition } from "./xyops.js";
|
|
371
|
+
import { zulipDefinition } from "./zulip.js";
|
|
372
|
+
|
|
373
|
+
// ── SaaS Boilerplates ──────────────────────────────────────────────────────
|
|
374
|
+
import { openSaasDefinition } from "./open-saas.js";
|
|
375
|
+
import { apptensionSaasDefinition } from "./apptension-saas.js";
|
|
376
|
+
import { boxyhqSaasDefinition } from "./boxyhq-saas.js";
|
|
377
|
+
import { ixartzSaasDefinition } from "./ixartz-saas.js";
|
|
378
|
+
import { cmsaasStarterDefinition } from "./cmsaas-starter.js";
|
|
365
379
|
|
|
366
380
|
export const allServiceDefinitions: ServiceDefinition[] = [
|
|
367
381
|
redisDefinition,
|
|
@@ -547,4 +561,10 @@ export const allServiceDefinitions: ServiceDefinition[] = [
|
|
|
547
561
|
vikunjaDefinition,
|
|
548
562
|
wireguardDefinition,
|
|
549
563
|
woodpeckerCiDefinition,
|
|
564
|
+
// ── SaaS Boilerplates ────────────────────────────────────────────────────
|
|
565
|
+
openSaasDefinition,
|
|
566
|
+
apptensionSaasDefinition,
|
|
567
|
+
boxyhqSaasDefinition,
|
|
568
|
+
ixartzSaasDefinition,
|
|
569
|
+
cmsaasStarterDefinition,
|
|
550
570
|
];
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { ServiceDefinition } from "../../types.js";
|
|
2
|
+
|
|
3
|
+
export const ixartzSaasDefinition: ServiceDefinition = {
|
|
4
|
+
id: "ixartz-saas",
|
|
5
|
+
name: "SaaS Boilerplate (Ixartz)",
|
|
6
|
+
description:
|
|
7
|
+
"Modern Next.js 14 SaaS boilerplate with TypeScript, DrizzleORM, Tailwind CSS, ShadCN UI, Clerk auth, Stripe billing, i18n support, and comprehensive testing.",
|
|
8
|
+
category: "saas-boilerplate",
|
|
9
|
+
icon: "🚀",
|
|
10
|
+
|
|
11
|
+
gitSource: {
|
|
12
|
+
repoUrl: "https://github.com/ixartz/SaaS-Boilerplate.git",
|
|
13
|
+
branch: "main",
|
|
14
|
+
postCloneCommands: [],
|
|
15
|
+
},
|
|
16
|
+
buildContext: {
|
|
17
|
+
dockerfile: "Dockerfile",
|
|
18
|
+
context: ".",
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
ports: [
|
|
22
|
+
{
|
|
23
|
+
host: 3103,
|
|
24
|
+
container: 3000,
|
|
25
|
+
description: "Ixartz SaaS web application",
|
|
26
|
+
exposed: true,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
volumes: [],
|
|
30
|
+
environment: [
|
|
31
|
+
{
|
|
32
|
+
key: "IXARTZ_SAAS_DB_PASSWORD",
|
|
33
|
+
defaultValue: "",
|
|
34
|
+
secret: true,
|
|
35
|
+
description: "Database password for Ixartz SaaS",
|
|
36
|
+
required: true,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: "DATABASE_URL",
|
|
40
|
+
defaultValue: "postgresql://ixartzsaas:${IXARTZ_SAAS_DB_PASSWORD}@postgresql:5432/ixartzsaas",
|
|
41
|
+
secret: false,
|
|
42
|
+
description: "PostgreSQL connection string",
|
|
43
|
+
required: true,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
key: "CLERK_SECRET_KEY",
|
|
47
|
+
defaultValue: "",
|
|
48
|
+
secret: true,
|
|
49
|
+
description: "Clerk authentication secret key",
|
|
50
|
+
required: true,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: "NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY",
|
|
54
|
+
defaultValue: "",
|
|
55
|
+
secret: false,
|
|
56
|
+
description: "Clerk publishable key (client-side)",
|
|
57
|
+
required: true,
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
healthcheck: {
|
|
61
|
+
test: "wget -q --spider http://localhost:3000/ || exit 1",
|
|
62
|
+
interval: "30s",
|
|
63
|
+
timeout: "10s",
|
|
64
|
+
retries: 3,
|
|
65
|
+
startPeriod: "60s",
|
|
66
|
+
},
|
|
67
|
+
dependsOn: ["postgresql"],
|
|
68
|
+
restartPolicy: "unless-stopped",
|
|
69
|
+
networks: ["openclaw-network"],
|
|
70
|
+
|
|
71
|
+
skills: [],
|
|
72
|
+
openclawEnvVars: [],
|
|
73
|
+
|
|
74
|
+
docsUrl: "https://github.com/ixartz/SaaS-Boilerplate#readme",
|
|
75
|
+
tags: ["saas", "boilerplate", "nextjs", "typescript", "drizzle", "clerk", "stripe", "tailwind"],
|
|
76
|
+
maturity: "beta",
|
|
77
|
+
|
|
78
|
+
requires: ["postgresql"],
|
|
79
|
+
recommends: [],
|
|
80
|
+
conflictsWith: [],
|
|
81
|
+
|
|
82
|
+
minMemoryMB: 512,
|
|
83
|
+
gpuRequired: false,
|
|
84
|
+
};
|
|
@@ -80,4 +80,13 @@ export const meilisearchDefinition: ServiceDefinition = {
|
|
|
80
80
|
|
|
81
81
|
minMemoryMB: 256,
|
|
82
82
|
gpuRequired: false,
|
|
83
|
+
capDropCompatible: true,
|
|
84
|
+
proxyPath: "/meilisearch",
|
|
85
|
+
envQuirks: [
|
|
86
|
+
{
|
|
87
|
+
key: "MEILI_MASTER_KEY",
|
|
88
|
+
issue: "min_length" as const,
|
|
89
|
+
fix: { type: "generate_base64url" as const, minBytes: 24 },
|
|
90
|
+
},
|
|
91
|
+
],
|
|
83
92
|
};
|
|
@@ -8,8 +8,18 @@ export const missionControlDefinition: ServiceDefinition = {
|
|
|
8
8
|
category: "dev-tools",
|
|
9
9
|
icon: "🛸",
|
|
10
10
|
|
|
11
|
-
image
|
|
12
|
-
|
|
11
|
+
// Pre-built image available at ghcr.io/bidewio/mission-control:latest
|
|
12
|
+
// but gitSource is preferred so users always get the latest source
|
|
13
|
+
gitSource: {
|
|
14
|
+
repoUrl: "https://github.com/bidewio/better-openclaw-mission-control.git",
|
|
15
|
+
branch: "main",
|
|
16
|
+
postCloneCommands: [],
|
|
17
|
+
},
|
|
18
|
+
buildContext: {
|
|
19
|
+
dockerfile: "Dockerfile",
|
|
20
|
+
context: ".",
|
|
21
|
+
},
|
|
22
|
+
|
|
13
23
|
ports: [
|
|
14
24
|
{
|
|
15
25
|
host: 3660,
|
|
@@ -44,6 +54,13 @@ export const missionControlDefinition: ServiceDefinition = {
|
|
|
44
54
|
required: true,
|
|
45
55
|
},
|
|
46
56
|
],
|
|
57
|
+
healthcheck: {
|
|
58
|
+
test: "wget -q --spider http://localhost:3660/ || exit 1",
|
|
59
|
+
interval: "10s",
|
|
60
|
+
timeout: "5s",
|
|
61
|
+
retries: 3,
|
|
62
|
+
startPeriod: "15s",
|
|
63
|
+
},
|
|
47
64
|
dependsOn: ["convex"],
|
|
48
65
|
restartPolicy: "unless-stopped",
|
|
49
66
|
networks: ["openclaw-network"],
|
|
@@ -150,4 +150,13 @@ export const n8nDefinition: ServiceDefinition = {
|
|
|
150
150
|
|
|
151
151
|
minMemoryMB: 512,
|
|
152
152
|
gpuRequired: false,
|
|
153
|
+
capDropCompatible: true,
|
|
154
|
+
proxyPath: "/n8n",
|
|
155
|
+
envQuirks: [
|
|
156
|
+
{
|
|
157
|
+
key: "DB_POSTGRESDB_PASSWORD",
|
|
158
|
+
issue: "must_sync" as const,
|
|
159
|
+
fix: { type: "sync_with" as const, syncKey: "N8N_DB_PASSWORD" },
|
|
160
|
+
},
|
|
161
|
+
],
|
|
153
162
|
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { ServiceDefinition } from "../../types.js";
|
|
2
|
+
|
|
3
|
+
export const openSaasDefinition: ServiceDefinition = {
|
|
4
|
+
id: "open-saas",
|
|
5
|
+
name: "Open SaaS",
|
|
6
|
+
description:
|
|
7
|
+
"Full-stack React + Node.js SaaS starter built on the Wasp framework with auth, payments (Stripe/Lemon Squeezy), email, analytics, and admin dashboard.",
|
|
8
|
+
category: "saas-boilerplate",
|
|
9
|
+
icon: "🚀",
|
|
10
|
+
|
|
11
|
+
// Git-based service — built from source
|
|
12
|
+
gitSource: {
|
|
13
|
+
repoUrl: "https://github.com/wasp-lang/open-saas.git",
|
|
14
|
+
branch: "main",
|
|
15
|
+
subdirectory: "template",
|
|
16
|
+
postCloneCommands: [],
|
|
17
|
+
},
|
|
18
|
+
buildContext: {
|
|
19
|
+
dockerfile: "Dockerfile",
|
|
20
|
+
context: ".",
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
ports: [
|
|
24
|
+
{
|
|
25
|
+
host: 3100,
|
|
26
|
+
container: 3000,
|
|
27
|
+
description: "Open SaaS web application",
|
|
28
|
+
exposed: true,
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
volumes: [],
|
|
32
|
+
environment: [
|
|
33
|
+
{
|
|
34
|
+
key: "DATABASE_URL",
|
|
35
|
+
defaultValue: "postgresql://opensaas:${OPENSAAS_DB_PASSWORD}@postgresql:5432/opensaas",
|
|
36
|
+
secret: false,
|
|
37
|
+
description: "PostgreSQL connection string",
|
|
38
|
+
required: true,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
key: "OPENSAAS_DB_PASSWORD",
|
|
42
|
+
defaultValue: "",
|
|
43
|
+
secret: true,
|
|
44
|
+
description: "Database password for Open SaaS",
|
|
45
|
+
required: true,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
key: "JWT_SECRET",
|
|
49
|
+
defaultValue: "",
|
|
50
|
+
secret: true,
|
|
51
|
+
description: "JWT signing secret",
|
|
52
|
+
required: true,
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
healthcheck: {
|
|
56
|
+
test: "wget -q --spider http://localhost:3000/ || exit 1",
|
|
57
|
+
interval: "30s",
|
|
58
|
+
timeout: "10s",
|
|
59
|
+
retries: 3,
|
|
60
|
+
startPeriod: "60s",
|
|
61
|
+
},
|
|
62
|
+
dependsOn: ["postgresql"],
|
|
63
|
+
restartPolicy: "unless-stopped",
|
|
64
|
+
networks: ["openclaw-network"],
|
|
65
|
+
|
|
66
|
+
skills: [],
|
|
67
|
+
openclawEnvVars: [],
|
|
68
|
+
|
|
69
|
+
docsUrl: "https://opensaas.sh/docs",
|
|
70
|
+
tags: ["saas", "boilerplate", "react", "nodejs", "wasp", "stripe", "auth"],
|
|
71
|
+
maturity: "beta",
|
|
72
|
+
|
|
73
|
+
requires: ["postgresql"],
|
|
74
|
+
recommends: ["redis"],
|
|
75
|
+
conflictsWith: [],
|
|
76
|
+
|
|
77
|
+
minMemoryMB: 512,
|
|
78
|
+
gpuRequired: false,
|
|
79
|
+
};
|