@better-openclaw/core 1.0.24 → 1.0.26
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 +725 -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 +723 -0
- package/dist/addon-stack.mjs.map +1 -0
- package/dist/addon-stack.test.cjs +461 -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 +461 -0
- package/dist/addon-stack.test.mjs.map +1 -0
- package/dist/bare-metal-partition.test.cjs +20 -20
- package/dist/bare-metal-partition.test.cjs.map +1 -1
- package/dist/bare-metal-partition.test.mjs +2 -2
- package/dist/compose-validation.test.cjs +1 -1
- package/dist/composer.cjs +5 -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 +1 -1
- package/dist/composer.mjs.map +1 -1
- package/dist/composer.snapshot.test.cjs +20 -20
- package/dist/composer.snapshot.test.cjs.map +1 -1
- package/dist/composer.snapshot.test.mjs +2 -2
- package/dist/composer.test.cjs +54 -54
- package/dist/composer.test.cjs.map +1 -1
- package/dist/composer.test.mjs +2 -2
- package/dist/deployers/strip-host-ports.cjs +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 +3 -3
- package/dist/generate.mjs +3 -3
- package/dist/generate.test.cjs +56 -56
- package/dist/generate.test.cjs.map +1 -1
- package/dist/generate.test.mjs +1 -1
- package/dist/generators/bare-metal-install.test.cjs +18 -18
- package/dist/generators/bare-metal-install.test.cjs.map +1 -1
- package/dist/generators/bare-metal-install.test.mjs +1 -1
- package/dist/generators/caddy.test.cjs +13 -13
- package/dist/generators/caddy.test.cjs.map +1 -1
- package/dist/generators/caddy.test.mjs +1 -1
- package/dist/generators/clone-repos.test.cjs +27 -27
- package/dist/generators/clone-repos.test.cjs.map +1 -1
- package/dist/generators/clone-repos.test.mjs +1 -1
- package/dist/generators/env.cjs +1 -1
- package/dist/generators/env.test.cjs +17 -17
- package/dist/generators/env.test.cjs.map +1 -1
- package/dist/generators/env.test.mjs +1 -1
- package/dist/generators/health-check.test.cjs +39 -39
- package/dist/generators/health-check.test.cjs.map +1 -1
- package/dist/generators/health-check.test.mjs +1 -1
- package/dist/generators/postgres-init.cjs +5 -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 +5 -0
- package/dist/generators/postgres-init.mjs.map +1 -1
- package/dist/generators/scripts.test.cjs +39 -39
- package/dist/generators/scripts.test.cjs.map +1 -1
- package/dist/generators/scripts.test.mjs +1 -1
- package/dist/generators/skills.cjs +1 -1
- package/dist/generators/skills.d.cts.map +1 -1
- package/dist/generators/skills.d.mts.map +1 -1
- package/dist/generators/skills.mjs +141 -0
- package/dist/generators/skills.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 +21 -5
- package/dist/index.d.cts +5 -4
- package/dist/index.d.mts +5 -4
- package/dist/index.mjs +7 -6
- package/dist/migrations.test.cjs +16 -16
- package/dist/migrations.test.cjs.map +1 -1
- package/dist/migrations.test.mjs +1 -1
- package/dist/presets/presets.test.cjs +1 -1
- package/dist/presets/registry.test.cjs +14 -14
- package/dist/presets/registry.test.cjs.map +1 -1
- package/dist/presets/registry.test.mjs +1 -1
- package/dist/resolver.test.cjs +95 -95
- package/dist/resolver.test.cjs.map +1 -1
- package/dist/resolver.test.mjs +1 -1
- package/dist/{schema-eX44HhRp.d.mts → schema-BQnZrcw8.d.cts} +300 -2
- package/dist/schema-BQnZrcw8.d.cts.map +1 -0
- package/dist/{schema-tn5RK8CM.d.cts → schema-SBpL0bdI.d.mts} +300 -2
- package/dist/schema-SBpL0bdI.d.mts.map +1 -0
- package/dist/schema.cjs +148 -2
- 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 +139 -2
- package/dist/schema.mjs.map +1 -1
- package/dist/schema.test.cjs +86 -86
- package/dist/schema.test.cjs.map +1 -1
- package/dist/schema.test.mjs +1 -1
- package/dist/services/definitions/browserless.cjs +4 -1
- package/dist/services/definitions/browserless.cjs.map +1 -1
- package/dist/services/definitions/browserless.mjs +4 -1
- package/dist/services/definitions/browserless.mjs.map +1 -1
- package/dist/services/definitions/burnlink.cjs +142 -0
- package/dist/services/definitions/burnlink.cjs.map +1 -0
- package/dist/services/definitions/burnlink.d.cts +7 -0
- package/dist/services/definitions/burnlink.d.cts.map +1 -0
- package/dist/services/definitions/burnlink.d.mts +7 -0
- package/dist/services/definitions/burnlink.d.mts.map +1 -0
- package/dist/services/definitions/burnlink.mjs +141 -0
- package/dist/services/definitions/burnlink.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/hindsight.cjs +130 -0
- package/dist/services/definitions/hindsight.cjs.map +1 -0
- package/dist/services/definitions/hindsight.d.cts +7 -0
- package/dist/services/definitions/hindsight.d.cts.map +1 -0
- package/dist/services/definitions/hindsight.d.mts +7 -0
- package/dist/services/definitions/hindsight.d.mts.map +1 -0
- package/dist/services/definitions/hindsight.mjs +129 -0
- package/dist/services/definitions/hindsight.mjs.map +1 -0
- package/dist/services/definitions/index.cjs +9 -0
- package/dist/services/definitions/index.cjs.map +1 -1
- package/dist/services/definitions/index.d.cts +4 -1
- package/dist/services/definitions/index.d.cts.map +1 -1
- package/dist/services/definitions/index.d.mts +4 -1
- package/dist/services/definitions/index.d.mts.map +1 -1
- package/dist/services/definitions/index.mjs +7 -1
- package/dist/services/definitions/index.mjs.map +1 -1
- package/dist/services/definitions/meilisearch.cjs +11 -1
- package/dist/services/definitions/meilisearch.cjs.map +1 -1
- package/dist/services/definitions/meilisearch.mjs +11 -1
- package/dist/services/definitions/meilisearch.mjs.map +1 -1
- package/dist/services/definitions/minio.cjs +3 -1
- package/dist/services/definitions/minio.cjs.map +1 -1
- package/dist/services/definitions/minio.mjs +3 -1
- package/dist/services/definitions/minio.mjs.map +1 -1
- package/dist/services/definitions/n8n.cjs +11 -1
- package/dist/services/definitions/n8n.cjs.map +1 -1
- package/dist/services/definitions/n8n.mjs +11 -1
- package/dist/services/definitions/n8n.mjs.map +1 -1
- package/dist/services/definitions/ollama.cjs +3 -1
- package/dist/services/definitions/ollama.cjs.map +1 -1
- package/dist/services/definitions/ollama.mjs +3 -1
- package/dist/services/definitions/ollama.mjs.map +1 -1
- package/dist/services/definitions/opensandbox.cjs +149 -0
- package/dist/services/definitions/opensandbox.cjs.map +1 -0
- package/dist/services/definitions/opensandbox.d.cts +7 -0
- package/dist/services/definitions/opensandbox.d.cts.map +1 -0
- package/dist/services/definitions/opensandbox.d.mts +7 -0
- package/dist/services/definitions/opensandbox.d.mts.map +1 -0
- package/dist/services/definitions/opensandbox.mjs +148 -0
- package/dist/services/definitions/opensandbox.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.test.cjs +36 -36
- package/dist/services/registry.test.cjs.map +1 -1
- package/dist/services/registry.test.mjs +1 -1
- package/dist/{skills-BlzpHmpH.cjs → skills-BSF7iNa4.cjs} +142 -1
- package/dist/{skills-BlzpHmpH.cjs.map → skills-BSF7iNa4.cjs.map} +1 -1
- package/dist/{vi.2VT5v0um-C_jmO7m2.mjs → test.CTcmp4Su-ClCHJ3FA.mjs} +6793 -6403
- package/dist/test.CTcmp4Su-ClCHJ3FA.mjs.map +1 -0
- package/dist/{vi.2VT5v0um-iVBt6Fyq.cjs → test.CTcmp4Su-DlzTarwH.cjs} +6793 -6403
- package/dist/test.CTcmp4Su-DlzTarwH.cjs.map +1 -0
- package/dist/track-analytics.test.cjs +28 -28
- package/dist/track-analytics.test.cjs.map +1 -1
- package/dist/track-analytics.test.mjs +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +10 -2
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +10 -2
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/validator.cjs +1 -1
- package/dist/validator.test.cjs +15 -15
- package/dist/validator.test.cjs.map +1 -1
- package/dist/validator.test.mjs +2 -2
- package/dist/version-manager.test.cjs +37 -37
- package/dist/version-manager.test.cjs.map +1 -1
- package/dist/version-manager.test.mjs +1 -1
- package/package.json +4 -4
- package/src/__snapshots__/composer.snapshot.test.ts.snap +5 -0
- package/src/addon-stack.test.ts +648 -0
- package/src/addon-stack.ts +1046 -0
- package/src/composer.ts +4 -4
- package/src/generators/postgres-init.ts +2 -0
- package/src/generators/skills.ts +142 -0
- package/src/index.ts +20 -2
- package/src/schema.ts +190 -0
- package/src/services/definitions/browserless.ts +3 -0
- package/src/services/definitions/burnlink.ts +142 -0
- package/src/services/definitions/convex.ts +31 -0
- package/src/services/definitions/grafana.ts +9 -0
- package/src/services/definitions/hindsight.ts +131 -0
- package/src/services/definitions/index.ts +10 -0
- package/src/services/definitions/meilisearch.ts +9 -0
- package/src/services/definitions/minio.ts +2 -0
- package/src/services/definitions/n8n.ts +9 -0
- package/src/services/definitions/ollama.ts +2 -0
- package/src/services/definitions/opensandbox.ts +156 -0
- package/src/services/definitions/qdrant.ts +2 -0
- package/src/services/definitions/searxng.ts +3 -0
- package/src/services/definitions/uptime-kuma.ts +3 -0
- package/src/types.ts +18 -0
- package/dist/schema-eX44HhRp.d.mts.map +0 -1
- package/dist/schema-tn5RK8CM.d.cts.map +0 -1
- package/dist/vi.2VT5v0um-C_jmO7m2.mjs.map +0 -1
- package/dist/vi.2VT5v0um-iVBt6Fyq.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/services/definitions/index.ts"],"sourcesContent":["export { adguardHomeDefinition } from \"./adguard-home.js\";\nexport { airbyteDefinition } from \"./airbyte.js\";\nexport { airflowDefinition } from \"./airflow.js\";\nexport { anythingLlmDefinition } from \"./anything-llm.js\";\nexport { appflowyDefinition } from \"./appflowy.js\";\nexport { appwriteDefinition } from \"./appwrite.js\";\nexport { audiobookshelfDefinition } from \"./audiobookshelf.js\";\nexport { autheliaDefinition } from \"./authelia.js\";\nexport { authentikDefinition } from \"./authentik.js\";\nexport { axolotlDefinition } from \"./axolotl.js\";\nexport { baserowDefinition } from \"./baserow.js\";\nexport { beszelDefinition } from \"./beszel.js\";\nexport { browserlessDefinition } from \"./browserless.js\";\nexport { caddyDefinition } from \"./caddy.js\";\nexport { calComDefinition } from \"./cal-com.js\";\nexport { calibreWebDefinition } from \"./calibre-web.js\";\nexport { chatwootDefinition } from \"./chatwoot.js\";\nexport { chatwootWorkerDefinition } from \"./chatwoot-worker.js\";\nexport { chromadbDefinition } from \"./chromadb.js\";\nexport { claudeCodeDefinition } from \"./claude-code.js\";\nexport { clickhouseDefinition } from \"./clickhouse.js\";\nexport { cloudflaredDefinition } from \"./cloudflared.js\";\nexport { cockroachdbDefinition } from \"./cockroachdb.js\";\nexport { codeServerDefinition } from \"./code-server.js\";\nexport { coderDefinition } from \"./coder.js\";\nexport { codexDefinition } from \"./codex.js\";\nexport { comfyuiDefinition } from \"./comfyui.js\";\nexport { convexDefinition } from \"./convex.js\";\nexport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nexport { coolifyDefinition } from \"./coolify.js\";\nexport { crowdsecDefinition } from \"./crowdsec.js\";\nexport { dagsterDefinition } from \"./dagster.js\";\nexport { desktopEnvironmentDefinition } from \"./desktop-environment.js\";\nexport { difyDefinition } from \"./dify.js\";\nexport { directusDefinition } from \"./directus.js\";\nexport { docsgptDefinition } from \"./docsgpt.js\";\nexport { dokployDefinition } from \"./dokploy.js\";\nexport { dozzleDefinition } from \"./dozzle.js\";\nexport { dragonflyDefinition } from \"./dragonfly.js\";\nexport { droneCiDefinition } from \"./drone-ci.js\";\nexport { duplicatiDefinition } from \"./duplicati.js\";\nexport { elementWebDefinition } from \"./element-web.js\";\nexport { excalidrawDefinition } from \"./excalidraw.js\";\nexport { ffmpegDefinition } from \"./ffmpeg.js\";\nexport { firecrawlDefinition } from \"./firecrawl.js\";\nexport { firecrawlPlaywrightDefinition } from \"./firecrawl-playwright.js\";\nexport { flagsmithDefinition } from \"./flagsmith.js\";\nexport { flowiseDefinition } from \"./flowise.js\";\nexport { focalboardDefinition } from \"./focalboard.js\";\nexport { fonosterDefinition } from \"./fonoster.js\";\nexport { forgejoDefinition } from \"./forgejo.js\";\nexport { formbricksDefinition } from \"./formbricks.js\";\nexport { geminiCliDefinition } from \"./gemini-cli.js\";\nexport { ghostDefinition } from \"./ghost.js\";\nexport { giteaDefinition } from \"./gitea.js\";\nexport { gotifyDefinition } from \"./gotify.js\";\nexport { grafanaDefinition } from \"./grafana.js\";\nexport { graylogDefinition } from \"./graylog.js\";\nexport { headscaleDefinition } from \"./headscale.js\";\nexport { hedgedocDefinition } from \"./hedgedoc.js\";\nexport { hexstrikeDefinition } from \"./hexstrike.js\";\nexport { heyformDefinition } from \"./heyform.js\";\nexport { homeassistantDefinition } from \"./homeassistant.js\";\nexport { hoppscotchDefinition } from \"./hoppscotch.js\";\nexport { immichDefinition } from \"./immich.js\";\nexport { infisicalDefinition } from \"./infisical.js\";\nexport { influxdbDefinition } from \"./influxdb.js\";\nexport { invokeAiDefinition } from \"./invoke-ai.js\";\nexport { jaegerDefinition } from \"./jaeger.js\";\nexport { janDefinition } from \"./jan.js\";\nexport { jellyfinDefinition } from \"./jellyfin.js\";\nexport { jenkinsDefinition } from \"./jenkins.js\";\nexport { jitsiMeetDefinition } from \"./jitsi-meet.js\";\nexport { keycloakDefinition } from \"./keycloak.js\";\nexport { kimiDefinition } from \"./kimi.js\";\nexport { kongDefinition } from \"./kong.js\";\nexport { lagoDefinition } from \"./lago.js\";\nexport { langflowDefinition } from \"./langflow.js\";\nexport { langfuseDefinition } from \"./langfuse.js\";\nexport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nexport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nexport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nexport { librechatDefinition } from \"./librechat.js\";\nexport { lightpandaDefinition } from \"./lightpanda.js\";\nexport { listmonkDefinition } from \"./listmonk.js\";\nexport { litellmDefinition } from \"./litellm.js\";\nexport { livekitDefinition } from \"./livekit.js\";\nexport { localAiDefinition } from \"./local-ai.js\";\nexport { lokiDefinition } from \"./loki.js\";\nexport { mariadbDefinition } from \"./mariadb.js\";\nexport { matomoDefinition } from \"./matomo.js\";\nexport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nexport { mattermostDefinition } from \"./mattermost.js\";\nexport { mauticDefinition } from \"./mautic.js\";\nexport { medusaDefinition } from \"./medusa.js\";\nexport { meilisearchDefinition } from \"./meilisearch.js\";\nexport { metabaseDefinition } from \"./metabase.js\";\nexport { milvusDefinition } from \"./milvus.js\";\nexport { minioDefinition } from \"./minio.js\";\nexport { missionControlDefinition } from \"./mission-control.js\";\nexport { mixpostDefinition } from \"./mixpost.js\";\nexport { mosquittoDefinition } from \"./mosquitto.js\";\nexport { motionCanvasDefinition } from \"./motion-canvas.js\";\nexport { mysqlDefinition } from \"./mysql.js\";\nexport { n8nDefinition } from \"./n8n.js\";\nexport { navidromeDefinition } from \"./navidrome.js\";\nexport { neo4jDefinition } from \"./neo4j.js\";\nexport { nextcloudDefinition } from \"./nextcloud.js\";\nexport { nginxProxyManagerDefinition } from \"./nginx-proxy-manager.js\";\nexport { nocodbDefinition } from \"./nocodb.js\";\nexport { nodeRedDefinition } from \"./node-red.js\";\nexport { ntfyDefinition } from \"./ntfy.js\";\nexport { ollamaDefinition } from \"./ollama.js\";\nexport { openWebuiDefinition } from \"./open-webui.js\";\nexport { opencodeDefinition } from \"./opencode.js\";\nexport { openhandsDefinition } from \"./openhands.js\";\nexport { openpanelDefinition } from \"./openpanel.js\";\nexport { opensearchDefinition } from \"./opensearch.js\";\nexport { outlineDefinition } from \"./outline.js\";\nexport { paperlessNgxDefinition } from \"./paperless-ngx.js\";\nexport { pentagiDefinition } from \"./pentagi.js\";\nexport { pentestagentDefinition } from \"./pentestagent.js\";\nexport { photoprismDefinition } from \"./photoprism.js\";\nexport { piholeDefinition } from \"./pihole.js\";\nexport { piperTtsDefinition } from \"./piper-tts.js\";\nexport { planeDefinition } from \"./plane.js\";\nexport { plausibleDefinition } from \"./plausible.js\";\nexport { playwrightServerDefinition } from \"./playwright-server.js\";\nexport { pocketIdDefinition } from \"./pocket-id.js\";\nexport { pocketbaseDefinition } from \"./pocketbase.js\";\nexport { portainerDefinition } from \"./portainer.js\";\nexport { postgresqlDefinition } from \"./postgresql.js\";\nexport { posthogDefinition } from \"./posthog.js\";\nexport { postizDefinition } from \"./postiz.js\";\nexport { prometheusDefinition } from \"./prometheus.js\";\nexport { qdrantDefinition } from \"./qdrant.js\";\nexport { rabbitmqDefinition } from \"./rabbitmq.js\";\nexport { ragflowDefinition } from \"./ragflow.js\";\nexport { redisDefinition } from \"./redis.js\";\nexport { remotionDefinition } from \"./remotion.js\";\nexport { resticDefinition } from \"./restic.js\";\nexport { revoltDefinition } from \"./revolt.js\";\nexport { rocketchatDefinition } from \"./rocketchat.js\";\nexport { saleorDefinition } from \"./saleor.js\";\nexport { scraplingDefinition } from \"./scrapling.js\";\nexport { searxngDefinition } from \"./searxng.js\";\nexport { sentryDefinition } from \"./sentry.js\";\nexport { signozDefinition } from \"./signoz.js\";\nexport { solidityGuardDefinition } from \"./solidityguard.js\";\nexport { sonarqubeDefinition } from \"./sonarqube.js\";\nexport { stableDiffusionDefinition } from \"./stable-diffusion.js\";\nexport { steelBrowserDefinition } from \"./steel-browser.js\";\nexport { stirlingPdfDefinition } from \"./stirling-pdf.js\";\nexport { strapiDefinition } from \"./strapi.js\";\nexport { streamGatewayDefinition } from \"./stream-gateway.js\";\nexport { supabaseDefinition } from \"./supabase.js\";\nexport { supersetDefinition } from \"./superset.js\";\nexport { surrealdbDefinition } from \"./surrealdb.js\";\nexport { tabbyMlDefinition } from \"./tabby-ml.js\";\nexport { tailscaleDefinition } from \"./tailscale.js\";\nexport { tempoDefinition } from \"./tempo.js\";\nexport { temporalDefinition } from \"./temporal.js\";\nexport { textGenWebuiDefinition } from \"./text-gen-webui.js\";\nexport { timescaledbDefinition } from \"./timescaledb.js\";\nexport { traefikDefinition } from \"./traefik.js\";\nexport { twentyDefinition } from \"./twenty.js\";\nexport { umamiDefinition } from \"./umami.js\";\nexport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nexport { usesendDefinition } from \"./usesend.js\";\nexport { valkeyDefinition } from \"./valkey.js\";\nexport { vaultDefinition } from \"./vault.js\";\nexport { vaultwardenDefinition } from \"./vaultwarden.js\";\nexport { vectorLogDefinition } from \"./vector-log.js\";\nexport { vikunjaDefinition } from \"./vikunja.js\";\nexport { watchtowerDefinition } from \"./watchtower.js\";\nexport { weaviateDefinition } from \"./weaviate.js\";\nexport { whisperDefinition } from \"./whisper.js\";\nexport { wireguardDefinition } from \"./wireguard.js\";\nexport { woodpeckerCiDefinition } from \"./woodpecker-ci.js\";\nexport { xyopsDefinition } from \"./xyops.js\";\nexport { zulipDefinition } from \"./zulip.js\";\n\n// ── SaaS Boilerplates ──────────────────────────────────────────────────────\nexport { openSaasDefinition } from \"./open-saas.js\";\nexport { apptensionSaasDefinition } from \"./apptension-saas.js\";\nexport { boxyhqSaasDefinition } from \"./boxyhq-saas.js\";\nexport { ixartzSaasDefinition } from \"./ixartz-saas.js\";\nexport { cmsaasStarterDefinition } from \"./cmsaas-starter.js\";\n\nimport type { ServiceDefinition } from \"../../types.js\";\nimport { adguardHomeDefinition } from \"./adguard-home.js\";\nimport { airbyteDefinition } from \"./airbyte.js\";\nimport { airflowDefinition } from \"./airflow.js\";\nimport { anythingLlmDefinition } from \"./anything-llm.js\";\nimport { appflowyDefinition } from \"./appflowy.js\";\nimport { appwriteDefinition } from \"./appwrite.js\";\nimport { audiobookshelfDefinition } from \"./audiobookshelf.js\";\nimport { autheliaDefinition } from \"./authelia.js\";\nimport { authentikDefinition } from \"./authentik.js\";\nimport { axolotlDefinition } from \"./axolotl.js\";\nimport { baserowDefinition } from \"./baserow.js\";\nimport { beszelDefinition } from \"./beszel.js\";\nimport { browserlessDefinition } from \"./browserless.js\";\nimport { caddyDefinition } from \"./caddy.js\";\nimport { calComDefinition } from \"./cal-com.js\";\nimport { calibreWebDefinition } from \"./calibre-web.js\";\nimport { chatwootDefinition } from \"./chatwoot.js\";\nimport { chatwootWorkerDefinition } from \"./chatwoot-worker.js\";\nimport { chromadbDefinition } from \"./chromadb.js\";\nimport { claudeCodeDefinition } from \"./claude-code.js\";\nimport { clickhouseDefinition } from \"./clickhouse.js\";\nimport { cloudflaredDefinition } from \"./cloudflared.js\";\nimport { cockroachdbDefinition } from \"./cockroachdb.js\";\nimport { codeServerDefinition } from \"./code-server.js\";\nimport { coderDefinition } from \"./coder.js\";\nimport { codexDefinition } from \"./codex.js\";\nimport { comfyuiDefinition } from \"./comfyui.js\";\nimport { convexDefinition } from \"./convex.js\";\nimport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nimport { coolifyDefinition } from \"./coolify.js\";\nimport { crowdsecDefinition } from \"./crowdsec.js\";\nimport { dagsterDefinition } from \"./dagster.js\";\nimport { desktopEnvironmentDefinition } from \"./desktop-environment.js\";\nimport { difyDefinition } from \"./dify.js\";\nimport { directusDefinition } from \"./directus.js\";\nimport { docsgptDefinition } from \"./docsgpt.js\";\nimport { dokployDefinition } from \"./dokploy.js\";\nimport { dozzleDefinition } from \"./dozzle.js\";\nimport { dragonflyDefinition } from \"./dragonfly.js\";\nimport { droneCiDefinition } from \"./drone-ci.js\";\nimport { duplicatiDefinition } from \"./duplicati.js\";\nimport { elementWebDefinition } from \"./element-web.js\";\nimport { excalidrawDefinition } from \"./excalidraw.js\";\nimport { ffmpegDefinition } from \"./ffmpeg.js\";\nimport { firecrawlDefinition } from \"./firecrawl.js\";\nimport { firecrawlPlaywrightDefinition } from \"./firecrawl-playwright.js\";\nimport { flagsmithDefinition } from \"./flagsmith.js\";\nimport { flowiseDefinition } from \"./flowise.js\";\nimport { focalboardDefinition } from \"./focalboard.js\";\nimport { fonosterDefinition } from \"./fonoster.js\";\nimport { forgejoDefinition } from \"./forgejo.js\";\nimport { formbricksDefinition } from \"./formbricks.js\";\nimport { geminiCliDefinition } from \"./gemini-cli.js\";\nimport { ghostDefinition } from \"./ghost.js\";\nimport { giteaDefinition } from \"./gitea.js\";\nimport { gotifyDefinition } from \"./gotify.js\";\nimport { grafanaDefinition } from \"./grafana.js\";\nimport { graylogDefinition } from \"./graylog.js\";\nimport { headscaleDefinition } from \"./headscale.js\";\nimport { hedgedocDefinition } from \"./hedgedoc.js\";\nimport { hexstrikeDefinition } from \"./hexstrike.js\";\nimport { heyformDefinition } from \"./heyform.js\";\nimport { homeassistantDefinition } from \"./homeassistant.js\";\nimport { hoppscotchDefinition } from \"./hoppscotch.js\";\nimport { immichDefinition } from \"./immich.js\";\nimport { infisicalDefinition } from \"./infisical.js\";\nimport { influxdbDefinition } from \"./influxdb.js\";\nimport { invokeAiDefinition } from \"./invoke-ai.js\";\nimport { jaegerDefinition } from \"./jaeger.js\";\nimport { janDefinition } from \"./jan.js\";\nimport { jellyfinDefinition } from \"./jellyfin.js\";\nimport { jenkinsDefinition } from \"./jenkins.js\";\nimport { jitsiMeetDefinition } from \"./jitsi-meet.js\";\nimport { keycloakDefinition } from \"./keycloak.js\";\nimport { kimiDefinition } from \"./kimi.js\";\nimport { kongDefinition } from \"./kong.js\";\nimport { lagoDefinition } from \"./lago.js\";\nimport { langflowDefinition } from \"./langflow.js\";\nimport { langfuseDefinition } from \"./langfuse.js\";\nimport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nimport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nimport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nimport { librechatDefinition } from \"./librechat.js\";\nimport { lightpandaDefinition } from \"./lightpanda.js\";\nimport { listmonkDefinition } from \"./listmonk.js\";\nimport { litellmDefinition } from \"./litellm.js\";\nimport { livekitDefinition } from \"./livekit.js\";\nimport { localAiDefinition } from \"./local-ai.js\";\nimport { lokiDefinition } from \"./loki.js\";\nimport { mariadbDefinition } from \"./mariadb.js\";\nimport { matomoDefinition } from \"./matomo.js\";\nimport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nimport { mattermostDefinition } from \"./mattermost.js\";\nimport { mauticDefinition } from \"./mautic.js\";\nimport { medusaDefinition } from \"./medusa.js\";\nimport { meilisearchDefinition } from \"./meilisearch.js\";\nimport { metabaseDefinition } from \"./metabase.js\";\nimport { milvusDefinition } from \"./milvus.js\";\nimport { minioDefinition } from \"./minio.js\";\nimport { missionControlDefinition } from \"./mission-control.js\";\nimport { mixpostDefinition } from \"./mixpost.js\";\nimport { mosquittoDefinition } from \"./mosquitto.js\";\nimport { motionCanvasDefinition } from \"./motion-canvas.js\";\nimport { mysqlDefinition } from \"./mysql.js\";\nimport { n8nDefinition } from \"./n8n.js\";\nimport { navidromeDefinition } from \"./navidrome.js\";\nimport { neo4jDefinition } from \"./neo4j.js\";\nimport { nextcloudDefinition } from \"./nextcloud.js\";\nimport { nginxProxyManagerDefinition } from \"./nginx-proxy-manager.js\";\nimport { nocodbDefinition } from \"./nocodb.js\";\nimport { nodeRedDefinition } from \"./node-red.js\";\nimport { ntfyDefinition } from \"./ntfy.js\";\nimport { ollamaDefinition } from \"./ollama.js\";\nimport { openWebuiDefinition } from \"./open-webui.js\";\nimport { opencodeDefinition } from \"./opencode.js\";\nimport { openhandsDefinition } from \"./openhands.js\";\nimport { openpanelDefinition } from \"./openpanel.js\";\nimport { opensearchDefinition } from \"./opensearch.js\";\nimport { outlineDefinition } from \"./outline.js\";\nimport { paperlessNgxDefinition } from \"./paperless-ngx.js\";\nimport { pentagiDefinition } from \"./pentagi.js\";\nimport { pentestagentDefinition } from \"./pentestagent.js\";\nimport { photoprismDefinition } from \"./photoprism.js\";\nimport { piholeDefinition } from \"./pihole.js\";\nimport { piperTtsDefinition } from \"./piper-tts.js\";\nimport { planeDefinition } from \"./plane.js\";\nimport { plausibleDefinition } from \"./plausible.js\";\nimport { playwrightServerDefinition } from \"./playwright-server.js\";\nimport { pocketIdDefinition } from \"./pocket-id.js\";\nimport { pocketbaseDefinition } from \"./pocketbase.js\";\nimport { portainerDefinition } from \"./portainer.js\";\nimport { postgresqlDefinition } from \"./postgresql.js\";\nimport { posthogDefinition } from \"./posthog.js\";\nimport { postizDefinition } from \"./postiz.js\";\nimport { prometheusDefinition } from \"./prometheus.js\";\nimport { qdrantDefinition } from \"./qdrant.js\";\nimport { rabbitmqDefinition } from \"./rabbitmq.js\";\nimport { ragflowDefinition } from \"./ragflow.js\";\nimport { redisDefinition } from \"./redis.js\";\nimport { remotionDefinition } from \"./remotion.js\";\nimport { resticDefinition } from \"./restic.js\";\nimport { revoltDefinition } from \"./revolt.js\";\nimport { rocketchatDefinition } from \"./rocketchat.js\";\nimport { saleorDefinition } from \"./saleor.js\";\nimport { scraplingDefinition } from \"./scrapling.js\";\nimport { searxngDefinition } from \"./searxng.js\";\nimport { sentryDefinition } from \"./sentry.js\";\nimport { signozDefinition } from \"./signoz.js\";\nimport { solidityGuardDefinition } from \"./solidityguard.js\";\nimport { sonarqubeDefinition } from \"./sonarqube.js\";\nimport { stableDiffusionDefinition } from \"./stable-diffusion.js\";\nimport { steelBrowserDefinition } from \"./steel-browser.js\";\nimport { stirlingPdfDefinition } from \"./stirling-pdf.js\";\nimport { strapiDefinition } from \"./strapi.js\";\nimport { streamGatewayDefinition } from \"./stream-gateway.js\";\nimport { supabaseDefinition } from \"./supabase.js\";\nimport { supersetDefinition } from \"./superset.js\";\nimport { surrealdbDefinition } from \"./surrealdb.js\";\nimport { tabbyMlDefinition } from \"./tabby-ml.js\";\nimport { tailscaleDefinition } from \"./tailscale.js\";\nimport { tempoDefinition } from \"./tempo.js\";\nimport { temporalDefinition } from \"./temporal.js\";\nimport { textGenWebuiDefinition } from \"./text-gen-webui.js\";\nimport { timescaledbDefinition } from \"./timescaledb.js\";\nimport { traefikDefinition } from \"./traefik.js\";\nimport { twentyDefinition } from \"./twenty.js\";\nimport { umamiDefinition } from \"./umami.js\";\nimport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nimport { usesendDefinition } from \"./usesend.js\";\nimport { valkeyDefinition } from \"./valkey.js\";\nimport { vaultDefinition } from \"./vault.js\";\nimport { vaultwardenDefinition } from \"./vaultwarden.js\";\nimport { vectorLogDefinition } from \"./vector-log.js\";\nimport { vikunjaDefinition } from \"./vikunja.js\";\nimport { watchtowerDefinition } from \"./watchtower.js\";\nimport { weaviateDefinition } from \"./weaviate.js\";\nimport { whisperDefinition } from \"./whisper.js\";\nimport { wireguardDefinition } from \"./wireguard.js\";\nimport { woodpeckerCiDefinition } from \"./woodpecker-ci.js\";\nimport { xyopsDefinition } from \"./xyops.js\";\nimport { zulipDefinition } from \"./zulip.js\";\n\n// ── SaaS Boilerplates ──────────────────────────────────────────────────────\nimport { openSaasDefinition } from \"./open-saas.js\";\nimport { apptensionSaasDefinition } from \"./apptension-saas.js\";\nimport { boxyhqSaasDefinition } from \"./boxyhq-saas.js\";\nimport { ixartzSaasDefinition } from \"./ixartz-saas.js\";\nimport { cmsaasStarterDefinition } from \"./cmsaas-starter.js\";\n\nexport const allServiceDefinitions: ServiceDefinition[] = [\n\tredisDefinition,\n\tqdrantDefinition,\n\tn8nDefinition,\n\tffmpegDefinition,\n\tminioDefinition,\n\tpostgresqlDefinition,\n\tcaddyDefinition,\n\ttraefikDefinition,\n\tuptimeKumaDefinition,\n\tgrafanaDefinition,\n\tprometheusDefinition,\n\tbrowserlessDefinition,\n\tfirecrawlDefinition,\n\tfirecrawlPlaywrightDefinition,\n\tsearxngDefinition,\n\tmeilisearchDefinition,\n\topensearchDefinition,\n\tollamaDefinition,\n\twhisperDefinition,\n\tchromadbDefinition,\n\tweaviateDefinition,\n\tvalkeyDefinition,\n\tgotifyDefinition,\n\tntfyDefinition,\n\trabbitmqDefinition,\n\tremotionDefinition,\n\tmotionCanvasDefinition,\n\ttemporalDefinition,\n\toutlineDefinition,\n\tdocsgptDefinition,\n\tpaperlessNgxDefinition,\n\tnocodbDefinition,\n\tappflowyDefinition,\n\tdirectusDefinition,\n\tstirlingPdfDefinition,\n\tstrapiDefinition,\n\tmatrixSynapseDefinition,\n\trocketchatDefinition,\n\tmattermostDefinition,\n\tchatwootDefinition,\n\tchatwootWorkerDefinition,\n\tstableDiffusionDefinition,\n\tcomfyuiDefinition,\n\tplaywrightServerDefinition,\n\topenWebuiDefinition,\n\tlangflowDefinition,\n\tragflowDefinition,\n\thomeassistantDefinition,\n\tnextcloudDefinition,\n\timmichDefinition,\n\tjellyfinDefinition,\n\tvaultwardenDefinition,\n\tmilvusDefinition,\n\tjenkinsDefinition,\n\tappwriteDefinition,\n\tauthentikDefinition,\n\tautheliaDefinition,\n\tcrowdsecDefinition,\n\tghostDefinition,\n\tlokiDefinition,\n\tsignozDefinition,\n\tsupabaseDefinition,\n\tpocketbaseDefinition,\n\tpocketIdDefinition,\n\tlibrechatDefinition,\n\tanythingLlmDefinition,\n\tdifyDefinition,\n\tflowiseDefinition,\n\tlitellmDefinition,\n\tflagsmithDefinition,\n\tgiteaDefinition,\n\tcodeServerDefinition,\n\tportainerDefinition,\n\twatchtowerDefinition,\n\tdozzleDefinition,\n\tbeszelDefinition,\n\tconvexDefinition,\n\tconvexDashboardDefinition,\n\tclaudeCodeDefinition,\n\topencodeDefinition,\n\tcodexDefinition,\n\tgeminiCliDefinition,\n\tkimiDefinition,\n\tpostizDefinition,\n\tmixpostDefinition,\n\tmatomoDefinition,\n\tumamiDefinition,\n\tusesendDefinition,\n\tlistmonkDefinition,\n\tmissionControlDefinition,\n\topenpanelDefinition,\n\tlightpandaDefinition,\n\tsteelBrowserDefinition,\n\tcoolifyDefinition,\n\tdokployDefinition,\n\ttailscaleDefinition,\n\tlivekitDefinition,\n\tinfisicalDefinition,\n\tkeycloakDefinition,\n\tlasuiteMeetBackendDefinition,\n\tlasuiteMeetFrontendDefinition,\n\tlasuiteMeetAgentsDefinition,\n\tdesktopEnvironmentDefinition,\n\tstreamGatewayDefinition,\n\tneo4jDefinition,\n\tcalComDefinition,\n\txyopsDefinition,\n\tscraplingDefinition,\n\thexstrikeDefinition,\n\tsolidityGuardDefinition,\n\tpentagiDefinition,\n\tpentestagentDefinition,\n\theadscaleDefinition,\n\tmysqlDefinition,\n\tmariadbDefinition,\n\t// ── New Services ──────────────────────────────────────────────────────────\n\tlangfuseDefinition,\n\topenhandsDefinition,\n\tairflowDefinition,\n\tairbyteDefinition,\n\tdagsterDefinition,\n\tlagoDefinition,\n\ttwentyDefinition,\n\tmauticDefinition,\n\tformbricksDefinition,\n\theyformDefinition,\n\tkongDefinition,\n\thoppscotchDefinition,\n\tvaultDefinition,\n\tresticDefinition,\n\tduplicatiDefinition,\n\tfonosterDefinition,\n\tmedusaDefinition,\n\tsaleorDefinition,\n\taxolotlDefinition,\n\thedgedocDefinition,\n\texcalidrawDefinition,\n\tjitsiMeetDefinition,\n\tzulipDefinition,\n\telementWebDefinition,\n\trevoltDefinition,\n\tdragonflyDefinition,\n\tsurrealdbDefinition,\n\tinfluxdbDefinition,\n\ttimescaledbDefinition,\n\tcockroachdbDefinition,\n\tsentryDefinition,\n\tjaegerDefinition,\n\ttempoDefinition,\n\tgraylogDefinition,\n\tvectorLogDefinition,\n\t// ── Batch 2: New Service Definitions ──────────────────────────────────\n\tadguardHomeDefinition,\n\taudiobookshelfDefinition,\n\tbaserowDefinition,\n\tcalibreWebDefinition,\n\tclickhouseDefinition,\n\tcloudflaredDefinition,\n\tcoderDefinition,\n\tdroneCiDefinition,\n\tfocalboardDefinition,\n\tforgejoDefinition,\n\tinvokeAiDefinition,\n\tjanDefinition,\n\tlocalAiDefinition,\n\tmetabaseDefinition,\n\tmosquittoDefinition,\n\tnavidromeDefinition,\n\tnginxProxyManagerDefinition,\n\tnodeRedDefinition,\n\tphotoprismDefinition,\n\tpiholeDefinition,\n\tpiperTtsDefinition,\n\tplaneDefinition,\n\tplausibleDefinition,\n\tposthogDefinition,\n\tsonarqubeDefinition,\n\tsupersetDefinition,\n\ttabbyMlDefinition,\n\ttextGenWebuiDefinition,\n\tvikunjaDefinition,\n\twireguardDefinition,\n\twoodpeckerCiDefinition,\n\t// ── SaaS Boilerplates ────────────────────────────────────────────────────\n\topenSaasDefinition,\n\tapptensionSaasDefinition,\n\tboxyhqSaasDefinition,\n\tixartzSaasDefinition,\n\tcmsaasStarterDefinition,\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2XA,MAAa,wBAA6C;CACzD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/services/definitions/index.ts"],"sourcesContent":["export { adguardHomeDefinition } from \"./adguard-home.js\";\nexport { airbyteDefinition } from \"./airbyte.js\";\nexport { airflowDefinition } from \"./airflow.js\";\nexport { anythingLlmDefinition } from \"./anything-llm.js\";\nexport { appflowyDefinition } from \"./appflowy.js\";\nexport { appwriteDefinition } from \"./appwrite.js\";\nexport { audiobookshelfDefinition } from \"./audiobookshelf.js\";\nexport { autheliaDefinition } from \"./authelia.js\";\nexport { authentikDefinition } from \"./authentik.js\";\nexport { axolotlDefinition } from \"./axolotl.js\";\nexport { baserowDefinition } from \"./baserow.js\";\nexport { beszelDefinition } from \"./beszel.js\";\nexport { browserlessDefinition } from \"./browserless.js\";\nexport { burnlinkDefinition } from \"./burnlink.js\";\nexport { caddyDefinition } from \"./caddy.js\";\nexport { calComDefinition } from \"./cal-com.js\";\nexport { calibreWebDefinition } from \"./calibre-web.js\";\nexport { chatwootDefinition } from \"./chatwoot.js\";\nexport { chatwootWorkerDefinition } from \"./chatwoot-worker.js\";\nexport { chromadbDefinition } from \"./chromadb.js\";\nexport { claudeCodeDefinition } from \"./claude-code.js\";\nexport { clickhouseDefinition } from \"./clickhouse.js\";\nexport { cloudflaredDefinition } from \"./cloudflared.js\";\nexport { cockroachdbDefinition } from \"./cockroachdb.js\";\nexport { codeServerDefinition } from \"./code-server.js\";\nexport { coderDefinition } from \"./coder.js\";\nexport { codexDefinition } from \"./codex.js\";\nexport { comfyuiDefinition } from \"./comfyui.js\";\nexport { convexDefinition } from \"./convex.js\";\nexport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nexport { coolifyDefinition } from \"./coolify.js\";\nexport { crowdsecDefinition } from \"./crowdsec.js\";\nexport { dagsterDefinition } from \"./dagster.js\";\nexport { desktopEnvironmentDefinition } from \"./desktop-environment.js\";\nexport { difyDefinition } from \"./dify.js\";\nexport { directusDefinition } from \"./directus.js\";\nexport { docsgptDefinition } from \"./docsgpt.js\";\nexport { dokployDefinition } from \"./dokploy.js\";\nexport { dozzleDefinition } from \"./dozzle.js\";\nexport { dragonflyDefinition } from \"./dragonfly.js\";\nexport { droneCiDefinition } from \"./drone-ci.js\";\nexport { duplicatiDefinition } from \"./duplicati.js\";\nexport { elementWebDefinition } from \"./element-web.js\";\nexport { excalidrawDefinition } from \"./excalidraw.js\";\nexport { ffmpegDefinition } from \"./ffmpeg.js\";\nexport { firecrawlDefinition } from \"./firecrawl.js\";\nexport { firecrawlPlaywrightDefinition } from \"./firecrawl-playwright.js\";\nexport { flagsmithDefinition } from \"./flagsmith.js\";\nexport { flowiseDefinition } from \"./flowise.js\";\nexport { focalboardDefinition } from \"./focalboard.js\";\nexport { fonosterDefinition } from \"./fonoster.js\";\nexport { forgejoDefinition } from \"./forgejo.js\";\nexport { formbricksDefinition } from \"./formbricks.js\";\nexport { geminiCliDefinition } from \"./gemini-cli.js\";\nexport { ghostDefinition } from \"./ghost.js\";\nexport { giteaDefinition } from \"./gitea.js\";\nexport { gotifyDefinition } from \"./gotify.js\";\nexport { grafanaDefinition } from \"./grafana.js\";\nexport { graylogDefinition } from \"./graylog.js\";\nexport { headscaleDefinition } from \"./headscale.js\";\nexport { hedgedocDefinition } from \"./hedgedoc.js\";\nexport { hindsightDefinition } from \"./hindsight.js\";\nexport { hexstrikeDefinition } from \"./hexstrike.js\";\nexport { heyformDefinition } from \"./heyform.js\";\nexport { homeassistantDefinition } from \"./homeassistant.js\";\nexport { hoppscotchDefinition } from \"./hoppscotch.js\";\nexport { immichDefinition } from \"./immich.js\";\nexport { infisicalDefinition } from \"./infisical.js\";\nexport { influxdbDefinition } from \"./influxdb.js\";\nexport { invokeAiDefinition } from \"./invoke-ai.js\";\nexport { jaegerDefinition } from \"./jaeger.js\";\nexport { janDefinition } from \"./jan.js\";\nexport { jellyfinDefinition } from \"./jellyfin.js\";\nexport { jenkinsDefinition } from \"./jenkins.js\";\nexport { jitsiMeetDefinition } from \"./jitsi-meet.js\";\nexport { keycloakDefinition } from \"./keycloak.js\";\nexport { kimiDefinition } from \"./kimi.js\";\nexport { kongDefinition } from \"./kong.js\";\nexport { lagoDefinition } from \"./lago.js\";\nexport { langflowDefinition } from \"./langflow.js\";\nexport { langfuseDefinition } from \"./langfuse.js\";\nexport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nexport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nexport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nexport { librechatDefinition } from \"./librechat.js\";\nexport { lightpandaDefinition } from \"./lightpanda.js\";\nexport { listmonkDefinition } from \"./listmonk.js\";\nexport { litellmDefinition } from \"./litellm.js\";\nexport { livekitDefinition } from \"./livekit.js\";\nexport { localAiDefinition } from \"./local-ai.js\";\nexport { lokiDefinition } from \"./loki.js\";\nexport { mariadbDefinition } from \"./mariadb.js\";\nexport { matomoDefinition } from \"./matomo.js\";\nexport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nexport { mattermostDefinition } from \"./mattermost.js\";\nexport { mauticDefinition } from \"./mautic.js\";\nexport { medusaDefinition } from \"./medusa.js\";\nexport { meilisearchDefinition } from \"./meilisearch.js\";\nexport { metabaseDefinition } from \"./metabase.js\";\nexport { milvusDefinition } from \"./milvus.js\";\nexport { minioDefinition } from \"./minio.js\";\nexport { missionControlDefinition } from \"./mission-control.js\";\nexport { mixpostDefinition } from \"./mixpost.js\";\nexport { mosquittoDefinition } from \"./mosquitto.js\";\nexport { motionCanvasDefinition } from \"./motion-canvas.js\";\nexport { mysqlDefinition } from \"./mysql.js\";\nexport { n8nDefinition } from \"./n8n.js\";\nexport { navidromeDefinition } from \"./navidrome.js\";\nexport { neo4jDefinition } from \"./neo4j.js\";\nexport { nextcloudDefinition } from \"./nextcloud.js\";\nexport { nginxProxyManagerDefinition } from \"./nginx-proxy-manager.js\";\nexport { nocodbDefinition } from \"./nocodb.js\";\nexport { nodeRedDefinition } from \"./node-red.js\";\nexport { ntfyDefinition } from \"./ntfy.js\";\nexport { ollamaDefinition } from \"./ollama.js\";\nexport { openWebuiDefinition } from \"./open-webui.js\";\nexport { opencodeDefinition } from \"./opencode.js\";\nexport { openhandsDefinition } from \"./openhands.js\";\nexport { openpanelDefinition } from \"./openpanel.js\";\nexport { opensandboxDefinition } from \"./opensandbox.js\";\nexport { opensearchDefinition } from \"./opensearch.js\";\nexport { outlineDefinition } from \"./outline.js\";\nexport { paperlessNgxDefinition } from \"./paperless-ngx.js\";\nexport { pentagiDefinition } from \"./pentagi.js\";\nexport { pentestagentDefinition } from \"./pentestagent.js\";\nexport { photoprismDefinition } from \"./photoprism.js\";\nexport { piholeDefinition } from \"./pihole.js\";\nexport { piperTtsDefinition } from \"./piper-tts.js\";\nexport { planeDefinition } from \"./plane.js\";\nexport { plausibleDefinition } from \"./plausible.js\";\nexport { playwrightServerDefinition } from \"./playwright-server.js\";\nexport { pocketIdDefinition } from \"./pocket-id.js\";\nexport { pocketbaseDefinition } from \"./pocketbase.js\";\nexport { portainerDefinition } from \"./portainer.js\";\nexport { postgresqlDefinition } from \"./postgresql.js\";\nexport { posthogDefinition } from \"./posthog.js\";\nexport { postizDefinition } from \"./postiz.js\";\nexport { prometheusDefinition } from \"./prometheus.js\";\nexport { qdrantDefinition } from \"./qdrant.js\";\nexport { rabbitmqDefinition } from \"./rabbitmq.js\";\nexport { ragflowDefinition } from \"./ragflow.js\";\nexport { redisDefinition } from \"./redis.js\";\nexport { remotionDefinition } from \"./remotion.js\";\nexport { resticDefinition } from \"./restic.js\";\nexport { revoltDefinition } from \"./revolt.js\";\nexport { rocketchatDefinition } from \"./rocketchat.js\";\nexport { saleorDefinition } from \"./saleor.js\";\nexport { scraplingDefinition } from \"./scrapling.js\";\nexport { searxngDefinition } from \"./searxng.js\";\nexport { sentryDefinition } from \"./sentry.js\";\nexport { signozDefinition } from \"./signoz.js\";\nexport { solidityGuardDefinition } from \"./solidityguard.js\";\nexport { sonarqubeDefinition } from \"./sonarqube.js\";\nexport { stableDiffusionDefinition } from \"./stable-diffusion.js\";\nexport { steelBrowserDefinition } from \"./steel-browser.js\";\nexport { stirlingPdfDefinition } from \"./stirling-pdf.js\";\nexport { strapiDefinition } from \"./strapi.js\";\nexport { streamGatewayDefinition } from \"./stream-gateway.js\";\nexport { supabaseDefinition } from \"./supabase.js\";\nexport { supersetDefinition } from \"./superset.js\";\nexport { surrealdbDefinition } from \"./surrealdb.js\";\nexport { tabbyMlDefinition } from \"./tabby-ml.js\";\nexport { tailscaleDefinition } from \"./tailscale.js\";\nexport { tempoDefinition } from \"./tempo.js\";\nexport { temporalDefinition } from \"./temporal.js\";\nexport { textGenWebuiDefinition } from \"./text-gen-webui.js\";\nexport { timescaledbDefinition } from \"./timescaledb.js\";\nexport { traefikDefinition } from \"./traefik.js\";\nexport { twentyDefinition } from \"./twenty.js\";\nexport { umamiDefinition } from \"./umami.js\";\nexport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nexport { usesendDefinition } from \"./usesend.js\";\nexport { valkeyDefinition } from \"./valkey.js\";\nexport { vaultDefinition } from \"./vault.js\";\nexport { vaultwardenDefinition } from \"./vaultwarden.js\";\nexport { vectorLogDefinition } from \"./vector-log.js\";\nexport { vikunjaDefinition } from \"./vikunja.js\";\nexport { watchtowerDefinition } from \"./watchtower.js\";\nexport { weaviateDefinition } from \"./weaviate.js\";\nexport { whisperDefinition } from \"./whisper.js\";\nexport { wireguardDefinition } from \"./wireguard.js\";\nexport { woodpeckerCiDefinition } from \"./woodpecker-ci.js\";\nexport { xyopsDefinition } from \"./xyops.js\";\nexport { zulipDefinition } from \"./zulip.js\";\n\n// ── SaaS Boilerplates ──────────────────────────────────────────────────────\nexport { openSaasDefinition } from \"./open-saas.js\";\nexport { apptensionSaasDefinition } from \"./apptension-saas.js\";\nexport { boxyhqSaasDefinition } from \"./boxyhq-saas.js\";\nexport { ixartzSaasDefinition } from \"./ixartz-saas.js\";\nexport { cmsaasStarterDefinition } from \"./cmsaas-starter.js\";\n\nimport type { ServiceDefinition } from \"../../types.js\";\nimport { adguardHomeDefinition } from \"./adguard-home.js\";\nimport { airbyteDefinition } from \"./airbyte.js\";\nimport { airflowDefinition } from \"./airflow.js\";\nimport { anythingLlmDefinition } from \"./anything-llm.js\";\nimport { appflowyDefinition } from \"./appflowy.js\";\nimport { appwriteDefinition } from \"./appwrite.js\";\nimport { audiobookshelfDefinition } from \"./audiobookshelf.js\";\nimport { autheliaDefinition } from \"./authelia.js\";\nimport { authentikDefinition } from \"./authentik.js\";\nimport { axolotlDefinition } from \"./axolotl.js\";\nimport { baserowDefinition } from \"./baserow.js\";\nimport { beszelDefinition } from \"./beszel.js\";\nimport { browserlessDefinition } from \"./browserless.js\";\nimport { burnlinkDefinition } from \"./burnlink.js\";\nimport { caddyDefinition } from \"./caddy.js\";\nimport { calComDefinition } from \"./cal-com.js\";\nimport { calibreWebDefinition } from \"./calibre-web.js\";\nimport { chatwootDefinition } from \"./chatwoot.js\";\nimport { chatwootWorkerDefinition } from \"./chatwoot-worker.js\";\nimport { chromadbDefinition } from \"./chromadb.js\";\nimport { claudeCodeDefinition } from \"./claude-code.js\";\nimport { clickhouseDefinition } from \"./clickhouse.js\";\nimport { cloudflaredDefinition } from \"./cloudflared.js\";\nimport { cockroachdbDefinition } from \"./cockroachdb.js\";\nimport { codeServerDefinition } from \"./code-server.js\";\nimport { coderDefinition } from \"./coder.js\";\nimport { codexDefinition } from \"./codex.js\";\nimport { comfyuiDefinition } from \"./comfyui.js\";\nimport { convexDefinition } from \"./convex.js\";\nimport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nimport { coolifyDefinition } from \"./coolify.js\";\nimport { crowdsecDefinition } from \"./crowdsec.js\";\nimport { dagsterDefinition } from \"./dagster.js\";\nimport { desktopEnvironmentDefinition } from \"./desktop-environment.js\";\nimport { difyDefinition } from \"./dify.js\";\nimport { directusDefinition } from \"./directus.js\";\nimport { docsgptDefinition } from \"./docsgpt.js\";\nimport { dokployDefinition } from \"./dokploy.js\";\nimport { dozzleDefinition } from \"./dozzle.js\";\nimport { dragonflyDefinition } from \"./dragonfly.js\";\nimport { droneCiDefinition } from \"./drone-ci.js\";\nimport { duplicatiDefinition } from \"./duplicati.js\";\nimport { elementWebDefinition } from \"./element-web.js\";\nimport { excalidrawDefinition } from \"./excalidraw.js\";\nimport { ffmpegDefinition } from \"./ffmpeg.js\";\nimport { firecrawlDefinition } from \"./firecrawl.js\";\nimport { firecrawlPlaywrightDefinition } from \"./firecrawl-playwright.js\";\nimport { flagsmithDefinition } from \"./flagsmith.js\";\nimport { flowiseDefinition } from \"./flowise.js\";\nimport { focalboardDefinition } from \"./focalboard.js\";\nimport { fonosterDefinition } from \"./fonoster.js\";\nimport { forgejoDefinition } from \"./forgejo.js\";\nimport { formbricksDefinition } from \"./formbricks.js\";\nimport { geminiCliDefinition } from \"./gemini-cli.js\";\nimport { ghostDefinition } from \"./ghost.js\";\nimport { giteaDefinition } from \"./gitea.js\";\nimport { gotifyDefinition } from \"./gotify.js\";\nimport { grafanaDefinition } from \"./grafana.js\";\nimport { graylogDefinition } from \"./graylog.js\";\nimport { headscaleDefinition } from \"./headscale.js\";\nimport { hedgedocDefinition } from \"./hedgedoc.js\";\nimport { hindsightDefinition } from \"./hindsight.js\";\nimport { hexstrikeDefinition } from \"./hexstrike.js\";\nimport { heyformDefinition } from \"./heyform.js\";\nimport { homeassistantDefinition } from \"./homeassistant.js\";\nimport { hoppscotchDefinition } from \"./hoppscotch.js\";\nimport { immichDefinition } from \"./immich.js\";\nimport { infisicalDefinition } from \"./infisical.js\";\nimport { influxdbDefinition } from \"./influxdb.js\";\nimport { invokeAiDefinition } from \"./invoke-ai.js\";\nimport { jaegerDefinition } from \"./jaeger.js\";\nimport { janDefinition } from \"./jan.js\";\nimport { jellyfinDefinition } from \"./jellyfin.js\";\nimport { jenkinsDefinition } from \"./jenkins.js\";\nimport { jitsiMeetDefinition } from \"./jitsi-meet.js\";\nimport { keycloakDefinition } from \"./keycloak.js\";\nimport { kimiDefinition } from \"./kimi.js\";\nimport { kongDefinition } from \"./kong.js\";\nimport { lagoDefinition } from \"./lago.js\";\nimport { langflowDefinition } from \"./langflow.js\";\nimport { langfuseDefinition } from \"./langfuse.js\";\nimport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nimport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nimport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nimport { librechatDefinition } from \"./librechat.js\";\nimport { lightpandaDefinition } from \"./lightpanda.js\";\nimport { listmonkDefinition } from \"./listmonk.js\";\nimport { litellmDefinition } from \"./litellm.js\";\nimport { livekitDefinition } from \"./livekit.js\";\nimport { localAiDefinition } from \"./local-ai.js\";\nimport { lokiDefinition } from \"./loki.js\";\nimport { mariadbDefinition } from \"./mariadb.js\";\nimport { matomoDefinition } from \"./matomo.js\";\nimport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nimport { mattermostDefinition } from \"./mattermost.js\";\nimport { mauticDefinition } from \"./mautic.js\";\nimport { medusaDefinition } from \"./medusa.js\";\nimport { meilisearchDefinition } from \"./meilisearch.js\";\nimport { metabaseDefinition } from \"./metabase.js\";\nimport { milvusDefinition } from \"./milvus.js\";\nimport { minioDefinition } from \"./minio.js\";\nimport { missionControlDefinition } from \"./mission-control.js\";\nimport { mixpostDefinition } from \"./mixpost.js\";\nimport { mosquittoDefinition } from \"./mosquitto.js\";\nimport { motionCanvasDefinition } from \"./motion-canvas.js\";\nimport { mysqlDefinition } from \"./mysql.js\";\nimport { n8nDefinition } from \"./n8n.js\";\nimport { navidromeDefinition } from \"./navidrome.js\";\nimport { neo4jDefinition } from \"./neo4j.js\";\nimport { nextcloudDefinition } from \"./nextcloud.js\";\nimport { nginxProxyManagerDefinition } from \"./nginx-proxy-manager.js\";\nimport { nocodbDefinition } from \"./nocodb.js\";\nimport { nodeRedDefinition } from \"./node-red.js\";\nimport { ntfyDefinition } from \"./ntfy.js\";\nimport { ollamaDefinition } from \"./ollama.js\";\nimport { openWebuiDefinition } from \"./open-webui.js\";\nimport { opencodeDefinition } from \"./opencode.js\";\nimport { openhandsDefinition } from \"./openhands.js\";\nimport { openpanelDefinition } from \"./openpanel.js\";\nimport { opensandboxDefinition } from \"./opensandbox.js\";\nimport { opensearchDefinition } from \"./opensearch.js\";\nimport { outlineDefinition } from \"./outline.js\";\nimport { paperlessNgxDefinition } from \"./paperless-ngx.js\";\nimport { pentagiDefinition } from \"./pentagi.js\";\nimport { pentestagentDefinition } from \"./pentestagent.js\";\nimport { photoprismDefinition } from \"./photoprism.js\";\nimport { piholeDefinition } from \"./pihole.js\";\nimport { piperTtsDefinition } from \"./piper-tts.js\";\nimport { planeDefinition } from \"./plane.js\";\nimport { plausibleDefinition } from \"./plausible.js\";\nimport { playwrightServerDefinition } from \"./playwright-server.js\";\nimport { pocketIdDefinition } from \"./pocket-id.js\";\nimport { pocketbaseDefinition } from \"./pocketbase.js\";\nimport { portainerDefinition } from \"./portainer.js\";\nimport { postgresqlDefinition } from \"./postgresql.js\";\nimport { posthogDefinition } from \"./posthog.js\";\nimport { postizDefinition } from \"./postiz.js\";\nimport { prometheusDefinition } from \"./prometheus.js\";\nimport { qdrantDefinition } from \"./qdrant.js\";\nimport { rabbitmqDefinition } from \"./rabbitmq.js\";\nimport { ragflowDefinition } from \"./ragflow.js\";\nimport { redisDefinition } from \"./redis.js\";\nimport { remotionDefinition } from \"./remotion.js\";\nimport { resticDefinition } from \"./restic.js\";\nimport { revoltDefinition } from \"./revolt.js\";\nimport { rocketchatDefinition } from \"./rocketchat.js\";\nimport { saleorDefinition } from \"./saleor.js\";\nimport { scraplingDefinition } from \"./scrapling.js\";\nimport { searxngDefinition } from \"./searxng.js\";\nimport { sentryDefinition } from \"./sentry.js\";\nimport { signozDefinition } from \"./signoz.js\";\nimport { solidityGuardDefinition } from \"./solidityguard.js\";\nimport { sonarqubeDefinition } from \"./sonarqube.js\";\nimport { stableDiffusionDefinition } from \"./stable-diffusion.js\";\nimport { steelBrowserDefinition } from \"./steel-browser.js\";\nimport { stirlingPdfDefinition } from \"./stirling-pdf.js\";\nimport { strapiDefinition } from \"./strapi.js\";\nimport { streamGatewayDefinition } from \"./stream-gateway.js\";\nimport { supabaseDefinition } from \"./supabase.js\";\nimport { supersetDefinition } from \"./superset.js\";\nimport { surrealdbDefinition } from \"./surrealdb.js\";\nimport { tabbyMlDefinition } from \"./tabby-ml.js\";\nimport { tailscaleDefinition } from \"./tailscale.js\";\nimport { tempoDefinition } from \"./tempo.js\";\nimport { temporalDefinition } from \"./temporal.js\";\nimport { textGenWebuiDefinition } from \"./text-gen-webui.js\";\nimport { timescaledbDefinition } from \"./timescaledb.js\";\nimport { traefikDefinition } from \"./traefik.js\";\nimport { twentyDefinition } from \"./twenty.js\";\nimport { umamiDefinition } from \"./umami.js\";\nimport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nimport { usesendDefinition } from \"./usesend.js\";\nimport { valkeyDefinition } from \"./valkey.js\";\nimport { vaultDefinition } from \"./vault.js\";\nimport { vaultwardenDefinition } from \"./vaultwarden.js\";\nimport { vectorLogDefinition } from \"./vector-log.js\";\nimport { vikunjaDefinition } from \"./vikunja.js\";\nimport { watchtowerDefinition } from \"./watchtower.js\";\nimport { weaviateDefinition } from \"./weaviate.js\";\nimport { whisperDefinition } from \"./whisper.js\";\nimport { wireguardDefinition } from \"./wireguard.js\";\nimport { woodpeckerCiDefinition } from \"./woodpecker-ci.js\";\nimport { xyopsDefinition } from \"./xyops.js\";\nimport { zulipDefinition } from \"./zulip.js\";\n\n// ── SaaS Boilerplates ──────────────────────────────────────────────────────\nimport { openSaasDefinition } from \"./open-saas.js\";\nimport { apptensionSaasDefinition } from \"./apptension-saas.js\";\nimport { boxyhqSaasDefinition } from \"./boxyhq-saas.js\";\nimport { ixartzSaasDefinition } from \"./ixartz-saas.js\";\nimport { cmsaasStarterDefinition } from \"./cmsaas-starter.js\";\n\nexport const allServiceDefinitions: ServiceDefinition[] = [\n\tredisDefinition,\n\tqdrantDefinition,\n\tn8nDefinition,\n\tffmpegDefinition,\n\tminioDefinition,\n\tpostgresqlDefinition,\n\tcaddyDefinition,\n\ttraefikDefinition,\n\tuptimeKumaDefinition,\n\tgrafanaDefinition,\n\tprometheusDefinition,\n\tbrowserlessDefinition,\n\tfirecrawlDefinition,\n\tfirecrawlPlaywrightDefinition,\n\tsearxngDefinition,\n\tmeilisearchDefinition,\n\topensearchDefinition,\n\tollamaDefinition,\n\twhisperDefinition,\n\tchromadbDefinition,\n\tweaviateDefinition,\n\tvalkeyDefinition,\n\tgotifyDefinition,\n\tntfyDefinition,\n\trabbitmqDefinition,\n\tremotionDefinition,\n\tmotionCanvasDefinition,\n\ttemporalDefinition,\n\toutlineDefinition,\n\tdocsgptDefinition,\n\tpaperlessNgxDefinition,\n\tnocodbDefinition,\n\tappflowyDefinition,\n\tdirectusDefinition,\n\tstirlingPdfDefinition,\n\tstrapiDefinition,\n\tmatrixSynapseDefinition,\n\trocketchatDefinition,\n\tmattermostDefinition,\n\tchatwootDefinition,\n\tchatwootWorkerDefinition,\n\tstableDiffusionDefinition,\n\tcomfyuiDefinition,\n\tplaywrightServerDefinition,\n\topenWebuiDefinition,\n\tlangflowDefinition,\n\tragflowDefinition,\n\thomeassistantDefinition,\n\tnextcloudDefinition,\n\timmichDefinition,\n\tjellyfinDefinition,\n\tvaultwardenDefinition,\n\tmilvusDefinition,\n\tjenkinsDefinition,\n\tappwriteDefinition,\n\tauthentikDefinition,\n\tautheliaDefinition,\n\tcrowdsecDefinition,\n\tghostDefinition,\n\tlokiDefinition,\n\tsignozDefinition,\n\tsupabaseDefinition,\n\tpocketbaseDefinition,\n\tpocketIdDefinition,\n\tlibrechatDefinition,\n\tanythingLlmDefinition,\n\tdifyDefinition,\n\tflowiseDefinition,\n\tlitellmDefinition,\n\tflagsmithDefinition,\n\tgiteaDefinition,\n\tcodeServerDefinition,\n\tportainerDefinition,\n\twatchtowerDefinition,\n\tdozzleDefinition,\n\tbeszelDefinition,\n\tconvexDefinition,\n\tconvexDashboardDefinition,\n\tclaudeCodeDefinition,\n\topencodeDefinition,\n\tcodexDefinition,\n\tgeminiCliDefinition,\n\tkimiDefinition,\n\tpostizDefinition,\n\tmixpostDefinition,\n\tmatomoDefinition,\n\tumamiDefinition,\n\tusesendDefinition,\n\tlistmonkDefinition,\n\tmissionControlDefinition,\n\topenpanelDefinition,\n\tlightpandaDefinition,\n\tsteelBrowserDefinition,\n\tcoolifyDefinition,\n\tdokployDefinition,\n\ttailscaleDefinition,\n\tlivekitDefinition,\n\tinfisicalDefinition,\n\tkeycloakDefinition,\n\tlasuiteMeetBackendDefinition,\n\tlasuiteMeetFrontendDefinition,\n\tlasuiteMeetAgentsDefinition,\n\tdesktopEnvironmentDefinition,\n\tstreamGatewayDefinition,\n\tneo4jDefinition,\n\tcalComDefinition,\n\txyopsDefinition,\n\tscraplingDefinition,\n\thexstrikeDefinition,\n\tsolidityGuardDefinition,\n\tpentagiDefinition,\n\tpentestagentDefinition,\n\theadscaleDefinition,\n\tmysqlDefinition,\n\tmariadbDefinition,\n\t// ── New Services ──────────────────────────────────────────────────────────\n\tlangfuseDefinition,\n\topenhandsDefinition,\n\tairflowDefinition,\n\tairbyteDefinition,\n\tdagsterDefinition,\n\tlagoDefinition,\n\ttwentyDefinition,\n\tmauticDefinition,\n\tformbricksDefinition,\n\theyformDefinition,\n\tkongDefinition,\n\thoppscotchDefinition,\n\tvaultDefinition,\n\tresticDefinition,\n\tduplicatiDefinition,\n\tfonosterDefinition,\n\tmedusaDefinition,\n\tsaleorDefinition,\n\taxolotlDefinition,\n\thedgedocDefinition,\n\texcalidrawDefinition,\n\tjitsiMeetDefinition,\n\tzulipDefinition,\n\telementWebDefinition,\n\trevoltDefinition,\n\tdragonflyDefinition,\n\tsurrealdbDefinition,\n\tinfluxdbDefinition,\n\ttimescaledbDefinition,\n\tcockroachdbDefinition,\n\tsentryDefinition,\n\tjaegerDefinition,\n\ttempoDefinition,\n\tgraylogDefinition,\n\tvectorLogDefinition,\n\t// ── Batch 2: New Service Definitions ──────────────────────────────────\n\tadguardHomeDefinition,\n\taudiobookshelfDefinition,\n\tbaserowDefinition,\n\tcalibreWebDefinition,\n\tclickhouseDefinition,\n\tcloudflaredDefinition,\n\tcoderDefinition,\n\tdroneCiDefinition,\n\tfocalboardDefinition,\n\tforgejoDefinition,\n\tinvokeAiDefinition,\n\tjanDefinition,\n\tlocalAiDefinition,\n\tmetabaseDefinition,\n\tmosquittoDefinition,\n\tnavidromeDefinition,\n\tnginxProxyManagerDefinition,\n\tnodeRedDefinition,\n\tphotoprismDefinition,\n\tpiholeDefinition,\n\tpiperTtsDefinition,\n\tplaneDefinition,\n\tplausibleDefinition,\n\tposthogDefinition,\n\tsonarqubeDefinition,\n\tsupersetDefinition,\n\ttabbyMlDefinition,\n\ttextGenWebuiDefinition,\n\tvikunjaDefinition,\n\twireguardDefinition,\n\twoodpeckerCiDefinition,\n\t// ── New Integrations ────────────────────────────────────────────────────\n\thindsightDefinition,\n\tburnlinkDefinition,\n\topensandboxDefinition,\n\t// ── SaaS Boilerplates ────────────────────────────────────────────────────\n\topenSaasDefinition,\n\tapptensionSaasDefinition,\n\tboxyhqSaasDefinition,\n\tixartzSaasDefinition,\n\tcmsaasStarterDefinition,\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiYA,MAAa,wBAA6C;CACzD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA"}
|
|
@@ -71,7 +71,17 @@ const meilisearchDefinition = {
|
|
|
71
71
|
recommends: [],
|
|
72
72
|
conflictsWith: [],
|
|
73
73
|
minMemoryMB: 256,
|
|
74
|
-
gpuRequired: false
|
|
74
|
+
gpuRequired: false,
|
|
75
|
+
capDropCompatible: true,
|
|
76
|
+
proxyPath: "/meilisearch",
|
|
77
|
+
envQuirks: [{
|
|
78
|
+
key: "MEILI_MASTER_KEY",
|
|
79
|
+
issue: "min_length",
|
|
80
|
+
fix: {
|
|
81
|
+
type: "generate_base64url",
|
|
82
|
+
minBytes: 24
|
|
83
|
+
}
|
|
84
|
+
}]
|
|
75
85
|
};
|
|
76
86
|
//#endregion
|
|
77
87
|
exports.meilisearchDefinition = meilisearchDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meilisearch.cjs","names":[],"sources":["../../../src/services/definitions/meilisearch.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const meilisearchDefinition: ServiceDefinition = {\n\tid: \"meilisearch\",\n\tname: \"Meilisearch\",\n\tdescription:\n\t\t\"Lightning-fast, typo-tolerant full-text search engine with an intuitive API, perfect for building instant search experiences.\",\n\tcategory: \"search\",\n\ticon: \"🔎\",\n\n\timage: \"getmeili/meilisearch\",\n\timageTag: \"v1.35.1\",\n\tports: [\n\t\t{\n\t\t\thost: 7700,\n\t\t\tcontainer: 7700,\n\t\t\tdescription: \"Meilisearch HTTP API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"meilisearch-data\",\n\t\t\tcontainerPath: \"/meili_data\",\n\t\t\tdescription: \"Persistent Meilisearch index and data storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MEILI_MASTER_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Master key for Meilisearch API authentication\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:7700/health || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 5,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"MEILISEARCH_HOST\",\n\t\t\tdefaultValue: \"meilisearch\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_PORT\",\n\t\t\tdefaultValue: \"7700\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_MASTER_KEY\",\n\t\t\tdefaultValue: \"${MEILI_MASTER_KEY}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Meilisearch master key for OpenClaw (references service key)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://www.meilisearch.com/docs\",\n\ttags: [\"full-text-search\", \"instant-search\", \"typo-tolerant\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";;AAEA,MAAa,wBAA2C;CACvD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAoB;EAAkB;EAAgB;CAC7D,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"meilisearch.cjs","names":[],"sources":["../../../src/services/definitions/meilisearch.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const meilisearchDefinition: ServiceDefinition = {\n\tid: \"meilisearch\",\n\tname: \"Meilisearch\",\n\tdescription:\n\t\t\"Lightning-fast, typo-tolerant full-text search engine with an intuitive API, perfect for building instant search experiences.\",\n\tcategory: \"search\",\n\ticon: \"🔎\",\n\n\timage: \"getmeili/meilisearch\",\n\timageTag: \"v1.35.1\",\n\tports: [\n\t\t{\n\t\t\thost: 7700,\n\t\t\tcontainer: 7700,\n\t\t\tdescription: \"Meilisearch HTTP API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"meilisearch-data\",\n\t\t\tcontainerPath: \"/meili_data\",\n\t\t\tdescription: \"Persistent Meilisearch index and data storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MEILI_MASTER_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Master key for Meilisearch API authentication\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:7700/health || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 5,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"MEILISEARCH_HOST\",\n\t\t\tdefaultValue: \"meilisearch\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_PORT\",\n\t\t\tdefaultValue: \"7700\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_MASTER_KEY\",\n\t\t\tdefaultValue: \"${MEILI_MASTER_KEY}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Meilisearch master key for OpenClaw (references service key)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://www.meilisearch.com/docs\",\n\ttags: [\"full-text-search\", \"instant-search\", \"typo-tolerant\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n\tcapDropCompatible: true,\n\tproxyPath: \"/meilisearch\",\n\tenvQuirks: [\n\t\t{\n\t\t\tkey: \"MEILI_MASTER_KEY\",\n\t\t\tissue: \"min_length\" as const,\n\t\t\tfix: { type: \"generate_base64url\" as const, minBytes: 24 },\n\t\t},\n\t],\n};\n"],"mappings":";;AAEA,MAAa,wBAA2C;CACvD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAoB;EAAkB;EAAgB;CAC7D,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX,WAAW,CACV;EACC,KAAK;EACL,OAAO;EACP,KAAK;GAAE,MAAM;GAA+B,UAAU;GAAI;EAC1D,CACD;CACD"}
|
|
@@ -70,7 +70,17 @@ const meilisearchDefinition = {
|
|
|
70
70
|
recommends: [],
|
|
71
71
|
conflictsWith: [],
|
|
72
72
|
minMemoryMB: 256,
|
|
73
|
-
gpuRequired: false
|
|
73
|
+
gpuRequired: false,
|
|
74
|
+
capDropCompatible: true,
|
|
75
|
+
proxyPath: "/meilisearch",
|
|
76
|
+
envQuirks: [{
|
|
77
|
+
key: "MEILI_MASTER_KEY",
|
|
78
|
+
issue: "min_length",
|
|
79
|
+
fix: {
|
|
80
|
+
type: "generate_base64url",
|
|
81
|
+
minBytes: 24
|
|
82
|
+
}
|
|
83
|
+
}]
|
|
74
84
|
};
|
|
75
85
|
//#endregion
|
|
76
86
|
export { meilisearchDefinition };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meilisearch.mjs","names":[],"sources":["../../../src/services/definitions/meilisearch.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const meilisearchDefinition: ServiceDefinition = {\n\tid: \"meilisearch\",\n\tname: \"Meilisearch\",\n\tdescription:\n\t\t\"Lightning-fast, typo-tolerant full-text search engine with an intuitive API, perfect for building instant search experiences.\",\n\tcategory: \"search\",\n\ticon: \"🔎\",\n\n\timage: \"getmeili/meilisearch\",\n\timageTag: \"v1.35.1\",\n\tports: [\n\t\t{\n\t\t\thost: 7700,\n\t\t\tcontainer: 7700,\n\t\t\tdescription: \"Meilisearch HTTP API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"meilisearch-data\",\n\t\t\tcontainerPath: \"/meili_data\",\n\t\t\tdescription: \"Persistent Meilisearch index and data storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MEILI_MASTER_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Master key for Meilisearch API authentication\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:7700/health || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 5,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"MEILISEARCH_HOST\",\n\t\t\tdefaultValue: \"meilisearch\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_PORT\",\n\t\t\tdefaultValue: \"7700\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_MASTER_KEY\",\n\t\t\tdefaultValue: \"${MEILI_MASTER_KEY}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Meilisearch master key for OpenClaw (references service key)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://www.meilisearch.com/docs\",\n\ttags: [\"full-text-search\", \"instant-search\", \"typo-tolerant\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,wBAA2C;CACvD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAoB;EAAkB;EAAgB;CAC7D,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"meilisearch.mjs","names":[],"sources":["../../../src/services/definitions/meilisearch.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const meilisearchDefinition: ServiceDefinition = {\n\tid: \"meilisearch\",\n\tname: \"Meilisearch\",\n\tdescription:\n\t\t\"Lightning-fast, typo-tolerant full-text search engine with an intuitive API, perfect for building instant search experiences.\",\n\tcategory: \"search\",\n\ticon: \"🔎\",\n\n\timage: \"getmeili/meilisearch\",\n\timageTag: \"v1.35.1\",\n\tports: [\n\t\t{\n\t\t\thost: 7700,\n\t\t\tcontainer: 7700,\n\t\t\tdescription: \"Meilisearch HTTP API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"meilisearch-data\",\n\t\t\tcontainerPath: \"/meili_data\",\n\t\t\tdescription: \"Persistent Meilisearch index and data storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MEILI_MASTER_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Master key for Meilisearch API authentication\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:7700/health || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 5,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"MEILISEARCH_HOST\",\n\t\t\tdefaultValue: \"meilisearch\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_PORT\",\n\t\t\tdefaultValue: \"7700\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Meilisearch port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MEILISEARCH_MASTER_KEY\",\n\t\t\tdefaultValue: \"${MEILI_MASTER_KEY}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Meilisearch master key for OpenClaw (references service key)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://www.meilisearch.com/docs\",\n\ttags: [\"full-text-search\", \"instant-search\", \"typo-tolerant\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n\tcapDropCompatible: true,\n\tproxyPath: \"/meilisearch\",\n\tenvQuirks: [\n\t\t{\n\t\t\tkey: \"MEILI_MASTER_KEY\",\n\t\t\tissue: \"min_length\" as const,\n\t\t\tfix: { type: \"generate_base64url\" as const, minBytes: 24 },\n\t\t},\n\t],\n};\n"],"mappings":";AAEA,MAAa,wBAA2C;CACvD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAoB;EAAkB;EAAgB;CAC7D,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX,WAAW,CACV;EACC,KAAK;EACL,OAAO;EACP,KAAK;GAAE,MAAM;GAA+B,UAAU;GAAI;EAC1D,CACD;CACD"}
|
|
@@ -95,7 +95,9 @@ const minioDefinition = {
|
|
|
95
95
|
recommends: [],
|
|
96
96
|
conflictsWith: [],
|
|
97
97
|
minMemoryMB: 256,
|
|
98
|
-
gpuRequired: false
|
|
98
|
+
gpuRequired: false,
|
|
99
|
+
capDropCompatible: true,
|
|
100
|
+
proxyPath: "/minio"
|
|
99
101
|
};
|
|
100
102
|
//#endregion
|
|
101
103
|
exports.minioDefinition = minioDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minio.cjs","names":[],"sources":["../../../src/services/definitions/minio.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const minioDefinition: ServiceDefinition = {\n\tid: \"minio\",\n\tname: \"MinIO\",\n\tdescription:\n\t\t\"S3-compatible high-performance object storage for storing assets, backups, and large files with a built-in web console.\",\n\tcategory: \"storage\",\n\ticon: \"💾\",\n\n\timage: \"minio/minio\",\n\timageTag: \"RELEASE.2025-04-22T22-12-26Z\",\n\tports: [\n\t\t{\n\t\t\thost: 9000,\n\t\t\tcontainer: 9000,\n\t\t\tdescription: \"MinIO S3-compatible API\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 9001,\n\t\t\tcontainer: 9001,\n\t\t\tdescription: \"MinIO web console\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"minio-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Persistent MinIO object storage data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_USER\",\n\t\t\tdefaultValue: \"minioadmin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO root user (access key)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO root password (secret key, minimum 8 characters)\",\n\t\t\trequired: true,\n\t\t\tvalidation: \"^.{8,}$\",\n\t\t},\n\t],\n\tcommand: \"server /data --console-address ':9001'\",\n\thealthcheck: {\n\t\ttest: \"mc ready local || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"minio-storage\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"MINIO_HOST\",\n\t\t\tdefaultValue: \"minio\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_PORT\",\n\t\t\tdefaultValue: \"9000\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ACCESS_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_USER}\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO access key for OpenClaw (references root user)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_SECRET_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO secret key for OpenClaw (references root password)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://min.io/docs/minio/container/index.html\",\n\ttags: [\"s3\", \"object-storage\", \"assets\", \"backup\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";;AAEA,MAAa,kBAAqC;CACjD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,YAAY;EACZ,CACD;CACD,SAAS;CACT,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAiB,aAAa;EAAM,CAAC;CACzD,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAM;EAAkB;EAAU;EAAS;CAClD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"minio.cjs","names":[],"sources":["../../../src/services/definitions/minio.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const minioDefinition: ServiceDefinition = {\n\tid: \"minio\",\n\tname: \"MinIO\",\n\tdescription:\n\t\t\"S3-compatible high-performance object storage for storing assets, backups, and large files with a built-in web console.\",\n\tcategory: \"storage\",\n\ticon: \"💾\",\n\n\timage: \"minio/minio\",\n\timageTag: \"RELEASE.2025-04-22T22-12-26Z\",\n\tports: [\n\t\t{\n\t\t\thost: 9000,\n\t\t\tcontainer: 9000,\n\t\t\tdescription: \"MinIO S3-compatible API\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 9001,\n\t\t\tcontainer: 9001,\n\t\t\tdescription: \"MinIO web console\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"minio-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Persistent MinIO object storage data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_USER\",\n\t\t\tdefaultValue: \"minioadmin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO root user (access key)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO root password (secret key, minimum 8 characters)\",\n\t\t\trequired: true,\n\t\t\tvalidation: \"^.{8,}$\",\n\t\t},\n\t],\n\tcommand: \"server /data --console-address ':9001'\",\n\thealthcheck: {\n\t\ttest: \"mc ready local || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"minio-storage\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"MINIO_HOST\",\n\t\t\tdefaultValue: \"minio\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_PORT\",\n\t\t\tdefaultValue: \"9000\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ACCESS_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_USER}\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO access key for OpenClaw (references root user)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_SECRET_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO secret key for OpenClaw (references root password)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://min.io/docs/minio/container/index.html\",\n\ttags: [\"s3\", \"object-storage\", \"assets\", \"backup\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n\tcapDropCompatible: true,\n\tproxyPath: \"/minio\",\n};\n"],"mappings":";;AAEA,MAAa,kBAAqC;CACjD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,YAAY;EACZ,CACD;CACD,SAAS;CACT,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAiB,aAAa;EAAM,CAAC;CACzD,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAM;EAAkB;EAAU;EAAS;CAClD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minio.mjs","names":[],"sources":["../../../src/services/definitions/minio.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const minioDefinition: ServiceDefinition = {\n\tid: \"minio\",\n\tname: \"MinIO\",\n\tdescription:\n\t\t\"S3-compatible high-performance object storage for storing assets, backups, and large files with a built-in web console.\",\n\tcategory: \"storage\",\n\ticon: \"💾\",\n\n\timage: \"minio/minio\",\n\timageTag: \"RELEASE.2025-04-22T22-12-26Z\",\n\tports: [\n\t\t{\n\t\t\thost: 9000,\n\t\t\tcontainer: 9000,\n\t\t\tdescription: \"MinIO S3-compatible API\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 9001,\n\t\t\tcontainer: 9001,\n\t\t\tdescription: \"MinIO web console\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"minio-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Persistent MinIO object storage data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_USER\",\n\t\t\tdefaultValue: \"minioadmin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO root user (access key)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO root password (secret key, minimum 8 characters)\",\n\t\t\trequired: true,\n\t\t\tvalidation: \"^.{8,}$\",\n\t\t},\n\t],\n\tcommand: \"server /data --console-address ':9001'\",\n\thealthcheck: {\n\t\ttest: \"mc ready local || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"minio-storage\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"MINIO_HOST\",\n\t\t\tdefaultValue: \"minio\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_PORT\",\n\t\t\tdefaultValue: \"9000\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ACCESS_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_USER}\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO access key for OpenClaw (references root user)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_SECRET_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO secret key for OpenClaw (references root password)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://min.io/docs/minio/container/index.html\",\n\ttags: [\"s3\", \"object-storage\", \"assets\", \"backup\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,kBAAqC;CACjD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,YAAY;EACZ,CACD;CACD,SAAS;CACT,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAiB,aAAa;EAAM,CAAC;CACzD,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAM;EAAkB;EAAU;EAAS;CAClD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"minio.mjs","names":[],"sources":["../../../src/services/definitions/minio.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const minioDefinition: ServiceDefinition = {\n\tid: \"minio\",\n\tname: \"MinIO\",\n\tdescription:\n\t\t\"S3-compatible high-performance object storage for storing assets, backups, and large files with a built-in web console.\",\n\tcategory: \"storage\",\n\ticon: \"💾\",\n\n\timage: \"minio/minio\",\n\timageTag: \"RELEASE.2025-04-22T22-12-26Z\",\n\tports: [\n\t\t{\n\t\t\thost: 9000,\n\t\t\tcontainer: 9000,\n\t\t\tdescription: \"MinIO S3-compatible API\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 9001,\n\t\t\tcontainer: 9001,\n\t\t\tdescription: \"MinIO web console\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"minio-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Persistent MinIO object storage data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_USER\",\n\t\t\tdefaultValue: \"minioadmin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO root user (access key)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ROOT_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO root password (secret key, minimum 8 characters)\",\n\t\t\trequired: true,\n\t\t\tvalidation: \"^.{8,}$\",\n\t\t},\n\t],\n\tcommand: \"server /data --console-address ':9001'\",\n\thealthcheck: {\n\t\ttest: \"mc ready local || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"minio-storage\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"MINIO_HOST\",\n\t\t\tdefaultValue: \"minio\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_PORT\",\n\t\t\tdefaultValue: \"9000\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ACCESS_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_USER}\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO access key for OpenClaw (references root user)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_SECRET_KEY\",\n\t\t\tdefaultValue: \"${MINIO_ROOT_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"MinIO secret key for OpenClaw (references root password)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://min.io/docs/minio/container/index.html\",\n\ttags: [\"s3\", \"object-storage\", \"assets\", \"backup\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n\tcapDropCompatible: true,\n\tproxyPath: \"/minio\",\n};\n"],"mappings":";AAEA,MAAa,kBAAqC;CACjD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,YAAY;EACZ,CACD;CACD,SAAS;CACT,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAiB,aAAa;EAAM,CAAC;CACzD,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAM;EAAkB;EAAU;EAAS;CAClD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX"}
|
|
@@ -147,7 +147,17 @@ const n8nDefinition = {
|
|
|
147
147
|
recommends: ["redis"],
|
|
148
148
|
conflictsWith: [],
|
|
149
149
|
minMemoryMB: 512,
|
|
150
|
-
gpuRequired: false
|
|
150
|
+
gpuRequired: false,
|
|
151
|
+
capDropCompatible: true,
|
|
152
|
+
proxyPath: "/n8n",
|
|
153
|
+
envQuirks: [{
|
|
154
|
+
key: "DB_POSTGRESDB_PASSWORD",
|
|
155
|
+
issue: "must_sync",
|
|
156
|
+
fix: {
|
|
157
|
+
type: "sync_with",
|
|
158
|
+
syncKey: "N8N_DB_PASSWORD"
|
|
159
|
+
}
|
|
160
|
+
}]
|
|
151
161
|
};
|
|
152
162
|
//#endregion
|
|
153
163
|
exports.n8nDefinition = n8nDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"n8n.cjs","names":[],"sources":["../../../src/services/definitions/n8n.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const n8nDefinition: ServiceDefinition = {\n\tid: \"n8n\",\n\tname: \"n8n\",\n\tdescription:\n\t\t\"Workflow automation platform for connecting services, building integrations, and automating tasks with a visual node-based editor.\",\n\tcategory: \"automation\",\n\ticon: \"🔄\",\n\n\timage: \"docker.n8n.io/n8nio/n8n\",\n\timageTag: \"1.123.21\",\n\tports: [\n\t\t{\n\t\t\thost: 5678,\n\t\t\tcontainer: 5678,\n\t\t\tdescription: \"n8n web interface and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"n8n-data\",\n\t\t\tcontainerPath: \"/home/node/.n8n\",\n\t\t\tdescription: \"Persistent n8n data and workflows\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_ACTIVE\",\n\t\t\tdefaultValue: \"true\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Enable basic authentication for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_USER\",\n\t\t\tdefaultValue: \"admin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Basic auth username for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Basic auth password for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_TYPE\",\n\t\t\tdefaultValue: \"postgresdb\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database type for n8n persistence\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_HOST\",\n\t\t\tdefaultValue: \"postgresql\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL hostname\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PORT\",\n\t\t\tdefaultValue: \"5432\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL port\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_DATABASE\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL database name for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_USER\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL user for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PASSWORD\",\n\t\t\tdefaultValue: \"${N8N_DB_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"PostgreSQL password for n8n (references Postgres password)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Port n8n listens on\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Base URL for n8n webhooks\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:5678/healthz || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"n8n-trigger\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"N8N_HOST\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n webhook URL for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.n8n.io/\",\n\ttags: [\"workflow\", \"automation\", \"webhook\", \"integration\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"postgresql\"],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";;AAEA,MAAa,gBAAmC;CAC/C,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAe,aAAa;EAAM,CAAC;CACvD,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAY;EAAc;EAAW;EAAc;CAC1D,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"n8n.cjs","names":[],"sources":["../../../src/services/definitions/n8n.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const n8nDefinition: ServiceDefinition = {\n\tid: \"n8n\",\n\tname: \"n8n\",\n\tdescription:\n\t\t\"Workflow automation platform for connecting services, building integrations, and automating tasks with a visual node-based editor.\",\n\tcategory: \"automation\",\n\ticon: \"🔄\",\n\n\timage: \"docker.n8n.io/n8nio/n8n\",\n\timageTag: \"1.123.21\",\n\tports: [\n\t\t{\n\t\t\thost: 5678,\n\t\t\tcontainer: 5678,\n\t\t\tdescription: \"n8n web interface and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"n8n-data\",\n\t\t\tcontainerPath: \"/home/node/.n8n\",\n\t\t\tdescription: \"Persistent n8n data and workflows\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_ACTIVE\",\n\t\t\tdefaultValue: \"true\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Enable basic authentication for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_USER\",\n\t\t\tdefaultValue: \"admin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Basic auth username for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Basic auth password for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_TYPE\",\n\t\t\tdefaultValue: \"postgresdb\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database type for n8n persistence\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_HOST\",\n\t\t\tdefaultValue: \"postgresql\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL hostname\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PORT\",\n\t\t\tdefaultValue: \"5432\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL port\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_DATABASE\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL database name for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_USER\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL user for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PASSWORD\",\n\t\t\tdefaultValue: \"${N8N_DB_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"PostgreSQL password for n8n (references Postgres password)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Port n8n listens on\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Base URL for n8n webhooks\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:5678/healthz || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"n8n-trigger\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"N8N_HOST\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n webhook URL for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.n8n.io/\",\n\ttags: [\"workflow\", \"automation\", \"webhook\", \"integration\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"postgresql\"],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n\tcapDropCompatible: true,\n\tproxyPath: \"/n8n\",\n\tenvQuirks: [\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PASSWORD\",\n\t\t\tissue: \"must_sync\" as const,\n\t\t\tfix: { type: \"sync_with\" as const, syncKey: \"N8N_DB_PASSWORD\" },\n\t\t},\n\t],\n};\n"],"mappings":";;AAEA,MAAa,gBAAmC;CAC/C,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAe,aAAa;EAAM,CAAC;CACvD,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAY;EAAc;EAAW;EAAc;CAC1D,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX,WAAW,CACV;EACC,KAAK;EACL,OAAO;EACP,KAAK;GAAE,MAAM;GAAsB,SAAS;GAAmB;EAC/D,CACD;CACD"}
|
|
@@ -146,7 +146,17 @@ const n8nDefinition = {
|
|
|
146
146
|
recommends: ["redis"],
|
|
147
147
|
conflictsWith: [],
|
|
148
148
|
minMemoryMB: 512,
|
|
149
|
-
gpuRequired: false
|
|
149
|
+
gpuRequired: false,
|
|
150
|
+
capDropCompatible: true,
|
|
151
|
+
proxyPath: "/n8n",
|
|
152
|
+
envQuirks: [{
|
|
153
|
+
key: "DB_POSTGRESDB_PASSWORD",
|
|
154
|
+
issue: "must_sync",
|
|
155
|
+
fix: {
|
|
156
|
+
type: "sync_with",
|
|
157
|
+
syncKey: "N8N_DB_PASSWORD"
|
|
158
|
+
}
|
|
159
|
+
}]
|
|
150
160
|
};
|
|
151
161
|
//#endregion
|
|
152
162
|
export { n8nDefinition };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"n8n.mjs","names":[],"sources":["../../../src/services/definitions/n8n.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const n8nDefinition: ServiceDefinition = {\n\tid: \"n8n\",\n\tname: \"n8n\",\n\tdescription:\n\t\t\"Workflow automation platform for connecting services, building integrations, and automating tasks with a visual node-based editor.\",\n\tcategory: \"automation\",\n\ticon: \"🔄\",\n\n\timage: \"docker.n8n.io/n8nio/n8n\",\n\timageTag: \"1.123.21\",\n\tports: [\n\t\t{\n\t\t\thost: 5678,\n\t\t\tcontainer: 5678,\n\t\t\tdescription: \"n8n web interface and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"n8n-data\",\n\t\t\tcontainerPath: \"/home/node/.n8n\",\n\t\t\tdescription: \"Persistent n8n data and workflows\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_ACTIVE\",\n\t\t\tdefaultValue: \"true\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Enable basic authentication for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_USER\",\n\t\t\tdefaultValue: \"admin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Basic auth username for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Basic auth password for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_TYPE\",\n\t\t\tdefaultValue: \"postgresdb\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database type for n8n persistence\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_HOST\",\n\t\t\tdefaultValue: \"postgresql\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL hostname\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PORT\",\n\t\t\tdefaultValue: \"5432\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL port\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_DATABASE\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL database name for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_USER\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL user for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PASSWORD\",\n\t\t\tdefaultValue: \"${N8N_DB_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"PostgreSQL password for n8n (references Postgres password)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Port n8n listens on\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Base URL for n8n webhooks\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:5678/healthz || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"n8n-trigger\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"N8N_HOST\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n webhook URL for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.n8n.io/\",\n\ttags: [\"workflow\", \"automation\", \"webhook\", \"integration\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"postgresql\"],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,gBAAmC;CAC/C,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAe,aAAa;EAAM,CAAC;CACvD,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAY;EAAc;EAAW;EAAc;CAC1D,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"n8n.mjs","names":[],"sources":["../../../src/services/definitions/n8n.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const n8nDefinition: ServiceDefinition = {\n\tid: \"n8n\",\n\tname: \"n8n\",\n\tdescription:\n\t\t\"Workflow automation platform for connecting services, building integrations, and automating tasks with a visual node-based editor.\",\n\tcategory: \"automation\",\n\ticon: \"🔄\",\n\n\timage: \"docker.n8n.io/n8nio/n8n\",\n\timageTag: \"1.123.21\",\n\tports: [\n\t\t{\n\t\t\thost: 5678,\n\t\t\tcontainer: 5678,\n\t\t\tdescription: \"n8n web interface and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"n8n-data\",\n\t\t\tcontainerPath: \"/home/node/.n8n\",\n\t\t\tdescription: \"Persistent n8n data and workflows\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_ACTIVE\",\n\t\t\tdefaultValue: \"true\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Enable basic authentication for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_USER\",\n\t\t\tdefaultValue: \"admin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Basic auth username for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_BASIC_AUTH_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Basic auth password for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_TYPE\",\n\t\t\tdefaultValue: \"postgresdb\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database type for n8n persistence\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_HOST\",\n\t\t\tdefaultValue: \"postgresql\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL hostname\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PORT\",\n\t\t\tdefaultValue: \"5432\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL port\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_DATABASE\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL database name for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_USER\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL user for n8n\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PASSWORD\",\n\t\t\tdefaultValue: \"${N8N_DB_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"PostgreSQL password for n8n (references Postgres password)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Port n8n listens on\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Base URL for n8n webhooks\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:5678/healthz || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"n8n-trigger\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"N8N_HOST\",\n\t\t\tdefaultValue: \"n8n\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_PORT\",\n\t\t\tdefaultValue: \"5678\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"N8N_WEBHOOK_URL\",\n\t\t\tdefaultValue: \"http://n8n:5678/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"n8n webhook URL for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.n8n.io/\",\n\ttags: [\"workflow\", \"automation\", \"webhook\", \"integration\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"postgresql\"],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n\tcapDropCompatible: true,\n\tproxyPath: \"/n8n\",\n\tenvQuirks: [\n\t\t{\n\t\t\tkey: \"DB_POSTGRESDB_PASSWORD\",\n\t\t\tissue: \"must_sync\" as const,\n\t\t\tfix: { type: \"sync_with\" as const, syncKey: \"N8N_DB_PASSWORD\" },\n\t\t},\n\t],\n};\n"],"mappings":";AAEA,MAAa,gBAAmC;CAC/C,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAe,aAAa;EAAM,CAAC;CACvD,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAY;EAAc;EAAW;EAAc;CAC1D,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX,WAAW,CACV;EACC,KAAK;EACL,OAAO;EACP,KAAK;GAAE,MAAM;GAAsB,SAAS;GAAmB;EAC/D,CACD;CACD"}
|
|
@@ -59,7 +59,9 @@ const ollamaDefinition = {
|
|
|
59
59
|
recommends: [],
|
|
60
60
|
conflictsWith: [],
|
|
61
61
|
minMemoryMB: 2048,
|
|
62
|
-
gpuRequired: false
|
|
62
|
+
gpuRequired: false,
|
|
63
|
+
capDropCompatible: false,
|
|
64
|
+
proxyPath: "/ollama"
|
|
63
65
|
};
|
|
64
66
|
//#endregion
|
|
65
67
|
exports.ollamaDefinition = ollamaDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.cjs","names":[],"sources":["../../../src/services/definitions/ollama.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const ollamaDefinition: ServiceDefinition = {\n\tid: \"ollama\",\n\tname: \"Ollama\",\n\tdescription:\n\t\t\"Run large language models locally with an easy-to-use API. Supports a wide range of open-source models like Llama, Mistral, and more.\",\n\tcategory: \"ai\",\n\ticon: \"🦙\",\n\n\timage: \"ollama/ollama\",\n\timageTag: \"0.17.0\",\n\tports: [\n\t\t{\n\t\t\thost: 11434,\n\t\t\tcontainer: 11434,\n\t\t\tdescription: \"Ollama REST API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"ollama-data\",\n\t\t\tcontainerPath: \"/root/.ollama\",\n\t\t\tdescription: \"Persistent Ollama model storage and configuration\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:11434/ || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"ollama-local-llm\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"OLLAMA_HOST\",\n\t\t\tdefaultValue: \"ollama\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"OLLAMA_PORT\",\n\t\t\tdefaultValue: \"11434\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://github.com/ollama/ollama\",\n\ttags: [\"llm\", \"local-ai\", \"inference\", \"language-model\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 2048,\n\tgpuRequired: false,\n};\n"],"mappings":";;AAEA,MAAa,mBAAsC;CAClD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,EAAE;CACf,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAoB,aAAa;EAAM,CAAC;CAC5D,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAO;EAAY;EAAa;EAAiB;CACxD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"ollama.cjs","names":[],"sources":["../../../src/services/definitions/ollama.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const ollamaDefinition: ServiceDefinition = {\n\tid: \"ollama\",\n\tname: \"Ollama\",\n\tdescription:\n\t\t\"Run large language models locally with an easy-to-use API. Supports a wide range of open-source models like Llama, Mistral, and more.\",\n\tcategory: \"ai\",\n\ticon: \"🦙\",\n\n\timage: \"ollama/ollama\",\n\timageTag: \"0.17.0\",\n\tports: [\n\t\t{\n\t\t\thost: 11434,\n\t\t\tcontainer: 11434,\n\t\t\tdescription: \"Ollama REST API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"ollama-data\",\n\t\t\tcontainerPath: \"/root/.ollama\",\n\t\t\tdescription: \"Persistent Ollama model storage and configuration\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:11434/ || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"ollama-local-llm\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"OLLAMA_HOST\",\n\t\t\tdefaultValue: \"ollama\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"OLLAMA_PORT\",\n\t\t\tdefaultValue: \"11434\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://github.com/ollama/ollama\",\n\ttags: [\"llm\", \"local-ai\", \"inference\", \"language-model\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 2048,\n\tgpuRequired: false,\n\tcapDropCompatible: false,\n\tproxyPath: \"/ollama\",\n};\n"],"mappings":";;AAEA,MAAa,mBAAsC;CAClD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,EAAE;CACf,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAoB,aAAa;EAAM,CAAC;CAC5D,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAO;EAAY;EAAa;EAAiB;CACxD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.mjs","names":[],"sources":["../../../src/services/definitions/ollama.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const ollamaDefinition: ServiceDefinition = {\n\tid: \"ollama\",\n\tname: \"Ollama\",\n\tdescription:\n\t\t\"Run large language models locally with an easy-to-use API. Supports a wide range of open-source models like Llama, Mistral, and more.\",\n\tcategory: \"ai\",\n\ticon: \"🦙\",\n\n\timage: \"ollama/ollama\",\n\timageTag: \"0.17.0\",\n\tports: [\n\t\t{\n\t\t\thost: 11434,\n\t\t\tcontainer: 11434,\n\t\t\tdescription: \"Ollama REST API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"ollama-data\",\n\t\t\tcontainerPath: \"/root/.ollama\",\n\t\t\tdescription: \"Persistent Ollama model storage and configuration\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:11434/ || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"ollama-local-llm\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"OLLAMA_HOST\",\n\t\t\tdefaultValue: \"ollama\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"OLLAMA_PORT\",\n\t\t\tdefaultValue: \"11434\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://github.com/ollama/ollama\",\n\ttags: [\"llm\", \"local-ai\", \"inference\", \"language-model\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 2048,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,mBAAsC;CAClD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,EAAE;CACf,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAoB,aAAa;EAAM,CAAC;CAC5D,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAO;EAAY;EAAa;EAAiB;CACxD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
1
|
+
{"version":3,"file":"ollama.mjs","names":[],"sources":["../../../src/services/definitions/ollama.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const ollamaDefinition: ServiceDefinition = {\n\tid: \"ollama\",\n\tname: \"Ollama\",\n\tdescription:\n\t\t\"Run large language models locally with an easy-to-use API. Supports a wide range of open-source models like Llama, Mistral, and more.\",\n\tcategory: \"ai\",\n\ticon: \"🦙\",\n\n\timage: \"ollama/ollama\",\n\timageTag: \"0.17.0\",\n\tports: [\n\t\t{\n\t\t\thost: 11434,\n\t\t\tcontainer: 11434,\n\t\t\tdescription: \"Ollama REST API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"ollama-data\",\n\t\t\tcontainerPath: \"/root/.ollama\",\n\t\t\tdescription: \"Persistent Ollama model storage and configuration\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:11434/ || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"ollama-local-llm\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"OLLAMA_HOST\",\n\t\t\tdefaultValue: \"ollama\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"OLLAMA_PORT\",\n\t\t\tdefaultValue: \"11434\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Ollama API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://github.com/ollama/ollama\",\n\ttags: [\"llm\", \"local-ai\", \"inference\", \"language-model\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 2048,\n\tgpuRequired: false,\n\tcapDropCompatible: false,\n\tproxyPath: \"/ollama\",\n};\n"],"mappings":";AAEA,MAAa,mBAAsC;CAClD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,EAAE;CACf,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAoB,aAAa;EAAM,CAAC;CAC5D,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAO;EAAY;EAAa;EAAiB;CACxD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/services/definitions/opensandbox.ts
|
|
3
|
+
const opensandboxDefinition = {
|
|
4
|
+
id: "opensandbox",
|
|
5
|
+
name: "OpenSandbox",
|
|
6
|
+
description: "Secure containerized code execution for AI agents. Multi-language sandboxes (Python, JS/TS, Java, Go, Bash) with file operations, resource limits, and network isolation.",
|
|
7
|
+
category: "dev-tools",
|
|
8
|
+
icon: "📦",
|
|
9
|
+
image: "opensandbox/server",
|
|
10
|
+
imageTag: "v1.0.6",
|
|
11
|
+
ports: [{
|
|
12
|
+
host: 8080,
|
|
13
|
+
container: 8080,
|
|
14
|
+
description: "OpenSandbox Lifecycle API (FastAPI)",
|
|
15
|
+
exposed: true
|
|
16
|
+
}],
|
|
17
|
+
volumes: [{
|
|
18
|
+
name: "/var/run/docker.sock",
|
|
19
|
+
containerPath: "/var/run/docker.sock",
|
|
20
|
+
description: "Docker socket (required for managing sandbox containers)"
|
|
21
|
+
}, {
|
|
22
|
+
name: "./sandbox.toml",
|
|
23
|
+
containerPath: "/root/.sandbox.toml:ro",
|
|
24
|
+
description: "OpenSandbox configuration file (read-only bind mount)"
|
|
25
|
+
}],
|
|
26
|
+
environment: [
|
|
27
|
+
{
|
|
28
|
+
key: "OPEN_SANDBOX_API_KEY",
|
|
29
|
+
defaultValue: "",
|
|
30
|
+
secret: true,
|
|
31
|
+
description: "API key for OpenSandbox lifecycle API authentication (min 32 chars)",
|
|
32
|
+
required: true
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
key: "OPENSANDBOX_LOG_LEVEL",
|
|
36
|
+
defaultValue: "INFO",
|
|
37
|
+
secret: false,
|
|
38
|
+
description: "Log verbosity (DEBUG, INFO, WARNING, ERROR)",
|
|
39
|
+
required: false
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
key: "OPENSANDBOX_RUNTIME_TYPE",
|
|
43
|
+
defaultValue: "docker",
|
|
44
|
+
secret: false,
|
|
45
|
+
description: "Runtime backend (always docker for VPS deployments)",
|
|
46
|
+
required: false
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: "OPENSANDBOX_EXECD_IMAGE",
|
|
50
|
+
defaultValue: "opensandbox/execd:v1.0.6",
|
|
51
|
+
secret: false,
|
|
52
|
+
description: "Execution daemon image injected into sandbox containers",
|
|
53
|
+
required: false
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
key: "OPENSANDBOX_NETWORK_MODE",
|
|
57
|
+
defaultValue: "bridge",
|
|
58
|
+
secret: false,
|
|
59
|
+
description: "Container networking mode (always bridge for isolation)",
|
|
60
|
+
required: false
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
key: "OPENSANDBOX_PIDS_LIMIT",
|
|
64
|
+
defaultValue: "512",
|
|
65
|
+
secret: false,
|
|
66
|
+
description: "Max PIDs per sandbox (fork bomb protection)",
|
|
67
|
+
required: false
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
key: "OPENSANDBOX_NO_NEW_PRIVILEGES",
|
|
71
|
+
defaultValue: "true",
|
|
72
|
+
secret: false,
|
|
73
|
+
description: "Security: prevent privilege escalation in sandboxes",
|
|
74
|
+
required: false
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
key: "OPENSANDBOX_SECURE_RUNTIME",
|
|
78
|
+
defaultValue: "gvisor",
|
|
79
|
+
secret: false,
|
|
80
|
+
description: "Secure container runtime (gVisor for sandbox isolation)",
|
|
81
|
+
required: false
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
healthcheck: {
|
|
85
|
+
test: "curl --fail http://localhost:8080/health || exit 1",
|
|
86
|
+
interval: "30s",
|
|
87
|
+
timeout: "10s",
|
|
88
|
+
retries: 3,
|
|
89
|
+
startPeriod: "15s"
|
|
90
|
+
},
|
|
91
|
+
dependsOn: [],
|
|
92
|
+
restartPolicy: "unless-stopped",
|
|
93
|
+
networks: ["openclaw-network"],
|
|
94
|
+
skills: [{
|
|
95
|
+
skillId: "code-sandbox",
|
|
96
|
+
autoInstall: true
|
|
97
|
+
}],
|
|
98
|
+
openclawEnvVars: [
|
|
99
|
+
{
|
|
100
|
+
key: "OPENSANDBOX_HOST",
|
|
101
|
+
defaultValue: "opensandbox",
|
|
102
|
+
secret: false,
|
|
103
|
+
description: "OpenSandbox hostname for OpenClaw",
|
|
104
|
+
required: true
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
key: "OPENSANDBOX_PORT",
|
|
108
|
+
defaultValue: "8080",
|
|
109
|
+
secret: false,
|
|
110
|
+
description: "OpenSandbox port for OpenClaw",
|
|
111
|
+
required: true
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
key: "OPENSANDBOX_API_KEY",
|
|
115
|
+
defaultValue: "${OPEN_SANDBOX_API_KEY}",
|
|
116
|
+
secret: true,
|
|
117
|
+
description: "OpenSandbox API key for OpenClaw",
|
|
118
|
+
required: true
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
docsUrl: "https://github.com/anthropics/OpenSandbox",
|
|
122
|
+
tags: [
|
|
123
|
+
"sandbox",
|
|
124
|
+
"code-execution",
|
|
125
|
+
"security",
|
|
126
|
+
"ai-agent",
|
|
127
|
+
"isolation"
|
|
128
|
+
],
|
|
129
|
+
maturity: "stable",
|
|
130
|
+
requires: [],
|
|
131
|
+
recommends: [],
|
|
132
|
+
conflictsWith: [],
|
|
133
|
+
minMemoryMB: 768,
|
|
134
|
+
gpuRequired: false,
|
|
135
|
+
capDropCompatible: true,
|
|
136
|
+
proxyPath: "/sandbox",
|
|
137
|
+
envQuirks: [{
|
|
138
|
+
key: "OPEN_SANDBOX_API_KEY",
|
|
139
|
+
issue: "min_length",
|
|
140
|
+
fix: {
|
|
141
|
+
type: "generate_base64url",
|
|
142
|
+
minBytes: 32
|
|
143
|
+
}
|
|
144
|
+
}]
|
|
145
|
+
};
|
|
146
|
+
//#endregion
|
|
147
|
+
exports.opensandboxDefinition = opensandboxDefinition;
|
|
148
|
+
|
|
149
|
+
//# sourceMappingURL=opensandbox.cjs.map
|