@better-openclaw/core 1.0.22 → 1.0.23
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/composer.cjs +27 -13
- package/dist/composer.cjs.map +1 -1
- package/dist/composer.d.cts.map +1 -1
- package/dist/composer.d.mts.map +1 -1
- package/dist/composer.mjs +27 -13
- package/dist/composer.mjs.map +1 -1
- package/dist/generate.cjs +1 -0
- package/dist/generate.cjs.map +1 -1
- package/dist/generate.d.cts.map +1 -1
- package/dist/generate.d.mts.map +1 -1
- package/dist/generate.mjs +1 -0
- package/dist/generate.mjs.map +1 -1
- package/dist/generators/env.cjs +146 -0
- package/dist/generators/env.cjs.map +1 -1
- package/dist/generators/env.d.cts.map +1 -1
- package/dist/generators/env.d.mts.map +1 -1
- package/dist/generators/env.mjs +146 -0
- package/dist/generators/env.mjs.map +1 -1
- package/dist/generators/openclaw-json.cjs +102 -7
- package/dist/generators/openclaw-json.cjs.map +1 -1
- package/dist/generators/openclaw-json.mjs +102 -7
- package/dist/generators/openclaw-json.mjs.map +1 -1
- package/dist/generators/readme.cjs +2 -1
- package/dist/generators/readme.cjs.map +1 -1
- package/dist/generators/readme.mjs +2 -1
- package/dist/generators/readme.mjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/presets/registry.cjs +19 -0
- package/dist/presets/registry.cjs.map +1 -1
- package/dist/presets/registry.d.cts.map +1 -1
- package/dist/presets/registry.d.mts.map +1 -1
- package/dist/presets/registry.mjs +19 -0
- package/dist/presets/registry.mjs.map +1 -1
- package/dist/{schema-C_hc7e4k.d.cts → schema-B4c64P8N.d.cts} +17 -1
- package/dist/schema-B4c64P8N.d.cts.map +1 -0
- package/dist/{schema-CaesJaS2.d.mts → schema-CXNhYci1.d.mts} +17 -1
- package/dist/schema-CXNhYci1.d.mts.map +1 -0
- package/dist/schema.cjs +5 -1
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.cts +1 -1
- package/dist/schema.d.mts +1 -1
- package/dist/schema.mjs +5 -1
- package/dist/schema.mjs.map +1 -1
- package/dist/services/definitions/adguard-home.cjs +74 -0
- package/dist/services/definitions/adguard-home.cjs.map +1 -0
- package/dist/services/definitions/adguard-home.d.cts +7 -0
- package/dist/services/definitions/adguard-home.d.cts.map +1 -0
- package/dist/services/definitions/adguard-home.d.mts +7 -0
- package/dist/services/definitions/adguard-home.d.mts.map +1 -0
- package/dist/services/definitions/adguard-home.mjs +73 -0
- package/dist/services/definitions/adguard-home.mjs.map +1 -0
- package/dist/services/definitions/audiobookshelf.cjs +81 -0
- package/dist/services/definitions/audiobookshelf.cjs.map +1 -0
- package/dist/services/definitions/audiobookshelf.d.cts +7 -0
- package/dist/services/definitions/audiobookshelf.d.cts.map +1 -0
- package/dist/services/definitions/audiobookshelf.d.mts +7 -0
- package/dist/services/definitions/audiobookshelf.d.mts.map +1 -0
- package/dist/services/definitions/audiobookshelf.mjs +80 -0
- package/dist/services/definitions/audiobookshelf.mjs.map +1 -0
- package/dist/services/definitions/baserow.cjs +115 -0
- package/dist/services/definitions/baserow.cjs.map +1 -0
- package/dist/services/definitions/baserow.d.cts +7 -0
- package/dist/services/definitions/baserow.d.cts.map +1 -0
- package/dist/services/definitions/baserow.d.mts +7 -0
- package/dist/services/definitions/baserow.d.mts.map +1 -0
- package/dist/services/definitions/baserow.mjs +114 -0
- package/dist/services/definitions/baserow.mjs.map +1 -0
- package/dist/services/definitions/calibre-web.cjs +91 -0
- package/dist/services/definitions/calibre-web.cjs.map +1 -0
- package/dist/services/definitions/calibre-web.d.cts +7 -0
- package/dist/services/definitions/calibre-web.d.cts.map +1 -0
- package/dist/services/definitions/calibre-web.d.mts +7 -0
- package/dist/services/definitions/calibre-web.d.mts.map +1 -0
- package/dist/services/definitions/calibre-web.mjs +90 -0
- package/dist/services/definitions/calibre-web.mjs.map +1 -0
- package/dist/services/definitions/clickhouse.cjs +113 -0
- package/dist/services/definitions/clickhouse.cjs.map +1 -0
- package/dist/services/definitions/clickhouse.d.cts +7 -0
- package/dist/services/definitions/clickhouse.d.cts.map +1 -0
- package/dist/services/definitions/clickhouse.d.mts +7 -0
- package/dist/services/definitions/clickhouse.d.mts.map +1 -0
- package/dist/services/definitions/clickhouse.mjs +112 -0
- package/dist/services/definitions/clickhouse.mjs.map +1 -0
- package/dist/services/definitions/cloudflared.cjs +55 -0
- package/dist/services/definitions/cloudflared.cjs.map +1 -0
- package/dist/services/definitions/cloudflared.d.cts +7 -0
- package/dist/services/definitions/cloudflared.d.cts.map +1 -0
- package/dist/services/definitions/cloudflared.d.mts +7 -0
- package/dist/services/definitions/cloudflared.d.mts.map +1 -0
- package/dist/services/definitions/cloudflared.mjs +54 -0
- package/dist/services/definitions/cloudflared.mjs.map +1 -0
- package/dist/services/definitions/cockroachdb.cjs +70 -0
- package/dist/services/definitions/cockroachdb.cjs.map +1 -0
- package/dist/services/definitions/cockroachdb.d.cts +7 -0
- package/dist/services/definitions/cockroachdb.d.cts.map +1 -0
- package/dist/services/definitions/cockroachdb.d.mts +7 -0
- package/dist/services/definitions/cockroachdb.d.mts.map +1 -0
- package/dist/services/definitions/cockroachdb.mjs +69 -0
- package/dist/services/definitions/cockroachdb.mjs.map +1 -0
- package/dist/services/definitions/coder.cjs +64 -0
- package/dist/services/definitions/coder.cjs.map +1 -0
- package/dist/services/definitions/coder.d.cts +7 -0
- package/dist/services/definitions/coder.d.cts.map +1 -0
- package/dist/services/definitions/coder.d.mts +7 -0
- package/dist/services/definitions/coder.d.mts.map +1 -0
- package/dist/services/definitions/coder.mjs +63 -0
- package/dist/services/definitions/coder.mjs.map +1 -0
- package/dist/services/definitions/dragonfly.cjs +64 -0
- package/dist/services/definitions/dragonfly.cjs.map +1 -0
- package/dist/services/definitions/dragonfly.d.cts +7 -0
- package/dist/services/definitions/dragonfly.d.cts.map +1 -0
- package/dist/services/definitions/dragonfly.d.mts +7 -0
- package/dist/services/definitions/dragonfly.d.mts.map +1 -0
- package/dist/services/definitions/dragonfly.mjs +63 -0
- package/dist/services/definitions/dragonfly.mjs.map +1 -0
- package/dist/services/definitions/drone-ci.cjs +95 -0
- package/dist/services/definitions/drone-ci.cjs.map +1 -0
- package/dist/services/definitions/drone-ci.d.cts +7 -0
- package/dist/services/definitions/drone-ci.d.cts.map +1 -0
- package/dist/services/definitions/drone-ci.d.mts +7 -0
- package/dist/services/definitions/drone-ci.d.mts.map +1 -0
- package/dist/services/definitions/drone-ci.mjs +94 -0
- package/dist/services/definitions/drone-ci.mjs.map +1 -0
- package/dist/services/definitions/element-web.cjs +61 -0
- package/dist/services/definitions/element-web.cjs.map +1 -0
- package/dist/services/definitions/element-web.d.cts +7 -0
- package/dist/services/definitions/element-web.d.cts.map +1 -0
- package/dist/services/definitions/element-web.d.mts +7 -0
- package/dist/services/definitions/element-web.d.mts.map +1 -0
- package/dist/services/definitions/element-web.mjs +60 -0
- package/dist/services/definitions/element-web.mjs.map +1 -0
- package/dist/services/definitions/focalboard.cjs +65 -0
- package/dist/services/definitions/focalboard.cjs.map +1 -0
- package/dist/services/definitions/focalboard.d.cts +7 -0
- package/dist/services/definitions/focalboard.d.cts.map +1 -0
- package/dist/services/definitions/focalboard.d.mts +7 -0
- package/dist/services/definitions/focalboard.d.mts.map +1 -0
- package/dist/services/definitions/focalboard.mjs +64 -0
- package/dist/services/definitions/focalboard.mjs.map +1 -0
- package/dist/services/definitions/forgejo.cjs +108 -0
- package/dist/services/definitions/forgejo.cjs.map +1 -0
- package/dist/services/definitions/forgejo.d.cts +7 -0
- package/dist/services/definitions/forgejo.d.cts.map +1 -0
- package/dist/services/definitions/forgejo.d.mts +7 -0
- package/dist/services/definitions/forgejo.d.mts.map +1 -0
- package/dist/services/definitions/forgejo.mjs +107 -0
- package/dist/services/definitions/forgejo.mjs.map +1 -0
- package/dist/services/definitions/graylog.cjs +103 -0
- package/dist/services/definitions/graylog.cjs.map +1 -0
- package/dist/services/definitions/graylog.d.cts +7 -0
- package/dist/services/definitions/graylog.d.cts.map +1 -0
- package/dist/services/definitions/graylog.d.mts +7 -0
- package/dist/services/definitions/graylog.d.mts.map +1 -0
- package/dist/services/definitions/graylog.mjs +102 -0
- package/dist/services/definitions/graylog.mjs.map +1 -0
- package/dist/services/definitions/index.cjs +139 -1
- package/dist/services/definitions/index.cjs.map +1 -1
- package/dist/services/definitions/index.d.cts +47 -1
- package/dist/services/definitions/index.d.cts.map +1 -1
- package/dist/services/definitions/index.d.mts +47 -1
- package/dist/services/definitions/index.d.mts.map +1 -1
- package/dist/services/definitions/index.mjs +94 -2
- package/dist/services/definitions/index.mjs.map +1 -1
- package/dist/services/definitions/influxdb.cjs +105 -0
- package/dist/services/definitions/influxdb.cjs.map +1 -0
- package/dist/services/definitions/influxdb.d.cts +7 -0
- package/dist/services/definitions/influxdb.d.cts.map +1 -0
- package/dist/services/definitions/influxdb.d.mts +7 -0
- package/dist/services/definitions/influxdb.d.mts.map +1 -0
- package/dist/services/definitions/influxdb.mjs +104 -0
- package/dist/services/definitions/influxdb.mjs.map +1 -0
- package/dist/services/definitions/invoke-ai.cjs +70 -0
- package/dist/services/definitions/invoke-ai.cjs.map +1 -0
- package/dist/services/definitions/invoke-ai.d.cts +7 -0
- package/dist/services/definitions/invoke-ai.d.cts.map +1 -0
- package/dist/services/definitions/invoke-ai.d.mts +7 -0
- package/dist/services/definitions/invoke-ai.d.mts.map +1 -0
- package/dist/services/definitions/invoke-ai.mjs +69 -0
- package/dist/services/definitions/invoke-ai.mjs.map +1 -0
- package/dist/services/definitions/jaeger.cjs +95 -0
- package/dist/services/definitions/jaeger.cjs.map +1 -0
- package/dist/services/definitions/jaeger.d.cts +7 -0
- package/dist/services/definitions/jaeger.d.cts.map +1 -0
- package/dist/services/definitions/jaeger.d.mts +7 -0
- package/dist/services/definitions/jaeger.d.mts.map +1 -0
- package/dist/services/definitions/jaeger.mjs +94 -0
- package/dist/services/definitions/jaeger.mjs.map +1 -0
- package/dist/services/definitions/jan.cjs +64 -0
- package/dist/services/definitions/jan.cjs.map +1 -0
- package/dist/services/definitions/jan.d.cts +7 -0
- package/dist/services/definitions/jan.d.cts.map +1 -0
- package/dist/services/definitions/jan.d.mts +7 -0
- package/dist/services/definitions/jan.d.mts.map +1 -0
- package/dist/services/definitions/jan.mjs +63 -0
- package/dist/services/definitions/jan.mjs.map +1 -0
- package/dist/services/definitions/jitsi-meet.cjs +102 -0
- package/dist/services/definitions/jitsi-meet.cjs.map +1 -0
- package/dist/services/definitions/jitsi-meet.d.cts +7 -0
- package/dist/services/definitions/jitsi-meet.d.cts.map +1 -0
- package/dist/services/definitions/jitsi-meet.d.mts +7 -0
- package/dist/services/definitions/jitsi-meet.d.mts.map +1 -0
- package/dist/services/definitions/jitsi-meet.mjs +101 -0
- package/dist/services/definitions/jitsi-meet.mjs.map +1 -0
- package/dist/services/definitions/local-ai.cjs +86 -0
- package/dist/services/definitions/local-ai.cjs.map +1 -0
- package/dist/services/definitions/local-ai.d.cts +7 -0
- package/dist/services/definitions/local-ai.d.cts.map +1 -0
- package/dist/services/definitions/local-ai.d.mts +7 -0
- package/dist/services/definitions/local-ai.d.mts.map +1 -0
- package/dist/services/definitions/local-ai.mjs +85 -0
- package/dist/services/definitions/local-ai.mjs.map +1 -0
- package/dist/services/definitions/metabase.cjs +108 -0
- package/dist/services/definitions/metabase.cjs.map +1 -0
- package/dist/services/definitions/metabase.d.cts +7 -0
- package/dist/services/definitions/metabase.d.cts.map +1 -0
- package/dist/services/definitions/metabase.d.mts +7 -0
- package/dist/services/definitions/metabase.d.mts.map +1 -0
- package/dist/services/definitions/metabase.mjs +107 -0
- package/dist/services/definitions/metabase.mjs.map +1 -0
- package/dist/services/definitions/mosquitto.cjs +82 -0
- package/dist/services/definitions/mosquitto.cjs.map +1 -0
- package/dist/services/definitions/mosquitto.d.cts +7 -0
- package/dist/services/definitions/mosquitto.d.cts.map +1 -0
- package/dist/services/definitions/mosquitto.d.mts +7 -0
- package/dist/services/definitions/mosquitto.d.mts.map +1 -0
- package/dist/services/definitions/mosquitto.mjs +81 -0
- package/dist/services/definitions/mosquitto.mjs.map +1 -0
- package/dist/services/definitions/navidrome.cjs +90 -0
- package/dist/services/definitions/navidrome.cjs.map +1 -0
- package/dist/services/definitions/navidrome.d.cts +7 -0
- package/dist/services/definitions/navidrome.d.cts.map +1 -0
- package/dist/services/definitions/navidrome.d.mts +7 -0
- package/dist/services/definitions/navidrome.d.mts.map +1 -0
- package/dist/services/definitions/navidrome.mjs +89 -0
- package/dist/services/definitions/navidrome.mjs.map +1 -0
- package/dist/services/definitions/nginx-proxy-manager.cjs +71 -0
- package/dist/services/definitions/nginx-proxy-manager.cjs.map +1 -0
- package/dist/services/definitions/nginx-proxy-manager.d.cts +7 -0
- package/dist/services/definitions/nginx-proxy-manager.d.cts.map +1 -0
- package/dist/services/definitions/nginx-proxy-manager.d.mts +7 -0
- package/dist/services/definitions/nginx-proxy-manager.d.mts.map +1 -0
- package/dist/services/definitions/nginx-proxy-manager.mjs +70 -0
- package/dist/services/definitions/nginx-proxy-manager.mjs.map +1 -0
- package/dist/services/definitions/node-red.cjs +77 -0
- package/dist/services/definitions/node-red.cjs.map +1 -0
- package/dist/services/definitions/node-red.d.cts +7 -0
- package/dist/services/definitions/node-red.d.cts.map +1 -0
- package/dist/services/definitions/node-red.d.mts +7 -0
- package/dist/services/definitions/node-red.d.mts.map +1 -0
- package/dist/services/definitions/node-red.mjs +76 -0
- package/dist/services/definitions/node-red.mjs.map +1 -0
- package/dist/services/definitions/photoprism.cjs +126 -0
- package/dist/services/definitions/photoprism.cjs.map +1 -0
- package/dist/services/definitions/photoprism.d.cts +7 -0
- package/dist/services/definitions/photoprism.d.cts.map +1 -0
- package/dist/services/definitions/photoprism.d.mts +7 -0
- package/dist/services/definitions/photoprism.d.mts.map +1 -0
- package/dist/services/definitions/photoprism.mjs +125 -0
- package/dist/services/definitions/photoprism.mjs.map +1 -0
- package/dist/services/definitions/pihole.cjs +73 -0
- package/dist/services/definitions/pihole.cjs.map +1 -0
- package/dist/services/definitions/pihole.d.cts +7 -0
- package/dist/services/definitions/pihole.d.cts.map +1 -0
- package/dist/services/definitions/pihole.d.mts +7 -0
- package/dist/services/definitions/pihole.d.mts.map +1 -0
- package/dist/services/definitions/pihole.mjs +72 -0
- package/dist/services/definitions/pihole.mjs.map +1 -0
- package/dist/services/definitions/piper-tts.cjs +70 -0
- package/dist/services/definitions/piper-tts.cjs.map +1 -0
- package/dist/services/definitions/piper-tts.d.cts +7 -0
- package/dist/services/definitions/piper-tts.d.cts.map +1 -0
- package/dist/services/definitions/piper-tts.d.mts +7 -0
- package/dist/services/definitions/piper-tts.d.mts.map +1 -0
- package/dist/services/definitions/piper-tts.mjs +69 -0
- package/dist/services/definitions/piper-tts.mjs.map +1 -0
- package/dist/services/definitions/plane.cjs +75 -0
- package/dist/services/definitions/plane.cjs.map +1 -0
- package/dist/services/definitions/plane.d.cts +7 -0
- package/dist/services/definitions/plane.d.cts.map +1 -0
- package/dist/services/definitions/plane.d.mts +7 -0
- package/dist/services/definitions/plane.d.mts.map +1 -0
- package/dist/services/definitions/plane.mjs +74 -0
- package/dist/services/definitions/plane.mjs.map +1 -0
- package/dist/services/definitions/plausible.cjs +94 -0
- package/dist/services/definitions/plausible.cjs.map +1 -0
- package/dist/services/definitions/plausible.d.cts +7 -0
- package/dist/services/definitions/plausible.d.cts.map +1 -0
- package/dist/services/definitions/plausible.d.mts +7 -0
- package/dist/services/definitions/plausible.d.mts.map +1 -0
- package/dist/services/definitions/plausible.mjs +93 -0
- package/dist/services/definitions/plausible.mjs.map +1 -0
- package/dist/services/definitions/pocket-id.cjs +101 -0
- package/dist/services/definitions/pocket-id.cjs.map +1 -0
- package/dist/services/definitions/pocket-id.d.cts +7 -0
- package/dist/services/definitions/pocket-id.d.cts.map +1 -0
- package/dist/services/definitions/pocket-id.d.mts +7 -0
- package/dist/services/definitions/pocket-id.d.mts.map +1 -0
- package/dist/services/definitions/pocket-id.mjs +100 -0
- package/dist/services/definitions/pocket-id.mjs.map +1 -0
- package/dist/services/definitions/posthog.cjs +94 -0
- package/dist/services/definitions/posthog.cjs.map +1 -0
- package/dist/services/definitions/posthog.d.cts +7 -0
- package/dist/services/definitions/posthog.d.cts.map +1 -0
- package/dist/services/definitions/posthog.d.mts +7 -0
- package/dist/services/definitions/posthog.d.mts.map +1 -0
- package/dist/services/definitions/posthog.mjs +93 -0
- package/dist/services/definitions/posthog.mjs.map +1 -0
- package/dist/services/definitions/redis.cjs +1 -1
- package/dist/services/definitions/redis.cjs.map +1 -1
- package/dist/services/definitions/redis.mjs +1 -1
- package/dist/services/definitions/redis.mjs.map +1 -1
- package/dist/services/definitions/revolt.cjs +64 -0
- package/dist/services/definitions/revolt.cjs.map +1 -0
- package/dist/services/definitions/revolt.d.cts +7 -0
- package/dist/services/definitions/revolt.d.cts.map +1 -0
- package/dist/services/definitions/revolt.d.mts +7 -0
- package/dist/services/definitions/revolt.d.mts.map +1 -0
- package/dist/services/definitions/revolt.mjs +63 -0
- package/dist/services/definitions/revolt.mjs.map +1 -0
- package/dist/services/definitions/sentry.cjs +101 -0
- package/dist/services/definitions/sentry.cjs.map +1 -0
- package/dist/services/definitions/sentry.d.cts +7 -0
- package/dist/services/definitions/sentry.d.cts.map +1 -0
- package/dist/services/definitions/sentry.d.mts +7 -0
- package/dist/services/definitions/sentry.d.mts.map +1 -0
- package/dist/services/definitions/sentry.mjs +100 -0
- package/dist/services/definitions/sentry.mjs.map +1 -0
- package/dist/services/definitions/sonarqube.cjs +86 -0
- package/dist/services/definitions/sonarqube.cjs.map +1 -0
- package/dist/services/definitions/sonarqube.d.cts +7 -0
- package/dist/services/definitions/sonarqube.d.cts.map +1 -0
- package/dist/services/definitions/sonarqube.d.mts +7 -0
- package/dist/services/definitions/sonarqube.d.mts.map +1 -0
- package/dist/services/definitions/sonarqube.mjs +85 -0
- package/dist/services/definitions/sonarqube.mjs.map +1 -0
- package/dist/services/definitions/superset.cjs +77 -0
- package/dist/services/definitions/superset.cjs.map +1 -0
- package/dist/services/definitions/superset.d.cts +7 -0
- package/dist/services/definitions/superset.d.cts.map +1 -0
- package/dist/services/definitions/superset.d.mts +7 -0
- package/dist/services/definitions/superset.d.mts.map +1 -0
- package/dist/services/definitions/superset.mjs +76 -0
- package/dist/services/definitions/superset.mjs.map +1 -0
- package/dist/services/definitions/surrealdb.cjs +72 -0
- package/dist/services/definitions/surrealdb.cjs.map +1 -0
- package/dist/services/definitions/surrealdb.d.cts +7 -0
- package/dist/services/definitions/surrealdb.d.cts.map +1 -0
- package/dist/services/definitions/surrealdb.d.mts +7 -0
- package/dist/services/definitions/surrealdb.d.mts.map +1 -0
- package/dist/services/definitions/surrealdb.mjs +71 -0
- package/dist/services/definitions/surrealdb.mjs.map +1 -0
- package/dist/services/definitions/tabby-ml.cjs +70 -0
- package/dist/services/definitions/tabby-ml.cjs.map +1 -0
- package/dist/services/definitions/tabby-ml.d.cts +7 -0
- package/dist/services/definitions/tabby-ml.d.cts.map +1 -0
- package/dist/services/definitions/tabby-ml.d.mts +7 -0
- package/dist/services/definitions/tabby-ml.d.mts.map +1 -0
- package/dist/services/definitions/tabby-ml.mjs +69 -0
- package/dist/services/definitions/tabby-ml.mjs.map +1 -0
- package/dist/services/definitions/tempo.cjs +57 -0
- package/dist/services/definitions/tempo.cjs.map +1 -0
- package/dist/services/definitions/tempo.d.cts +7 -0
- package/dist/services/definitions/tempo.d.cts.map +1 -0
- package/dist/services/definitions/tempo.d.mts +7 -0
- package/dist/services/definitions/tempo.d.mts.map +1 -0
- package/dist/services/definitions/tempo.mjs +56 -0
- package/dist/services/definitions/tempo.mjs.map +1 -0
- package/dist/services/definitions/text-gen-webui.cjs +88 -0
- package/dist/services/definitions/text-gen-webui.cjs.map +1 -0
- package/dist/services/definitions/text-gen-webui.d.cts +7 -0
- package/dist/services/definitions/text-gen-webui.d.cts.map +1 -0
- package/dist/services/definitions/text-gen-webui.d.mts +7 -0
- package/dist/services/definitions/text-gen-webui.d.mts.map +1 -0
- package/dist/services/definitions/text-gen-webui.mjs +87 -0
- package/dist/services/definitions/text-gen-webui.mjs.map +1 -0
- package/dist/services/definitions/timescaledb.cjs +87 -0
- package/dist/services/definitions/timescaledb.cjs.map +1 -0
- package/dist/services/definitions/timescaledb.d.cts +7 -0
- package/dist/services/definitions/timescaledb.d.cts.map +1 -0
- package/dist/services/definitions/timescaledb.d.mts +7 -0
- package/dist/services/definitions/timescaledb.d.mts.map +1 -0
- package/dist/services/definitions/timescaledb.mjs +86 -0
- package/dist/services/definitions/timescaledb.mjs.map +1 -0
- package/dist/services/definitions/valkey.cjs +1 -1
- package/dist/services/definitions/valkey.cjs.map +1 -1
- package/dist/services/definitions/valkey.mjs +1 -1
- package/dist/services/definitions/valkey.mjs.map +1 -1
- package/dist/services/definitions/vector-log.cjs +59 -0
- package/dist/services/definitions/vector-log.cjs.map +1 -0
- package/dist/services/definitions/vector-log.d.cts +7 -0
- package/dist/services/definitions/vector-log.d.cts.map +1 -0
- package/dist/services/definitions/vector-log.d.mts +7 -0
- package/dist/services/definitions/vector-log.d.mts.map +1 -0
- package/dist/services/definitions/vector-log.mjs +58 -0
- package/dist/services/definitions/vector-log.mjs.map +1 -0
- package/dist/services/definitions/vikunja.cjs +96 -0
- package/dist/services/definitions/vikunja.cjs.map +1 -0
- package/dist/services/definitions/vikunja.d.cts +7 -0
- package/dist/services/definitions/vikunja.d.cts.map +1 -0
- package/dist/services/definitions/vikunja.d.mts +7 -0
- package/dist/services/definitions/vikunja.d.mts.map +1 -0
- package/dist/services/definitions/vikunja.mjs +95 -0
- package/dist/services/definitions/vikunja.mjs.map +1 -0
- package/dist/services/definitions/wireguard.cjs +88 -0
- package/dist/services/definitions/wireguard.cjs.map +1 -0
- package/dist/services/definitions/wireguard.d.cts +7 -0
- package/dist/services/definitions/wireguard.d.cts.map +1 -0
- package/dist/services/definitions/wireguard.d.mts +7 -0
- package/dist/services/definitions/wireguard.d.mts.map +1 -0
- package/dist/services/definitions/wireguard.mjs +87 -0
- package/dist/services/definitions/wireguard.mjs.map +1 -0
- package/dist/services/definitions/woodpecker-ci.cjs +93 -0
- package/dist/services/definitions/woodpecker-ci.cjs.map +1 -0
- package/dist/services/definitions/woodpecker-ci.d.cts +7 -0
- package/dist/services/definitions/woodpecker-ci.d.cts.map +1 -0
- package/dist/services/definitions/woodpecker-ci.d.mts +7 -0
- package/dist/services/definitions/woodpecker-ci.d.mts.map +1 -0
- package/dist/services/definitions/woodpecker-ci.mjs +92 -0
- package/dist/services/definitions/woodpecker-ci.mjs.map +1 -0
- package/dist/services/definitions/zulip.cjs +116 -0
- package/dist/services/definitions/zulip.cjs.map +1 -0
- package/dist/services/definitions/zulip.d.cts +7 -0
- package/dist/services/definitions/zulip.d.cts.map +1 -0
- package/dist/services/definitions/zulip.d.mts +7 -0
- package/dist/services/definitions/zulip.d.mts.map +1 -0
- package/dist/services/definitions/zulip.mjs +115 -0
- package/dist/services/definitions/zulip.mjs.map +1 -0
- package/dist/types.cjs +28 -0
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +2 -1
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +2 -1
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +28 -0
- package/dist/types.mjs.map +1 -1
- package/package.json +1 -1
- package/src/__snapshots__/composer.snapshot.test.ts.snap +130 -65
- package/src/composer.ts +25 -15
- package/src/generate.ts +1 -0
- package/src/generators/env.ts +214 -0
- package/src/generators/openclaw-json.ts +156 -1
- package/src/generators/readme.ts +2 -1
- package/src/presets/registry.ts +329 -221
- package/src/schema.ts +4 -0
- package/src/services/definitions/adguard-home.ts +79 -0
- package/src/services/definitions/audiobookshelf.ts +83 -0
- package/src/services/definitions/baserow.ts +118 -0
- package/src/services/definitions/calibre-web.ts +95 -0
- package/src/services/definitions/clickhouse.ts +115 -0
- package/src/services/definitions/cloudflared.ts +55 -0
- package/src/services/definitions/cockroachdb.ts +75 -0
- package/src/services/definitions/coder.ts +68 -0
- package/src/services/definitions/dragonfly.ts +68 -0
- package/src/services/definitions/drone-ci.ts +96 -0
- package/src/services/definitions/element-web.ts +62 -0
- package/src/services/definitions/focalboard.ts +69 -0
- package/src/services/definitions/forgejo.ts +109 -0
- package/src/services/definitions/graylog.ts +101 -0
- package/src/services/definitions/index.ts +139 -0
- package/src/services/definitions/influxdb.ts +109 -0
- package/src/services/definitions/invoke-ai.ts +76 -0
- package/src/services/definitions/jaeger.ts +94 -0
- package/src/services/definitions/jan.ts +68 -0
- package/src/services/definitions/jitsi-meet.ts +108 -0
- package/src/services/definitions/local-ai.ts +90 -0
- package/src/services/definitions/metabase.ts +111 -0
- package/src/services/definitions/mosquitto.ts +84 -0
- package/src/services/definitions/navidrome.ts +95 -0
- package/src/services/definitions/nginx-proxy-manager.ts +70 -0
- package/src/services/definitions/node-red.ts +83 -0
- package/src/services/definitions/photoprism.ts +130 -0
- package/src/services/definitions/pihole.ts +79 -0
- package/src/services/definitions/piper-tts.ts +76 -0
- package/src/services/definitions/plane.ts +75 -0
- package/src/services/definitions/plausible.ts +97 -0
- package/src/services/definitions/pocket-id.ts +98 -0
- package/src/services/definitions/posthog.ts +97 -0
- package/src/services/definitions/redis.ts +1 -1
- package/src/services/definitions/revolt.ts +68 -0
- package/src/services/definitions/sentry.ts +104 -0
- package/src/services/definitions/sonarqube.ts +85 -0
- package/src/services/definitions/superset.ts +84 -0
- package/src/services/definitions/surrealdb.ts +77 -0
- package/src/services/definitions/tabby-ml.ts +76 -0
- package/src/services/definitions/tempo.ts +59 -0
- package/src/services/definitions/text-gen-webui.ts +92 -0
- package/src/services/definitions/timescaledb.ts +90 -0
- package/src/services/definitions/valkey.ts +1 -1
- package/src/services/definitions/vector-log.ts +61 -0
- package/src/services/definitions/vikunja.ts +96 -0
- package/src/services/definitions/wireguard.ts +89 -0
- package/src/services/definitions/woodpecker-ci.ts +97 -0
- package/src/services/definitions/zulip.ts +117 -0
- package/src/types.ts +29 -0
- package/dist/schema-C_hc7e4k.d.cts.map +0 -1
- package/dist/schema-CaesJaS2.d.mts.map +0 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
//#region src/services/definitions/node-red.ts
|
|
2
|
+
const nodeRedDefinition = {
|
|
3
|
+
id: "node-red",
|
|
4
|
+
name: "Node-RED",
|
|
5
|
+
description: "Flow-based visual programming tool for wiring together IoT devices, APIs, and online services with a browser-based editor.",
|
|
6
|
+
category: "iot",
|
|
7
|
+
icon: "🔴",
|
|
8
|
+
image: "nodered/node-red",
|
|
9
|
+
imageTag: "latest",
|
|
10
|
+
ports: [{
|
|
11
|
+
host: 1880,
|
|
12
|
+
container: 1880,
|
|
13
|
+
description: "Node-RED editor and API",
|
|
14
|
+
exposed: true
|
|
15
|
+
}],
|
|
16
|
+
volumes: [{
|
|
17
|
+
name: "nodered-data",
|
|
18
|
+
containerPath: "/data",
|
|
19
|
+
description: "Node-RED flows and configuration"
|
|
20
|
+
}],
|
|
21
|
+
environment: [{
|
|
22
|
+
key: "TZ",
|
|
23
|
+
defaultValue: "UTC",
|
|
24
|
+
secret: false,
|
|
25
|
+
description: "Timezone",
|
|
26
|
+
required: false
|
|
27
|
+
}, {
|
|
28
|
+
key: "NODE_RED_CREDENTIAL_SECRET",
|
|
29
|
+
defaultValue: "",
|
|
30
|
+
secret: true,
|
|
31
|
+
description: "Encryption key for credentials",
|
|
32
|
+
required: true
|
|
33
|
+
}],
|
|
34
|
+
healthcheck: {
|
|
35
|
+
test: "curl -sf http://localhost:1880/ || exit 1",
|
|
36
|
+
interval: "30s",
|
|
37
|
+
timeout: "10s",
|
|
38
|
+
retries: 3,
|
|
39
|
+
startPeriod: "15s"
|
|
40
|
+
},
|
|
41
|
+
dependsOn: [],
|
|
42
|
+
restartPolicy: "unless-stopped",
|
|
43
|
+
networks: ["openclaw-network"],
|
|
44
|
+
skills: [],
|
|
45
|
+
openclawEnvVars: [{
|
|
46
|
+
key: "NODERED_HOST",
|
|
47
|
+
defaultValue: "node-red",
|
|
48
|
+
secret: false,
|
|
49
|
+
description: "Node-RED hostname",
|
|
50
|
+
required: false
|
|
51
|
+
}, {
|
|
52
|
+
key: "NODERED_PORT",
|
|
53
|
+
defaultValue: "1880",
|
|
54
|
+
secret: false,
|
|
55
|
+
description: "Node-RED port",
|
|
56
|
+
required: false
|
|
57
|
+
}],
|
|
58
|
+
docsUrl: "https://nodered.org/docs/",
|
|
59
|
+
tags: [
|
|
60
|
+
"iot",
|
|
61
|
+
"flow-based",
|
|
62
|
+
"visual-programming",
|
|
63
|
+
"automation",
|
|
64
|
+
"mqtt"
|
|
65
|
+
],
|
|
66
|
+
maturity: "stable",
|
|
67
|
+
requires: [],
|
|
68
|
+
recommends: ["mosquitto", "homeassistant"],
|
|
69
|
+
conflictsWith: [],
|
|
70
|
+
minMemoryMB: 256,
|
|
71
|
+
gpuRequired: false
|
|
72
|
+
};
|
|
73
|
+
//#endregion
|
|
74
|
+
export { nodeRedDefinition };
|
|
75
|
+
|
|
76
|
+
//# sourceMappingURL=node-red.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-red.mjs","names":[],"sources":["../../../src/services/definitions/node-red.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const nodeRedDefinition: ServiceDefinition = {\n\tid: \"node-red\",\n\tname: \"Node-RED\",\n\tdescription:\n\t\t\"Flow-based visual programming tool for wiring together IoT devices, APIs, and online services with a browser-based editor.\",\n\tcategory: \"iot\",\n\ticon: \"🔴\",\n\n\timage: \"nodered/node-red\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 1880,\n\t\t\tcontainer: 1880,\n\t\t\tdescription: \"Node-RED editor and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"nodered-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Node-RED flows and configuration\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"TZ\",\n\t\t\tdefaultValue: \"UTC\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Timezone\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"NODE_RED_CREDENTIAL_SECRET\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Encryption key for credentials\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:1880/ || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"NODERED_HOST\",\n\t\t\tdefaultValue: \"node-red\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Node-RED hostname\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"NODERED_PORT\",\n\t\t\tdefaultValue: \"1880\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Node-RED port\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://nodered.org/docs/\",\n\ttags: [\"iot\", \"flow-based\", \"visual-programming\", \"automation\", \"mqtt\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"mosquitto\", \"homeassistant\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,oBAAuC;CACnD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAO;EAAc;EAAsB;EAAc;EAAO;CACvE,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,aAAa,gBAAgB;CAC1C,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/services/definitions/photoprism.ts
|
|
3
|
+
const photoprismDefinition = {
|
|
4
|
+
id: "photoprism",
|
|
5
|
+
name: "PhotoPrism",
|
|
6
|
+
description: "AI-powered photo management app with automatic tagging, face recognition, location mapping, and RAW file support.",
|
|
7
|
+
category: "media",
|
|
8
|
+
icon: "📷",
|
|
9
|
+
image: "photoprism/photoprism",
|
|
10
|
+
imageTag: "latest",
|
|
11
|
+
ports: [{
|
|
12
|
+
host: 2342,
|
|
13
|
+
container: 2342,
|
|
14
|
+
description: "PhotoPrism web UI",
|
|
15
|
+
exposed: true
|
|
16
|
+
}],
|
|
17
|
+
volumes: [{
|
|
18
|
+
name: "photoprism-storage",
|
|
19
|
+
containerPath: "/photoprism/storage",
|
|
20
|
+
description: "PhotoPrism metadata and cache"
|
|
21
|
+
}, {
|
|
22
|
+
name: "photoprism-originals",
|
|
23
|
+
containerPath: "/photoprism/originals",
|
|
24
|
+
description: "Original photo files"
|
|
25
|
+
}],
|
|
26
|
+
environment: [
|
|
27
|
+
{
|
|
28
|
+
key: "PHOTOPRISM_ADMIN_USER",
|
|
29
|
+
defaultValue: "admin",
|
|
30
|
+
secret: false,
|
|
31
|
+
description: "Admin username",
|
|
32
|
+
required: true
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
key: "PHOTOPRISM_ADMIN_PASSWORD",
|
|
36
|
+
defaultValue: "",
|
|
37
|
+
secret: true,
|
|
38
|
+
description: "Admin password",
|
|
39
|
+
required: true
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
key: "PHOTOPRISM_SITE_URL",
|
|
43
|
+
defaultValue: "http://localhost:2342/",
|
|
44
|
+
secret: false,
|
|
45
|
+
description: "Public site URL",
|
|
46
|
+
required: true
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: "PHOTOPRISM_DATABASE_DRIVER",
|
|
50
|
+
defaultValue: "mysql",
|
|
51
|
+
secret: false,
|
|
52
|
+
description: "Database driver",
|
|
53
|
+
required: false
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
key: "PHOTOPRISM_DATABASE_SERVER",
|
|
57
|
+
defaultValue: "mariadb:3306",
|
|
58
|
+
secret: false,
|
|
59
|
+
description: "Database server",
|
|
60
|
+
required: false
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
key: "PHOTOPRISM_DATABASE_NAME",
|
|
64
|
+
defaultValue: "photoprism",
|
|
65
|
+
secret: false,
|
|
66
|
+
description: "Database name",
|
|
67
|
+
required: false
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
key: "PHOTOPRISM_DATABASE_USER",
|
|
71
|
+
defaultValue: "photoprism",
|
|
72
|
+
secret: false,
|
|
73
|
+
description: "Database user",
|
|
74
|
+
required: false
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
key: "PHOTOPRISM_DATABASE_PASSWORD",
|
|
78
|
+
defaultValue: "${PHOTOPRISM_DB_PASSWORD}",
|
|
79
|
+
secret: true,
|
|
80
|
+
description: "Database password",
|
|
81
|
+
required: false
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
healthcheck: {
|
|
85
|
+
test: "curl -sf http://localhost:2342/api/v1/status || exit 1",
|
|
86
|
+
interval: "30s",
|
|
87
|
+
timeout: "10s",
|
|
88
|
+
retries: 3,
|
|
89
|
+
startPeriod: "60s"
|
|
90
|
+
},
|
|
91
|
+
dependsOn: [],
|
|
92
|
+
restartPolicy: "unless-stopped",
|
|
93
|
+
networks: ["openclaw-network"],
|
|
94
|
+
skills: [],
|
|
95
|
+
openclawEnvVars: [{
|
|
96
|
+
key: "PHOTOPRISM_HOST",
|
|
97
|
+
defaultValue: "photoprism",
|
|
98
|
+
secret: false,
|
|
99
|
+
description: "PhotoPrism hostname",
|
|
100
|
+
required: false
|
|
101
|
+
}, {
|
|
102
|
+
key: "PHOTOPRISM_PORT",
|
|
103
|
+
defaultValue: "2342",
|
|
104
|
+
secret: false,
|
|
105
|
+
description: "PhotoPrism port",
|
|
106
|
+
required: false
|
|
107
|
+
}],
|
|
108
|
+
docsUrl: "https://docs.photoprism.app/",
|
|
109
|
+
tags: [
|
|
110
|
+
"photos",
|
|
111
|
+
"ai-tagging",
|
|
112
|
+
"face-recognition",
|
|
113
|
+
"gallery",
|
|
114
|
+
"google-photos-alternative"
|
|
115
|
+
],
|
|
116
|
+
maturity: "stable",
|
|
117
|
+
requires: [],
|
|
118
|
+
recommends: ["mariadb"],
|
|
119
|
+
conflictsWith: [],
|
|
120
|
+
minMemoryMB: 1024,
|
|
121
|
+
gpuRequired: false
|
|
122
|
+
};
|
|
123
|
+
//#endregion
|
|
124
|
+
exports.photoprismDefinition = photoprismDefinition;
|
|
125
|
+
|
|
126
|
+
//# sourceMappingURL=photoprism.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"photoprism.cjs","names":[],"sources":["../../../src/services/definitions/photoprism.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const photoprismDefinition: ServiceDefinition = {\n\tid: \"photoprism\",\n\tname: \"PhotoPrism\",\n\tdescription:\n\t\t\"AI-powered photo management app with automatic tagging, face recognition, location mapping, and RAW file support.\",\n\tcategory: \"media\",\n\ticon: \"📷\",\n\n\timage: \"photoprism/photoprism\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 2342,\n\t\t\tcontainer: 2342,\n\t\t\tdescription: \"PhotoPrism web UI\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"photoprism-storage\",\n\t\t\tcontainerPath: \"/photoprism/storage\",\n\t\t\tdescription: \"PhotoPrism metadata and cache\",\n\t\t},\n\t\t{\n\t\t\tname: \"photoprism-originals\",\n\t\t\tcontainerPath: \"/photoprism/originals\",\n\t\t\tdescription: \"Original photo files\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_ADMIN_USER\",\n\t\t\tdefaultValue: \"admin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Admin username\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_ADMIN_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Admin password\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_SITE_URL\",\n\t\t\tdefaultValue: \"http://localhost:2342/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Public site URL\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_DATABASE_DRIVER\",\n\t\t\tdefaultValue: \"mysql\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database driver\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_DATABASE_SERVER\",\n\t\t\tdefaultValue: \"mariadb:3306\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database server\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_DATABASE_NAME\",\n\t\t\tdefaultValue: \"photoprism\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database name\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_DATABASE_USER\",\n\t\t\tdefaultValue: \"photoprism\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database user\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_DATABASE_PASSWORD\",\n\t\t\tdefaultValue: \"${PHOTOPRISM_DB_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Database password\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:2342/api/v1/status || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"60s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_HOST\",\n\t\t\tdefaultValue: \"photoprism\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PhotoPrism hostname\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_PORT\",\n\t\t\tdefaultValue: \"2342\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PhotoPrism port\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.photoprism.app/\",\n\ttags: [\"photos\", \"ai-tagging\", \"face-recognition\", \"gallery\", \"google-photos-alternative\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"mariadb\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 1024,\n\tgpuRequired: false,\n};\n"],"mappings":";;AAEA,MAAa,uBAA0C;CACtD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,EACD;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,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,EAAE;CACV,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAU;EAAc;EAAoB;EAAW;EAA4B;CAC1F,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,UAAU;CACvB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"photoprism.d.cts","names":[],"sources":["../../../src/services/definitions/photoprism.ts"],"mappings":";;;cAEa,oBAAA,EAAsB,iBAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"photoprism.d.mts","names":[],"sources":["../../../src/services/definitions/photoprism.ts"],"mappings":";;;cAEa,oBAAA,EAAsB,iBAAA"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
//#region src/services/definitions/photoprism.ts
|
|
2
|
+
const photoprismDefinition = {
|
|
3
|
+
id: "photoprism",
|
|
4
|
+
name: "PhotoPrism",
|
|
5
|
+
description: "AI-powered photo management app with automatic tagging, face recognition, location mapping, and RAW file support.",
|
|
6
|
+
category: "media",
|
|
7
|
+
icon: "📷",
|
|
8
|
+
image: "photoprism/photoprism",
|
|
9
|
+
imageTag: "latest",
|
|
10
|
+
ports: [{
|
|
11
|
+
host: 2342,
|
|
12
|
+
container: 2342,
|
|
13
|
+
description: "PhotoPrism web UI",
|
|
14
|
+
exposed: true
|
|
15
|
+
}],
|
|
16
|
+
volumes: [{
|
|
17
|
+
name: "photoprism-storage",
|
|
18
|
+
containerPath: "/photoprism/storage",
|
|
19
|
+
description: "PhotoPrism metadata and cache"
|
|
20
|
+
}, {
|
|
21
|
+
name: "photoprism-originals",
|
|
22
|
+
containerPath: "/photoprism/originals",
|
|
23
|
+
description: "Original photo files"
|
|
24
|
+
}],
|
|
25
|
+
environment: [
|
|
26
|
+
{
|
|
27
|
+
key: "PHOTOPRISM_ADMIN_USER",
|
|
28
|
+
defaultValue: "admin",
|
|
29
|
+
secret: false,
|
|
30
|
+
description: "Admin username",
|
|
31
|
+
required: true
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: "PHOTOPRISM_ADMIN_PASSWORD",
|
|
35
|
+
defaultValue: "",
|
|
36
|
+
secret: true,
|
|
37
|
+
description: "Admin password",
|
|
38
|
+
required: true
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
key: "PHOTOPRISM_SITE_URL",
|
|
42
|
+
defaultValue: "http://localhost:2342/",
|
|
43
|
+
secret: false,
|
|
44
|
+
description: "Public site URL",
|
|
45
|
+
required: true
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
key: "PHOTOPRISM_DATABASE_DRIVER",
|
|
49
|
+
defaultValue: "mysql",
|
|
50
|
+
secret: false,
|
|
51
|
+
description: "Database driver",
|
|
52
|
+
required: false
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
key: "PHOTOPRISM_DATABASE_SERVER",
|
|
56
|
+
defaultValue: "mariadb:3306",
|
|
57
|
+
secret: false,
|
|
58
|
+
description: "Database server",
|
|
59
|
+
required: false
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
key: "PHOTOPRISM_DATABASE_NAME",
|
|
63
|
+
defaultValue: "photoprism",
|
|
64
|
+
secret: false,
|
|
65
|
+
description: "Database name",
|
|
66
|
+
required: false
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
key: "PHOTOPRISM_DATABASE_USER",
|
|
70
|
+
defaultValue: "photoprism",
|
|
71
|
+
secret: false,
|
|
72
|
+
description: "Database user",
|
|
73
|
+
required: false
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
key: "PHOTOPRISM_DATABASE_PASSWORD",
|
|
77
|
+
defaultValue: "${PHOTOPRISM_DB_PASSWORD}",
|
|
78
|
+
secret: true,
|
|
79
|
+
description: "Database password",
|
|
80
|
+
required: false
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
healthcheck: {
|
|
84
|
+
test: "curl -sf http://localhost:2342/api/v1/status || exit 1",
|
|
85
|
+
interval: "30s",
|
|
86
|
+
timeout: "10s",
|
|
87
|
+
retries: 3,
|
|
88
|
+
startPeriod: "60s"
|
|
89
|
+
},
|
|
90
|
+
dependsOn: [],
|
|
91
|
+
restartPolicy: "unless-stopped",
|
|
92
|
+
networks: ["openclaw-network"],
|
|
93
|
+
skills: [],
|
|
94
|
+
openclawEnvVars: [{
|
|
95
|
+
key: "PHOTOPRISM_HOST",
|
|
96
|
+
defaultValue: "photoprism",
|
|
97
|
+
secret: false,
|
|
98
|
+
description: "PhotoPrism hostname",
|
|
99
|
+
required: false
|
|
100
|
+
}, {
|
|
101
|
+
key: "PHOTOPRISM_PORT",
|
|
102
|
+
defaultValue: "2342",
|
|
103
|
+
secret: false,
|
|
104
|
+
description: "PhotoPrism port",
|
|
105
|
+
required: false
|
|
106
|
+
}],
|
|
107
|
+
docsUrl: "https://docs.photoprism.app/",
|
|
108
|
+
tags: [
|
|
109
|
+
"photos",
|
|
110
|
+
"ai-tagging",
|
|
111
|
+
"face-recognition",
|
|
112
|
+
"gallery",
|
|
113
|
+
"google-photos-alternative"
|
|
114
|
+
],
|
|
115
|
+
maturity: "stable",
|
|
116
|
+
requires: [],
|
|
117
|
+
recommends: ["mariadb"],
|
|
118
|
+
conflictsWith: [],
|
|
119
|
+
minMemoryMB: 1024,
|
|
120
|
+
gpuRequired: false
|
|
121
|
+
};
|
|
122
|
+
//#endregion
|
|
123
|
+
export { photoprismDefinition };
|
|
124
|
+
|
|
125
|
+
//# sourceMappingURL=photoprism.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"photoprism.mjs","names":[],"sources":["../../../src/services/definitions/photoprism.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const photoprismDefinition: ServiceDefinition = {\n\tid: \"photoprism\",\n\tname: \"PhotoPrism\",\n\tdescription:\n\t\t\"AI-powered photo management app with automatic tagging, face recognition, location mapping, and RAW file support.\",\n\tcategory: \"media\",\n\ticon: \"📷\",\n\n\timage: \"photoprism/photoprism\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 2342,\n\t\t\tcontainer: 2342,\n\t\t\tdescription: \"PhotoPrism web UI\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"photoprism-storage\",\n\t\t\tcontainerPath: \"/photoprism/storage\",\n\t\t\tdescription: \"PhotoPrism metadata and cache\",\n\t\t},\n\t\t{\n\t\t\tname: \"photoprism-originals\",\n\t\t\tcontainerPath: \"/photoprism/originals\",\n\t\t\tdescription: \"Original photo files\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_ADMIN_USER\",\n\t\t\tdefaultValue: \"admin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Admin username\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_ADMIN_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Admin password\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_SITE_URL\",\n\t\t\tdefaultValue: \"http://localhost:2342/\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Public site URL\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_DATABASE_DRIVER\",\n\t\t\tdefaultValue: \"mysql\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database driver\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_DATABASE_SERVER\",\n\t\t\tdefaultValue: \"mariadb:3306\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database server\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_DATABASE_NAME\",\n\t\t\tdefaultValue: \"photoprism\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database name\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_DATABASE_USER\",\n\t\t\tdefaultValue: \"photoprism\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database user\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_DATABASE_PASSWORD\",\n\t\t\tdefaultValue: \"${PHOTOPRISM_DB_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Database password\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:2342/api/v1/status || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"60s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_HOST\",\n\t\t\tdefaultValue: \"photoprism\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PhotoPrism hostname\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"PHOTOPRISM_PORT\",\n\t\t\tdefaultValue: \"2342\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PhotoPrism port\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.photoprism.app/\",\n\ttags: [\"photos\", \"ai-tagging\", \"face-recognition\", \"gallery\", \"google-photos-alternative\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"mariadb\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 1024,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,uBAA0C;CACtD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,EACD;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,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,EAAE;CACV,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAU;EAAc;EAAoB;EAAW;EAA4B;CAC1F,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,UAAU;CACvB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/services/definitions/pihole.ts
|
|
3
|
+
const piholeDefinition = {
|
|
4
|
+
id: "pihole",
|
|
5
|
+
name: "Pi-hole",
|
|
6
|
+
description: "Network-level ad blocker acting as a DNS sinkhole to block ads and trackers for all devices on the network.",
|
|
7
|
+
category: "dns-networking",
|
|
8
|
+
icon: "🕳️",
|
|
9
|
+
image: "pihole/pihole",
|
|
10
|
+
imageTag: "latest",
|
|
11
|
+
ports: [{
|
|
12
|
+
host: 8053,
|
|
13
|
+
container: 80,
|
|
14
|
+
description: "Pi-hole web admin",
|
|
15
|
+
exposed: true
|
|
16
|
+
}, {
|
|
17
|
+
host: 53,
|
|
18
|
+
container: 53,
|
|
19
|
+
description: "DNS server",
|
|
20
|
+
exposed: true
|
|
21
|
+
}],
|
|
22
|
+
volumes: [{
|
|
23
|
+
name: "pihole-etc",
|
|
24
|
+
containerPath: "/etc/pihole",
|
|
25
|
+
description: "Pi-hole configuration"
|
|
26
|
+
}, {
|
|
27
|
+
name: "pihole-dnsmasq",
|
|
28
|
+
containerPath: "/etc/dnsmasq.d",
|
|
29
|
+
description: "DNS configuration"
|
|
30
|
+
}],
|
|
31
|
+
environment: [{
|
|
32
|
+
key: "WEBPASSWORD",
|
|
33
|
+
defaultValue: "",
|
|
34
|
+
secret: true,
|
|
35
|
+
description: "Pi-hole web admin password",
|
|
36
|
+
required: true
|
|
37
|
+
}, {
|
|
38
|
+
key: "TZ",
|
|
39
|
+
defaultValue: "UTC",
|
|
40
|
+
secret: false,
|
|
41
|
+
description: "Timezone",
|
|
42
|
+
required: false
|
|
43
|
+
}],
|
|
44
|
+
healthcheck: {
|
|
45
|
+
test: "curl -sf http://localhost:80/admin/ || exit 1",
|
|
46
|
+
interval: "30s",
|
|
47
|
+
timeout: "10s",
|
|
48
|
+
retries: 3,
|
|
49
|
+
startPeriod: "30s"
|
|
50
|
+
},
|
|
51
|
+
dependsOn: [],
|
|
52
|
+
restartPolicy: "unless-stopped",
|
|
53
|
+
networks: ["openclaw-network"],
|
|
54
|
+
skills: [],
|
|
55
|
+
openclawEnvVars: [],
|
|
56
|
+
docsUrl: "https://docs.pi-hole.net/",
|
|
57
|
+
tags: [
|
|
58
|
+
"dns",
|
|
59
|
+
"ad-blocking",
|
|
60
|
+
"privacy",
|
|
61
|
+
"sinkhole"
|
|
62
|
+
],
|
|
63
|
+
maturity: "stable",
|
|
64
|
+
requires: [],
|
|
65
|
+
recommends: [],
|
|
66
|
+
conflictsWith: ["adguard-home"],
|
|
67
|
+
minMemoryMB: 128,
|
|
68
|
+
gpuRequired: false
|
|
69
|
+
};
|
|
70
|
+
//#endregion
|
|
71
|
+
exports.piholeDefinition = piholeDefinition;
|
|
72
|
+
|
|
73
|
+
//# sourceMappingURL=pihole.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pihole.cjs","names":[],"sources":["../../../src/services/definitions/pihole.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const piholeDefinition: ServiceDefinition = {\n\tid: \"pihole\",\n\tname: \"Pi-hole\",\n\tdescription:\n\t\t\"Network-level ad blocker acting as a DNS sinkhole to block ads and trackers for all devices on the network.\",\n\tcategory: \"dns-networking\",\n\ticon: \"🕳️\",\n\n\timage: \"pihole/pihole\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 8053,\n\t\t\tcontainer: 80,\n\t\t\tdescription: \"Pi-hole web admin\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 53,\n\t\t\tcontainer: 53,\n\t\t\tdescription: \"DNS server\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"pihole-etc\",\n\t\t\tcontainerPath: \"/etc/pihole\",\n\t\t\tdescription: \"Pi-hole configuration\",\n\t\t},\n\t\t{\n\t\t\tname: \"pihole-dnsmasq\",\n\t\t\tcontainerPath: \"/etc/dnsmasq.d\",\n\t\t\tdescription: \"DNS configuration\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"WEBPASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Pi-hole web admin password\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"TZ\",\n\t\t\tdefaultValue: \"UTC\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Timezone\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:80/admin/ || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://docs.pi-hole.net/\",\n\ttags: [\"dns\", \"ad-blocking\", \"privacy\", \"sinkhole\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [\"adguard-home\"],\n\n\tminMemoryMB: 128,\n\tgpuRequired: false,\n};\n"],"mappings":";;AAEA,MAAa,mBAAsC;CAClD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,EACD;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAO;EAAe;EAAW;EAAW;CACnD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,CAAC,eAAe;CAE/B,aAAa;CACb,aAAa;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pihole.d.cts","names":[],"sources":["../../../src/services/definitions/pihole.ts"],"mappings":";;;cAEa,gBAAA,EAAkB,iBAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pihole.d.mts","names":[],"sources":["../../../src/services/definitions/pihole.ts"],"mappings":";;;cAEa,gBAAA,EAAkB,iBAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
//#region src/services/definitions/pihole.ts
|
|
2
|
+
const piholeDefinition = {
|
|
3
|
+
id: "pihole",
|
|
4
|
+
name: "Pi-hole",
|
|
5
|
+
description: "Network-level ad blocker acting as a DNS sinkhole to block ads and trackers for all devices on the network.",
|
|
6
|
+
category: "dns-networking",
|
|
7
|
+
icon: "🕳️",
|
|
8
|
+
image: "pihole/pihole",
|
|
9
|
+
imageTag: "latest",
|
|
10
|
+
ports: [{
|
|
11
|
+
host: 8053,
|
|
12
|
+
container: 80,
|
|
13
|
+
description: "Pi-hole web admin",
|
|
14
|
+
exposed: true
|
|
15
|
+
}, {
|
|
16
|
+
host: 53,
|
|
17
|
+
container: 53,
|
|
18
|
+
description: "DNS server",
|
|
19
|
+
exposed: true
|
|
20
|
+
}],
|
|
21
|
+
volumes: [{
|
|
22
|
+
name: "pihole-etc",
|
|
23
|
+
containerPath: "/etc/pihole",
|
|
24
|
+
description: "Pi-hole configuration"
|
|
25
|
+
}, {
|
|
26
|
+
name: "pihole-dnsmasq",
|
|
27
|
+
containerPath: "/etc/dnsmasq.d",
|
|
28
|
+
description: "DNS configuration"
|
|
29
|
+
}],
|
|
30
|
+
environment: [{
|
|
31
|
+
key: "WEBPASSWORD",
|
|
32
|
+
defaultValue: "",
|
|
33
|
+
secret: true,
|
|
34
|
+
description: "Pi-hole web admin password",
|
|
35
|
+
required: true
|
|
36
|
+
}, {
|
|
37
|
+
key: "TZ",
|
|
38
|
+
defaultValue: "UTC",
|
|
39
|
+
secret: false,
|
|
40
|
+
description: "Timezone",
|
|
41
|
+
required: false
|
|
42
|
+
}],
|
|
43
|
+
healthcheck: {
|
|
44
|
+
test: "curl -sf http://localhost:80/admin/ || exit 1",
|
|
45
|
+
interval: "30s",
|
|
46
|
+
timeout: "10s",
|
|
47
|
+
retries: 3,
|
|
48
|
+
startPeriod: "30s"
|
|
49
|
+
},
|
|
50
|
+
dependsOn: [],
|
|
51
|
+
restartPolicy: "unless-stopped",
|
|
52
|
+
networks: ["openclaw-network"],
|
|
53
|
+
skills: [],
|
|
54
|
+
openclawEnvVars: [],
|
|
55
|
+
docsUrl: "https://docs.pi-hole.net/",
|
|
56
|
+
tags: [
|
|
57
|
+
"dns",
|
|
58
|
+
"ad-blocking",
|
|
59
|
+
"privacy",
|
|
60
|
+
"sinkhole"
|
|
61
|
+
],
|
|
62
|
+
maturity: "stable",
|
|
63
|
+
requires: [],
|
|
64
|
+
recommends: [],
|
|
65
|
+
conflictsWith: ["adguard-home"],
|
|
66
|
+
minMemoryMB: 128,
|
|
67
|
+
gpuRequired: false
|
|
68
|
+
};
|
|
69
|
+
//#endregion
|
|
70
|
+
export { piholeDefinition };
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=pihole.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pihole.mjs","names":[],"sources":["../../../src/services/definitions/pihole.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const piholeDefinition: ServiceDefinition = {\n\tid: \"pihole\",\n\tname: \"Pi-hole\",\n\tdescription:\n\t\t\"Network-level ad blocker acting as a DNS sinkhole to block ads and trackers for all devices on the network.\",\n\tcategory: \"dns-networking\",\n\ticon: \"🕳️\",\n\n\timage: \"pihole/pihole\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 8053,\n\t\t\tcontainer: 80,\n\t\t\tdescription: \"Pi-hole web admin\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 53,\n\t\t\tcontainer: 53,\n\t\t\tdescription: \"DNS server\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"pihole-etc\",\n\t\t\tcontainerPath: \"/etc/pihole\",\n\t\t\tdescription: \"Pi-hole configuration\",\n\t\t},\n\t\t{\n\t\t\tname: \"pihole-dnsmasq\",\n\t\t\tcontainerPath: \"/etc/dnsmasq.d\",\n\t\t\tdescription: \"DNS configuration\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"WEBPASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Pi-hole web admin password\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"TZ\",\n\t\t\tdefaultValue: \"UTC\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Timezone\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:80/admin/ || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://docs.pi-hole.net/\",\n\ttags: [\"dns\", \"ad-blocking\", \"privacy\", \"sinkhole\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [\"adguard-home\"],\n\n\tminMemoryMB: 128,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,mBAAsC;CAClD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,EACD;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAO;EAAe;EAAW;EAAW;CACnD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,CAAC,eAAe;CAE/B,aAAa;CACb,aAAa;CACb"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/services/definitions/piper-tts.ts
|
|
3
|
+
const piperTtsDefinition = {
|
|
4
|
+
id: "piper-tts",
|
|
5
|
+
name: "Piper TTS",
|
|
6
|
+
description: "Fast local neural text-to-speech engine supporting 30+ languages with low-latency voice synthesis.",
|
|
7
|
+
category: "voice",
|
|
8
|
+
icon: "🗣️",
|
|
9
|
+
image: "rhasspy/wyoming-piper",
|
|
10
|
+
imageTag: "latest",
|
|
11
|
+
ports: [{
|
|
12
|
+
host: 10200,
|
|
13
|
+
container: 10200,
|
|
14
|
+
description: "Wyoming protocol",
|
|
15
|
+
exposed: true
|
|
16
|
+
}],
|
|
17
|
+
volumes: [{
|
|
18
|
+
name: "piper-data",
|
|
19
|
+
containerPath: "/data",
|
|
20
|
+
description: "Piper TTS voice model data"
|
|
21
|
+
}],
|
|
22
|
+
environment: [{
|
|
23
|
+
key: "PIPER_VOICE",
|
|
24
|
+
defaultValue: "en_US-lessac-medium",
|
|
25
|
+
secret: false,
|
|
26
|
+
description: "Default TTS voice model",
|
|
27
|
+
required: false
|
|
28
|
+
}],
|
|
29
|
+
healthcheck: {
|
|
30
|
+
test: "echo > /dev/tcp/localhost/10200 || exit 1",
|
|
31
|
+
interval: "30s",
|
|
32
|
+
timeout: "10s",
|
|
33
|
+
retries: 3,
|
|
34
|
+
startPeriod: "30s"
|
|
35
|
+
},
|
|
36
|
+
dependsOn: [],
|
|
37
|
+
restartPolicy: "unless-stopped",
|
|
38
|
+
networks: ["openclaw-network"],
|
|
39
|
+
skills: [],
|
|
40
|
+
openclawEnvVars: [{
|
|
41
|
+
key: "PIPER_TTS_HOST",
|
|
42
|
+
defaultValue: "piper-tts",
|
|
43
|
+
secret: false,
|
|
44
|
+
description: "Piper TTS hostname for OpenClaw",
|
|
45
|
+
required: true
|
|
46
|
+
}, {
|
|
47
|
+
key: "PIPER_TTS_PORT",
|
|
48
|
+
defaultValue: "10200",
|
|
49
|
+
secret: false,
|
|
50
|
+
description: "Piper TTS port for OpenClaw",
|
|
51
|
+
required: true
|
|
52
|
+
}],
|
|
53
|
+
docsUrl: "https://github.com/rhasspy/piper",
|
|
54
|
+
tags: [
|
|
55
|
+
"tts",
|
|
56
|
+
"text-to-speech",
|
|
57
|
+
"voice-synthesis",
|
|
58
|
+
"speech"
|
|
59
|
+
],
|
|
60
|
+
maturity: "stable",
|
|
61
|
+
requires: [],
|
|
62
|
+
recommends: [],
|
|
63
|
+
conflictsWith: [],
|
|
64
|
+
minMemoryMB: 512,
|
|
65
|
+
gpuRequired: false
|
|
66
|
+
};
|
|
67
|
+
//#endregion
|
|
68
|
+
exports.piperTtsDefinition = piperTtsDefinition;
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=piper-tts.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"piper-tts.cjs","names":[],"sources":["../../../src/services/definitions/piper-tts.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const piperTtsDefinition: ServiceDefinition = {\n\tid: \"piper-tts\",\n\tname: \"Piper TTS\",\n\tdescription:\n\t\t\"Fast local neural text-to-speech engine supporting 30+ languages with low-latency voice synthesis.\",\n\tcategory: \"voice\",\n\ticon: \"🗣️\",\n\n\timage: \"rhasspy/wyoming-piper\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 10200,\n\t\t\tcontainer: 10200,\n\t\t\tdescription: \"Wyoming protocol\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"piper-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Piper TTS voice model data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"PIPER_VOICE\",\n\t\t\tdefaultValue: \"en_US-lessac-medium\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Default TTS voice model\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"echo > /dev/tcp/localhost/10200 || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"PIPER_TTS_HOST\",\n\t\t\tdefaultValue: \"piper-tts\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Piper TTS hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"PIPER_TTS_PORT\",\n\t\t\tdefaultValue: \"10200\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Piper TTS port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://github.com/rhasspy/piper\",\n\ttags: [\"tts\", \"text-to-speech\", \"voice-synthesis\", \"speech\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";;AAEA,MAAa,qBAAwC;CACpD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;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,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;EAAkB;EAAmB;EAAS;CAC5D,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"piper-tts.d.cts","names":[],"sources":["../../../src/services/definitions/piper-tts.ts"],"mappings":";;;cAEa,kBAAA,EAAoB,iBAAA"}
|