@better-openclaw/core 1.0.6 → 1.0.8

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.
Files changed (574) hide show
  1. package/.github/workflows/publish-core.yml +1 -1
  2. package/dist/bare-metal-partition.d.mts +0 -1
  3. package/dist/bare-metal-partition.d.mts.map +1 -1
  4. package/dist/bare-metal-partition.mjs +47 -2
  5. package/dist/bare-metal-partition.mjs.map +1 -0
  6. package/dist/bare-metal-partition.test.mjs +3 -3
  7. package/dist/composer.d.mts +0 -1
  8. package/dist/composer.d.mts.map +1 -1
  9. package/dist/composer.mjs +286 -2
  10. package/dist/composer.mjs.map +1 -0
  11. package/dist/composer.snapshot.test.mjs +3 -3
  12. package/dist/composer.test.mjs +3 -3
  13. package/dist/generate.d.mts +0 -2
  14. package/dist/generate.d.mts.map +1 -1
  15. package/dist/generate.mjs +15 -15
  16. package/dist/generate.test.mjs +1 -1
  17. package/dist/generators/bare-metal-install.d.mts +0 -2
  18. package/dist/generators/bare-metal-install.d.mts.map +1 -1
  19. package/dist/generators/bare-metal-install.mjs +223 -2
  20. package/dist/generators/bare-metal-install.mjs.map +1 -0
  21. package/dist/generators/bare-metal-install.test.mjs +2 -2
  22. package/dist/generators/caddy.d.mts +0 -2
  23. package/dist/generators/caddy.d.mts.map +1 -1
  24. package/dist/generators/caddy.mjs +76 -2
  25. package/dist/generators/caddy.mjs.map +1 -0
  26. package/dist/generators/env.d.mts +0 -1
  27. package/dist/generators/env.d.mts.map +1 -1
  28. package/dist/generators/env.mjs +249 -2
  29. package/dist/generators/env.mjs.map +1 -0
  30. package/dist/generators/grafana.d.mts.map +1 -1
  31. package/dist/generators/grafana.mjs +292 -2
  32. package/dist/generators/grafana.mjs.map +1 -0
  33. package/dist/generators/n8n-workflows.d.mts +0 -2
  34. package/dist/generators/n8n-workflows.d.mts.map +1 -1
  35. package/dist/generators/n8n-workflows.mjs +74 -2
  36. package/dist/generators/n8n-workflows.mjs.map +1 -0
  37. package/dist/generators/native-services.d.mts +0 -1
  38. package/dist/generators/native-services.d.mts.map +1 -1
  39. package/dist/generators/native-services.mjs +77 -2
  40. package/dist/generators/native-services.mjs.map +1 -0
  41. package/dist/generators/postgres-init.d.mts +0 -1
  42. package/dist/generators/postgres-init.d.mts.map +1 -1
  43. package/dist/generators/postgres-init.mjs +150 -2
  44. package/dist/generators/postgres-init.mjs.map +1 -0
  45. package/dist/generators/prometheus.d.mts +0 -2
  46. package/dist/generators/prometheus.d.mts.map +1 -1
  47. package/dist/generators/prometheus.mjs +106 -2
  48. package/dist/generators/prometheus.mjs.map +1 -0
  49. package/dist/generators/readme.d.mts +0 -1
  50. package/dist/generators/readme.d.mts.map +1 -1
  51. package/dist/generators/readme.mjs +198 -2
  52. package/dist/generators/readme.mjs.map +1 -0
  53. package/dist/generators/scripts.d.mts.map +1 -1
  54. package/dist/generators/scripts.mjs +350 -2
  55. package/dist/generators/scripts.mjs.map +1 -0
  56. package/dist/generators/skills.d.mts +0 -2
  57. package/dist/generators/skills.d.mts.map +1 -1
  58. package/dist/generators/skills.mjs +586 -2
  59. package/dist/generators/skills.mjs.map +1 -0
  60. package/dist/index.d.mts +1 -1
  61. package/dist/index.mjs +15 -15
  62. package/dist/{magic-string.es-Dew0Rnsa.mjs → magic-string.es-1uTtupLe.mjs} +14 -14
  63. package/dist/magic-string.es-1uTtupLe.mjs.map +1 -0
  64. package/dist/presets/registry.d.mts +0 -1
  65. package/dist/presets/registry.d.mts.map +1 -1
  66. package/dist/presets/registry.test.mjs +1 -1
  67. package/dist/resolver.d.mts +0 -2
  68. package/dist/resolver.d.mts.map +1 -1
  69. package/dist/resolver.mjs +193 -2
  70. package/dist/resolver.mjs.map +1 -0
  71. package/dist/resolver.test.mjs +2 -2
  72. package/dist/schema.d.mts +714 -2
  73. package/dist/schema.d.mts.map +1 -0
  74. package/dist/schema.mjs +6 -2
  75. package/dist/schema.mjs.map +1 -1
  76. package/dist/schema.test.mjs +1 -1
  77. package/dist/services/definitions/anything-llm.d.mts +0 -1
  78. package/dist/services/definitions/anything-llm.d.mts.map +1 -1
  79. package/dist/services/definitions/anything-llm.mjs +43 -2
  80. package/dist/services/definitions/anything-llm.mjs.map +1 -0
  81. package/dist/services/definitions/appflowy.d.mts +0 -1
  82. package/dist/services/definitions/appflowy.d.mts.map +1 -1
  83. package/dist/services/definitions/appflowy.mjs +44 -2
  84. package/dist/services/definitions/appflowy.mjs.map +1 -0
  85. package/dist/services/definitions/beszel.d.mts +0 -1
  86. package/dist/services/definitions/beszel.d.mts.map +1 -1
  87. package/dist/services/definitions/beszel.mjs +44 -2
  88. package/dist/services/definitions/beszel.mjs.map +1 -0
  89. package/dist/services/definitions/browserless.d.mts +0 -1
  90. package/dist/services/definitions/browserless.d.mts.map +1 -1
  91. package/dist/services/definitions/browserless.mjs +84 -2
  92. package/dist/services/definitions/browserless.mjs.map +1 -0
  93. package/dist/services/definitions/caddy.d.mts +0 -1
  94. package/dist/services/definitions/caddy.d.mts.map +1 -1
  95. package/dist/services/definitions/caddy.mjs +51 -2
  96. package/dist/services/definitions/caddy.mjs.map +1 -0
  97. package/dist/services/definitions/chromadb.d.mts +0 -1
  98. package/dist/services/definitions/chromadb.d.mts.map +1 -1
  99. package/dist/services/definitions/chromadb.mjs +62 -2
  100. package/dist/services/definitions/chromadb.mjs.map +1 -0
  101. package/dist/services/definitions/claude-code.d.mts +0 -1
  102. package/dist/services/definitions/claude-code.d.mts.map +1 -1
  103. package/dist/services/definitions/claude-code.mjs +51 -2
  104. package/dist/services/definitions/claude-code.mjs.map +1 -0
  105. package/dist/services/definitions/code-server.d.mts +0 -1
  106. package/dist/services/definitions/code-server.d.mts.map +1 -1
  107. package/dist/services/definitions/code-server.mjs +65 -2
  108. package/dist/services/definitions/code-server.mjs.map +1 -0
  109. package/dist/services/definitions/codex.d.mts +0 -1
  110. package/dist/services/definitions/codex.d.mts.map +1 -1
  111. package/dist/services/definitions/codex.mjs +44 -2
  112. package/dist/services/definitions/codex.mjs.map +1 -0
  113. package/dist/services/definitions/comfyui.d.mts +7 -0
  114. package/dist/services/definitions/comfyui.d.mts.map +1 -0
  115. package/dist/services/definitions/comfyui.mjs +83 -0
  116. package/dist/services/definitions/comfyui.mjs.map +1 -0
  117. package/dist/services/definitions/convex-dashboard.d.mts +7 -0
  118. package/dist/services/definitions/convex-dashboard.d.mts.map +1 -0
  119. package/dist/services/definitions/convex-dashboard.mjs +46 -0
  120. package/dist/services/definitions/convex-dashboard.mjs.map +1 -0
  121. package/dist/services/definitions/convex.d.mts +7 -0
  122. package/dist/services/definitions/convex.d.mts.map +1 -0
  123. package/dist/services/definitions/convex.mjs +118 -0
  124. package/dist/services/definitions/convex.mjs.map +1 -0
  125. package/dist/services/definitions/coolify.d.mts +0 -1
  126. package/dist/services/definitions/coolify.d.mts.map +1 -1
  127. package/dist/services/definitions/coolify.mjs +48 -2
  128. package/dist/services/definitions/coolify.mjs.map +1 -0
  129. package/dist/services/definitions/desktop-environment.d.mts +7 -0
  130. package/dist/services/definitions/desktop-environment.d.mts.map +1 -0
  131. package/dist/services/definitions/desktop-environment.mjs +153 -0
  132. package/dist/services/definitions/desktop-environment.mjs.map +1 -0
  133. package/dist/services/definitions/dify.d.mts +0 -1
  134. package/dist/services/definitions/dify.d.mts.map +1 -1
  135. package/dist/services/definitions/dify.mjs +80 -2
  136. package/dist/services/definitions/dify.mjs.map +1 -0
  137. package/dist/services/definitions/docsgpt.d.mts +0 -1
  138. package/dist/services/definitions/docsgpt.d.mts.map +1 -1
  139. package/dist/services/definitions/docsgpt.mjs +44 -2
  140. package/dist/services/definitions/docsgpt.mjs.map +1 -0
  141. package/dist/services/definitions/dokploy.d.mts +0 -1
  142. package/dist/services/definitions/dokploy.d.mts.map +1 -1
  143. package/dist/services/definitions/dokploy.mjs +48 -2
  144. package/dist/services/definitions/dokploy.mjs.map +1 -0
  145. package/dist/services/definitions/dozzle.d.mts +0 -1
  146. package/dist/services/definitions/dozzle.d.mts.map +1 -1
  147. package/dist/services/definitions/dozzle.mjs +40 -2
  148. package/dist/services/definitions/dozzle.mjs.map +1 -0
  149. package/dist/services/definitions/ffmpeg.d.mts +0 -1
  150. package/dist/services/definitions/ffmpeg.d.mts.map +1 -1
  151. package/dist/services/definitions/ffmpeg.mjs +65 -2
  152. package/dist/services/definitions/ffmpeg.mjs.map +1 -0
  153. package/dist/services/definitions/flowise.d.mts +0 -1
  154. package/dist/services/definitions/flowise.d.mts.map +1 -1
  155. package/dist/services/definitions/flowise.mjs +44 -2
  156. package/dist/services/definitions/flowise.mjs.map +1 -0
  157. package/dist/services/definitions/gemini-cli.d.mts +0 -1
  158. package/dist/services/definitions/gemini-cli.d.mts.map +1 -1
  159. package/dist/services/definitions/gemini-cli.mjs +45 -2
  160. package/dist/services/definitions/gemini-cli.mjs.map +1 -0
  161. package/dist/services/definitions/gitea.d.mts +0 -1
  162. package/dist/services/definitions/gitea.d.mts.map +1 -1
  163. package/dist/services/definitions/gitea.mjs +48 -2
  164. package/dist/services/definitions/gitea.mjs.map +1 -0
  165. package/dist/services/definitions/gotify.d.mts +0 -1
  166. package/dist/services/definitions/gotify.d.mts.map +1 -1
  167. package/dist/services/definitions/gotify.mjs +61 -2
  168. package/dist/services/definitions/gotify.mjs.map +1 -0
  169. package/dist/services/definitions/grafana.d.mts +0 -1
  170. package/dist/services/definitions/grafana.d.mts.map +1 -1
  171. package/dist/services/definitions/grafana.mjs +62 -2
  172. package/dist/services/definitions/grafana.mjs.map +1 -0
  173. package/dist/services/definitions/index.d.mts +8 -2
  174. package/dist/services/definitions/index.d.mts.map +1 -1
  175. package/dist/services/definitions/index.mjs +151 -67
  176. package/dist/services/definitions/index.mjs.map +1 -0
  177. package/dist/services/definitions/kimi.d.mts +0 -1
  178. package/dist/services/definitions/kimi.d.mts.map +1 -1
  179. package/dist/services/definitions/kimi.mjs +45 -2
  180. package/dist/services/definitions/kimi.mjs.map +1 -0
  181. package/dist/services/definitions/lasuite-meet-agents.d.mts +0 -1
  182. package/dist/services/definitions/lasuite-meet-agents.d.mts.map +1 -1
  183. package/dist/services/definitions/lasuite-meet-agents.mjs +35 -2
  184. package/dist/services/definitions/lasuite-meet-agents.mjs.map +1 -0
  185. package/dist/services/definitions/lasuite-meet-backend.d.mts +0 -1
  186. package/dist/services/definitions/lasuite-meet-backend.d.mts.map +1 -1
  187. package/dist/services/definitions/lasuite-meet-backend.mjs +133 -2
  188. package/dist/services/definitions/lasuite-meet-backend.mjs.map +1 -0
  189. package/dist/services/definitions/lasuite-meet-frontend.d.mts +0 -1
  190. package/dist/services/definitions/lasuite-meet-frontend.d.mts.map +1 -1
  191. package/dist/services/definitions/lasuite-meet-frontend.mjs +47 -2
  192. package/dist/services/definitions/lasuite-meet-frontend.mjs.map +1 -0
  193. package/dist/services/definitions/librechat.d.mts +0 -1
  194. package/dist/services/definitions/librechat.d.mts.map +1 -1
  195. package/dist/services/definitions/librechat.mjs +49 -2
  196. package/dist/services/definitions/librechat.mjs.map +1 -0
  197. package/dist/services/definitions/lightpanda.d.mts +0 -1
  198. package/dist/services/definitions/lightpanda.d.mts.map +1 -1
  199. package/dist/services/definitions/lightpanda.mjs +58 -2
  200. package/dist/services/definitions/lightpanda.mjs.map +1 -0
  201. package/dist/services/definitions/litellm.d.mts +0 -1
  202. package/dist/services/definitions/litellm.d.mts.map +1 -1
  203. package/dist/services/definitions/litellm.mjs +46 -2
  204. package/dist/services/definitions/litellm.mjs.map +1 -0
  205. package/dist/services/definitions/livekit.d.mts +0 -1
  206. package/dist/services/definitions/livekit.d.mts.map +1 -1
  207. package/dist/services/definitions/livekit.mjs +55 -2
  208. package/dist/services/definitions/livekit.mjs.map +1 -0
  209. package/dist/services/definitions/matomo.d.mts +0 -1
  210. package/dist/services/definitions/matomo.d.mts.map +1 -1
  211. package/dist/services/definitions/matomo.mjs +79 -2
  212. package/dist/services/definitions/matomo.mjs.map +1 -0
  213. package/dist/services/definitions/matrix-synapse.d.mts +0 -1
  214. package/dist/services/definitions/matrix-synapse.d.mts.map +1 -1
  215. package/dist/services/definitions/matrix-synapse.mjs +87 -2
  216. package/dist/services/definitions/matrix-synapse.mjs.map +1 -0
  217. package/dist/services/definitions/mattermost.d.mts +0 -1
  218. package/dist/services/definitions/mattermost.d.mts.map +1 -1
  219. package/dist/services/definitions/mattermost.mjs +60 -2
  220. package/dist/services/definitions/mattermost.mjs.map +1 -0
  221. package/dist/services/definitions/meilisearch.d.mts +0 -1
  222. package/dist/services/definitions/meilisearch.d.mts.map +1 -1
  223. package/dist/services/definitions/meilisearch.mjs +77 -2
  224. package/dist/services/definitions/meilisearch.mjs.map +1 -0
  225. package/dist/services/definitions/minio.d.mts +0 -1
  226. package/dist/services/definitions/minio.d.mts.map +1 -1
  227. package/dist/services/definitions/minio.mjs +101 -2
  228. package/dist/services/definitions/minio.mjs.map +1 -0
  229. package/dist/services/definitions/mission-control.d.mts +7 -0
  230. package/dist/services/definitions/mission-control.d.mts.map +1 -0
  231. package/dist/services/definitions/mission-control.mjs +67 -0
  232. package/dist/services/definitions/mission-control.mjs.map +1 -0
  233. package/dist/services/definitions/mixpost.d.mts +0 -1
  234. package/dist/services/definitions/mixpost.d.mts.map +1 -1
  235. package/dist/services/definitions/mixpost.mjs +86 -2
  236. package/dist/services/definitions/mixpost.mjs.map +1 -0
  237. package/dist/services/definitions/motion-canvas.d.mts +0 -1
  238. package/dist/services/definitions/motion-canvas.d.mts.map +1 -1
  239. package/dist/services/definitions/motion-canvas.mjs +51 -2
  240. package/dist/services/definitions/motion-canvas.mjs.map +1 -0
  241. package/dist/services/definitions/n8n.d.mts +0 -1
  242. package/dist/services/definitions/n8n.d.mts.map +1 -1
  243. package/dist/services/definitions/n8n.mjs +153 -2
  244. package/dist/services/definitions/n8n.mjs.map +1 -0
  245. package/dist/services/definitions/nocodb.d.mts +0 -1
  246. package/dist/services/definitions/nocodb.d.mts.map +1 -1
  247. package/dist/services/definitions/nocodb.mjs +44 -2
  248. package/dist/services/definitions/nocodb.mjs.map +1 -0
  249. package/dist/services/definitions/ntfy.d.mts +0 -1
  250. package/dist/services/definitions/ntfy.d.mts.map +1 -1
  251. package/dist/services/definitions/ntfy.mjs +62 -2
  252. package/dist/services/definitions/ntfy.mjs.map +1 -0
  253. package/dist/services/definitions/ollama.d.mts +0 -1
  254. package/dist/services/definitions/ollama.d.mts.map +1 -1
  255. package/dist/services/definitions/ollama.mjs +65 -2
  256. package/dist/services/definitions/ollama.mjs.map +1 -0
  257. package/dist/services/definitions/open-webui.d.mts +0 -1
  258. package/dist/services/definitions/open-webui.d.mts.map +1 -1
  259. package/dist/services/definitions/open-webui.mjs +49 -2
  260. package/dist/services/definitions/open-webui.mjs.map +1 -0
  261. package/dist/services/definitions/opencode.d.mts +0 -1
  262. package/dist/services/definitions/opencode.d.mts.map +1 -1
  263. package/dist/services/definitions/opencode.mjs +49 -2
  264. package/dist/services/definitions/opencode.mjs.map +1 -0
  265. package/dist/services/definitions/openpanel.d.mts +0 -1
  266. package/dist/services/definitions/openpanel.d.mts.map +1 -1
  267. package/dist/services/definitions/openpanel.mjs +45 -2
  268. package/dist/services/definitions/openpanel.mjs.map +1 -0
  269. package/dist/services/definitions/outline.d.mts +0 -1
  270. package/dist/services/definitions/outline.d.mts.map +1 -1
  271. package/dist/services/definitions/outline.mjs +73 -2
  272. package/dist/services/definitions/outline.mjs.map +1 -0
  273. package/dist/services/definitions/paperless-ngx.d.mts +0 -1
  274. package/dist/services/definitions/paperless-ngx.d.mts.map +1 -1
  275. package/dist/services/definitions/paperless-ngx.mjs +92 -2
  276. package/dist/services/definitions/paperless-ngx.mjs.map +1 -0
  277. package/dist/services/definitions/playwright-server.d.mts +0 -1
  278. package/dist/services/definitions/playwright-server.d.mts.map +1 -1
  279. package/dist/services/definitions/playwright-server.mjs +41 -2
  280. package/dist/services/definitions/playwright-server.mjs.map +1 -0
  281. package/dist/services/definitions/portainer.d.mts +0 -1
  282. package/dist/services/definitions/portainer.d.mts.map +1 -1
  283. package/dist/services/definitions/portainer.mjs +48 -2
  284. package/dist/services/definitions/portainer.mjs.map +1 -0
  285. package/dist/services/definitions/postgresql.d.mts +0 -1
  286. package/dist/services/definitions/postgresql.d.mts.map +1 -1
  287. package/dist/services/definitions/postgresql.mjs +83 -2
  288. package/dist/services/definitions/postgresql.mjs.map +1 -0
  289. package/dist/services/definitions/postiz.d.mts +0 -1
  290. package/dist/services/definitions/postiz.d.mts.map +1 -1
  291. package/dist/services/definitions/postiz.mjs +82 -2
  292. package/dist/services/definitions/postiz.mjs.map +1 -0
  293. package/dist/services/definitions/prometheus.d.mts +0 -1
  294. package/dist/services/definitions/prometheus.d.mts.map +1 -1
  295. package/dist/services/definitions/prometheus.mjs +51 -2
  296. package/dist/services/definitions/prometheus.mjs.map +1 -0
  297. package/dist/services/definitions/qdrant.d.mts +0 -1
  298. package/dist/services/definitions/qdrant.d.mts.map +1 -1
  299. package/dist/services/definitions/qdrant.mjs +76 -2
  300. package/dist/services/definitions/qdrant.mjs.map +1 -0
  301. package/dist/services/definitions/redis.d.mts +0 -1
  302. package/dist/services/definitions/redis.d.mts.map +1 -1
  303. package/dist/services/definitions/redis.mjs +90 -2
  304. package/dist/services/definitions/redis.mjs.map +1 -0
  305. package/dist/services/definitions/remotion.d.mts +0 -1
  306. package/dist/services/definitions/remotion.d.mts.map +1 -1
  307. package/dist/services/definitions/remotion.mjs +54 -2
  308. package/dist/services/definitions/remotion.mjs.map +1 -0
  309. package/dist/services/definitions/rocketchat.d.mts +0 -1
  310. package/dist/services/definitions/rocketchat.d.mts.map +1 -1
  311. package/dist/services/definitions/rocketchat.mjs +56 -2
  312. package/dist/services/definitions/rocketchat.mjs.map +1 -0
  313. package/dist/services/definitions/searxng.d.mts +0 -1
  314. package/dist/services/definitions/searxng.d.mts.map +1 -1
  315. package/dist/services/definitions/searxng.mjs +64 -2
  316. package/dist/services/definitions/searxng.mjs.map +1 -0
  317. package/dist/services/definitions/stable-diffusion.d.mts +0 -1
  318. package/dist/services/definitions/stable-diffusion.d.mts.map +1 -1
  319. package/dist/services/definitions/stable-diffusion.mjs +47 -2
  320. package/dist/services/definitions/stable-diffusion.mjs.map +1 -0
  321. package/dist/services/definitions/steel-browser.d.mts +0 -1
  322. package/dist/services/definitions/steel-browser.d.mts.map +1 -1
  323. package/dist/services/definitions/steel-browser.mjs +76 -2
  324. package/dist/services/definitions/steel-browser.mjs.map +1 -0
  325. package/dist/services/definitions/stream-gateway.d.mts +7 -0
  326. package/dist/services/definitions/stream-gateway.d.mts.map +1 -0
  327. package/dist/services/definitions/stream-gateway.mjs +133 -0
  328. package/dist/services/definitions/stream-gateway.mjs.map +1 -0
  329. package/dist/services/definitions/tailscale.d.mts +0 -1
  330. package/dist/services/definitions/tailscale.d.mts.map +1 -1
  331. package/dist/services/definitions/tailscale.mjs +69 -2
  332. package/dist/services/definitions/tailscale.mjs.map +1 -0
  333. package/dist/services/definitions/temporal.d.mts +0 -1
  334. package/dist/services/definitions/temporal.d.mts.map +1 -1
  335. package/dist/services/definitions/temporal.mjs +99 -2
  336. package/dist/services/definitions/temporal.mjs.map +1 -0
  337. package/dist/services/definitions/traefik.d.mts +0 -1
  338. package/dist/services/definitions/traefik.d.mts.map +1 -1
  339. package/dist/services/definitions/traefik.mjs +57 -2
  340. package/dist/services/definitions/traefik.mjs.map +1 -0
  341. package/dist/services/definitions/umami.d.mts +0 -1
  342. package/dist/services/definitions/umami.d.mts.map +1 -1
  343. package/dist/services/definitions/umami.mjs +45 -2
  344. package/dist/services/definitions/umami.mjs.map +1 -0
  345. package/dist/services/definitions/uptime-kuma.d.mts +0 -1
  346. package/dist/services/definitions/uptime-kuma.d.mts.map +1 -1
  347. package/dist/services/definitions/uptime-kuma.mjs +50 -2
  348. package/dist/services/definitions/uptime-kuma.mjs.map +1 -0
  349. package/dist/services/definitions/usesend.d.mts +7 -0
  350. package/dist/services/definitions/usesend.d.mts.map +1 -0
  351. package/dist/services/definitions/usesend.mjs +99 -0
  352. package/dist/services/definitions/usesend.mjs.map +1 -0
  353. package/dist/services/definitions/valkey.d.mts +0 -1
  354. package/dist/services/definitions/valkey.d.mts.map +1 -1
  355. package/dist/services/definitions/valkey.mjs +60 -2
  356. package/dist/services/definitions/valkey.mjs.map +1 -0
  357. package/dist/services/definitions/watchtower.d.mts +0 -1
  358. package/dist/services/definitions/watchtower.d.mts.map +1 -1
  359. package/dist/services/definitions/watchtower.mjs +46 -2
  360. package/dist/services/definitions/watchtower.mjs.map +1 -0
  361. package/dist/services/definitions/weaviate.d.mts +0 -1
  362. package/dist/services/definitions/weaviate.d.mts.map +1 -1
  363. package/dist/services/definitions/weaviate.mjs +89 -2
  364. package/dist/services/definitions/weaviate.mjs.map +1 -0
  365. package/dist/services/definitions/whisper.d.mts +0 -1
  366. package/dist/services/definitions/whisper.d.mts.map +1 -1
  367. package/dist/services/definitions/whisper.mjs +61 -2
  368. package/dist/services/definitions/whisper.mjs.map +1 -0
  369. package/dist/services/registry.d.mts +0 -1
  370. package/dist/services/registry.d.mts.map +1 -1
  371. package/dist/services/registry.mjs +29 -2
  372. package/dist/services/registry.mjs.map +1 -0
  373. package/dist/services/registry.test.mjs +2 -2
  374. package/dist/skills/registry.d.mts +0 -1
  375. package/dist/skills/registry.d.mts.map +1 -1
  376. package/dist/skills/registry.mjs +214 -2
  377. package/dist/skills/registry.mjs.map +1 -0
  378. package/dist/types.d.mts +1 -1
  379. package/dist/types.d.mts.map +1 -1
  380. package/dist/types.mjs +10 -0
  381. package/dist/types.mjs.map +1 -1
  382. package/dist/validator.d.mts +0 -1
  383. package/dist/validator.d.mts.map +1 -1
  384. package/dist/validator.mjs +110 -2
  385. package/dist/validator.mjs.map +1 -0
  386. package/dist/validator.test.mjs +4 -4
  387. package/dist/version-manager.d.mts +0 -1
  388. package/dist/version-manager.d.mts.map +1 -1
  389. package/dist/version-manager.mjs +1 -1
  390. package/dist/{vi.2VT5v0um-Cs3Z_fCB.mjs → vi.2VT5v0um-Qk6MgAnK.mjs} +1183 -1183
  391. package/dist/vi.2VT5v0um-Qk6MgAnK.mjs.map +1 -0
  392. package/package.json +14 -13
  393. package/src/schema.ts +4 -1
  394. package/src/services/definitions/comfyui.ts +90 -0
  395. package/src/services/definitions/convex-dashboard.ts +48 -0
  396. package/src/services/definitions/convex.ts +123 -0
  397. package/src/services/definitions/desktop-environment.ts +163 -0
  398. package/src/services/definitions/index.ts +21 -0
  399. package/src/services/definitions/mission-control.ts +71 -0
  400. package/src/services/definitions/stream-gateway.ts +148 -0
  401. package/src/services/definitions/tailscale.ts +2 -0
  402. package/src/services/definitions/usesend.ts +98 -0
  403. package/src/types.ts +2 -0
  404. package/tsdown.config.ts +1 -0
  405. package/dist/anything-llm-DIIPhz6K.mjs +0 -44
  406. package/dist/anything-llm-DIIPhz6K.mjs.map +0 -1
  407. package/dist/appflowy-DdoE-dKg.mjs +0 -45
  408. package/dist/appflowy-DdoE-dKg.mjs.map +0 -1
  409. package/dist/bare-metal-install-DpYZDoGq.mjs +0 -224
  410. package/dist/bare-metal-install-DpYZDoGq.mjs.map +0 -1
  411. package/dist/bare-metal-partition-CYlOxf9B.mjs +0 -48
  412. package/dist/bare-metal-partition-CYlOxf9B.mjs.map +0 -1
  413. package/dist/beszel-DHAG1zl0.mjs +0 -45
  414. package/dist/beszel-DHAG1zl0.mjs.map +0 -1
  415. package/dist/browserless-gUuvGmMD.mjs +0 -85
  416. package/dist/browserless-gUuvGmMD.mjs.map +0 -1
  417. package/dist/caddy-BJDrqnmw.mjs +0 -77
  418. package/dist/caddy-BJDrqnmw.mjs.map +0 -1
  419. package/dist/caddy-_NIdWKrf.mjs +0 -52
  420. package/dist/caddy-_NIdWKrf.mjs.map +0 -1
  421. package/dist/chromadb-g4rIsfAl.mjs +0 -63
  422. package/dist/chromadb-g4rIsfAl.mjs.map +0 -1
  423. package/dist/claude-code-DPRA1fy_.mjs +0 -52
  424. package/dist/claude-code-DPRA1fy_.mjs.map +0 -1
  425. package/dist/code-server-BdZZxxm5.mjs +0 -66
  426. package/dist/code-server-BdZZxxm5.mjs.map +0 -1
  427. package/dist/codex-DFVzfrfX.mjs +0 -45
  428. package/dist/codex-DFVzfrfX.mjs.map +0 -1
  429. package/dist/composer-CSM5YycB.mjs +0 -287
  430. package/dist/composer-CSM5YycB.mjs.map +0 -1
  431. package/dist/coolify-Z5_zDgM3.mjs +0 -49
  432. package/dist/coolify-Z5_zDgM3.mjs.map +0 -1
  433. package/dist/definitions-BXpb1kzs.mjs +0 -138
  434. package/dist/definitions-BXpb1kzs.mjs.map +0 -1
  435. package/dist/dify-jDc9U6Ku.mjs +0 -81
  436. package/dist/dify-jDc9U6Ku.mjs.map +0 -1
  437. package/dist/docsgpt-BXM1c2JC.mjs +0 -45
  438. package/dist/docsgpt-BXM1c2JC.mjs.map +0 -1
  439. package/dist/dokploy-Ci8_fb0_.mjs +0 -49
  440. package/dist/dokploy-Ci8_fb0_.mjs.map +0 -1
  441. package/dist/dozzle-fAt2sLRL.mjs +0 -41
  442. package/dist/dozzle-fAt2sLRL.mjs.map +0 -1
  443. package/dist/env-D2h46lHT.mjs +0 -250
  444. package/dist/env-D2h46lHT.mjs.map +0 -1
  445. package/dist/ffmpeg-BCtnA8m_.mjs +0 -66
  446. package/dist/ffmpeg-BCtnA8m_.mjs.map +0 -1
  447. package/dist/flowise-CJTTBa7J.mjs +0 -45
  448. package/dist/flowise-CJTTBa7J.mjs.map +0 -1
  449. package/dist/gemini-cli-Bfwv6hYe.mjs +0 -46
  450. package/dist/gemini-cli-Bfwv6hYe.mjs.map +0 -1
  451. package/dist/gitea-BGkqa-sD.mjs +0 -49
  452. package/dist/gitea-BGkqa-sD.mjs.map +0 -1
  453. package/dist/gotify-D7p8oNM3.mjs +0 -62
  454. package/dist/gotify-D7p8oNM3.mjs.map +0 -1
  455. package/dist/grafana-BlnWc6js.mjs +0 -63
  456. package/dist/grafana-BlnWc6js.mjs.map +0 -1
  457. package/dist/grafana-D3kIm8RX.mjs +0 -293
  458. package/dist/grafana-D3kIm8RX.mjs.map +0 -1
  459. package/dist/kimi-BFu1v1sU.mjs +0 -46
  460. package/dist/kimi-BFu1v1sU.mjs.map +0 -1
  461. package/dist/lasuite-meet-agents-nlPhMEaN.mjs +0 -36
  462. package/dist/lasuite-meet-agents-nlPhMEaN.mjs.map +0 -1
  463. package/dist/lasuite-meet-backend-9H7rZ8Pc.mjs +0 -134
  464. package/dist/lasuite-meet-backend-9H7rZ8Pc.mjs.map +0 -1
  465. package/dist/lasuite-meet-frontend-B4xNbnBa.mjs +0 -48
  466. package/dist/lasuite-meet-frontend-B4xNbnBa.mjs.map +0 -1
  467. package/dist/librechat-CoPIHXKK.mjs +0 -50
  468. package/dist/librechat-CoPIHXKK.mjs.map +0 -1
  469. package/dist/lightpanda-QchAPgNX.mjs +0 -59
  470. package/dist/lightpanda-QchAPgNX.mjs.map +0 -1
  471. package/dist/litellm-Dgl6iTry.mjs +0 -47
  472. package/dist/litellm-Dgl6iTry.mjs.map +0 -1
  473. package/dist/livekit-C13SxlVB.mjs +0 -56
  474. package/dist/livekit-C13SxlVB.mjs.map +0 -1
  475. package/dist/magic-string.es-Dew0Rnsa.mjs.map +0 -1
  476. package/dist/matomo-CiOoggYl.mjs +0 -80
  477. package/dist/matomo-CiOoggYl.mjs.map +0 -1
  478. package/dist/matrix-synapse-CP20A7NN.mjs +0 -88
  479. package/dist/matrix-synapse-CP20A7NN.mjs.map +0 -1
  480. package/dist/mattermost-CeFVuhIr.mjs +0 -61
  481. package/dist/mattermost-CeFVuhIr.mjs.map +0 -1
  482. package/dist/meilisearch-CLiQiTdN.mjs +0 -78
  483. package/dist/meilisearch-CLiQiTdN.mjs.map +0 -1
  484. package/dist/minio-_QuguAeo.mjs +0 -102
  485. package/dist/minio-_QuguAeo.mjs.map +0 -1
  486. package/dist/mixpost-eSFPM9XK.mjs +0 -87
  487. package/dist/mixpost-eSFPM9XK.mjs.map +0 -1
  488. package/dist/motion-canvas-Bk1ruvuX.mjs +0 -52
  489. package/dist/motion-canvas-Bk1ruvuX.mjs.map +0 -1
  490. package/dist/n8n-W5qeU34C.mjs +0 -154
  491. package/dist/n8n-W5qeU34C.mjs.map +0 -1
  492. package/dist/n8n-workflows-BPmKVx8z.mjs +0 -75
  493. package/dist/n8n-workflows-BPmKVx8z.mjs.map +0 -1
  494. package/dist/native-services-CwOCM-Xz.mjs +0 -78
  495. package/dist/native-services-CwOCM-Xz.mjs.map +0 -1
  496. package/dist/nocodb-DQNbSYh_.mjs +0 -45
  497. package/dist/nocodb-DQNbSYh_.mjs.map +0 -1
  498. package/dist/ntfy-B8_cZAx2.mjs +0 -63
  499. package/dist/ntfy-B8_cZAx2.mjs.map +0 -1
  500. package/dist/ollama-BiKAypcO.mjs +0 -66
  501. package/dist/ollama-BiKAypcO.mjs.map +0 -1
  502. package/dist/open-webui-DZOG4_xL.mjs +0 -50
  503. package/dist/open-webui-DZOG4_xL.mjs.map +0 -1
  504. package/dist/opencode-Dvfh5KvA.mjs +0 -50
  505. package/dist/opencode-Dvfh5KvA.mjs.map +0 -1
  506. package/dist/openpanel-BuWHhDze.mjs +0 -46
  507. package/dist/openpanel-BuWHhDze.mjs.map +0 -1
  508. package/dist/outline-Dy-YzdYS.mjs +0 -74
  509. package/dist/outline-Dy-YzdYS.mjs.map +0 -1
  510. package/dist/paperless-ngx-DVtWWpKg.mjs +0 -93
  511. package/dist/paperless-ngx-DVtWWpKg.mjs.map +0 -1
  512. package/dist/playwright-server-Boiz8--G.mjs +0 -42
  513. package/dist/playwright-server-Boiz8--G.mjs.map +0 -1
  514. package/dist/portainer-D9MU96UI.mjs +0 -49
  515. package/dist/portainer-D9MU96UI.mjs.map +0 -1
  516. package/dist/postgres-init-BiM-xZtq.mjs +0 -151
  517. package/dist/postgres-init-BiM-xZtq.mjs.map +0 -1
  518. package/dist/postgresql-s65Z9RqR.mjs +0 -84
  519. package/dist/postgresql-s65Z9RqR.mjs.map +0 -1
  520. package/dist/postiz-U6EK23EY.mjs +0 -83
  521. package/dist/postiz-U6EK23EY.mjs.map +0 -1
  522. package/dist/prometheus-WOlk-a1G.mjs +0 -107
  523. package/dist/prometheus-WOlk-a1G.mjs.map +0 -1
  524. package/dist/prometheus-x901F67p.mjs +0 -52
  525. package/dist/prometheus-x901F67p.mjs.map +0 -1
  526. package/dist/qdrant-DZW9uW4e.mjs +0 -77
  527. package/dist/qdrant-DZW9uW4e.mjs.map +0 -1
  528. package/dist/readme-C7M3QE9a.mjs +0 -199
  529. package/dist/readme-C7M3QE9a.mjs.map +0 -1
  530. package/dist/redis-DPMOf237.mjs +0 -91
  531. package/dist/redis-DPMOf237.mjs.map +0 -1
  532. package/dist/registry-CqLarEm5.mjs +0 -30
  533. package/dist/registry-CqLarEm5.mjs.map +0 -1
  534. package/dist/registry-DLX9Q4VQ.mjs +0 -215
  535. package/dist/registry-DLX9Q4VQ.mjs.map +0 -1
  536. package/dist/remotion-COkr0wpr.mjs +0 -55
  537. package/dist/remotion-COkr0wpr.mjs.map +0 -1
  538. package/dist/resolver-Dl5clk-d.mjs +0 -194
  539. package/dist/resolver-Dl5clk-d.mjs.map +0 -1
  540. package/dist/rocketchat-BebQT1MZ.mjs +0 -57
  541. package/dist/rocketchat-BebQT1MZ.mjs.map +0 -1
  542. package/dist/schema-PSUY6yJU.d.mts +0 -700
  543. package/dist/schema-PSUY6yJU.d.mts.map +0 -1
  544. package/dist/scripts-DsljWbP4.mjs +0 -351
  545. package/dist/scripts-DsljWbP4.mjs.map +0 -1
  546. package/dist/searxng-tJpBkchC.mjs +0 -65
  547. package/dist/searxng-tJpBkchC.mjs.map +0 -1
  548. package/dist/skills-DWG72Y3X.mjs +0 -587
  549. package/dist/skills-DWG72Y3X.mjs.map +0 -1
  550. package/dist/stable-diffusion-BulAzkyT.mjs +0 -48
  551. package/dist/stable-diffusion-BulAzkyT.mjs.map +0 -1
  552. package/dist/steel-browser-Cc0bYBjM.mjs +0 -77
  553. package/dist/steel-browser-Cc0bYBjM.mjs.map +0 -1
  554. package/dist/tailscale-CrM4EZlF.mjs +0 -69
  555. package/dist/tailscale-CrM4EZlF.mjs.map +0 -1
  556. package/dist/temporal-49gA0msh.mjs +0 -100
  557. package/dist/temporal-49gA0msh.mjs.map +0 -1
  558. package/dist/traefik-Da-c1f55.mjs +0 -58
  559. package/dist/traefik-Da-c1f55.mjs.map +0 -1
  560. package/dist/umami-csBSsHqO.mjs +0 -46
  561. package/dist/umami-csBSsHqO.mjs.map +0 -1
  562. package/dist/uptime-kuma-D0NvVuXD.mjs +0 -51
  563. package/dist/uptime-kuma-D0NvVuXD.mjs.map +0 -1
  564. package/dist/validator-2FspYNva.mjs +0 -111
  565. package/dist/validator-2FspYNva.mjs.map +0 -1
  566. package/dist/valkey-BCZqGJ0L.mjs +0 -61
  567. package/dist/valkey-BCZqGJ0L.mjs.map +0 -1
  568. package/dist/vi.2VT5v0um-Cs3Z_fCB.mjs.map +0 -1
  569. package/dist/watchtower-BWuvFGpA.mjs +0 -47
  570. package/dist/watchtower-BWuvFGpA.mjs.map +0 -1
  571. package/dist/weaviate-DttY1Hn7.mjs +0 -90
  572. package/dist/weaviate-DttY1Hn7.mjs.map +0 -1
  573. package/dist/whisper-CLu7-Vd8.mjs +0 -62
  574. package/dist/whisper-CLu7-Vd8.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-PSUY6yJU.d.mts","names":[],"sources":["../src/schema.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,351 +0,0 @@
1
- //#region src/generators/scripts.ts
2
- /**
3
- * Generates helper shell scripts for managing the OpenClaw Docker Compose stack.
4
- *
5
- * Returns a map of file paths (relative to project root) to file contents.
6
- */
7
- function generateScripts() {
8
- const files = {};
9
- files["scripts/start.sh"] = `#!/usr/bin/env bash
10
- set -euo pipefail
11
-
12
- # ─── OpenClaw Start Script ──────────────────────────────────────────────────
13
- # Production-quality bootstrap: validates prerequisites, auto-generates secrets,
14
- # creates required directories, and starts all services via Docker Compose.
15
- # Modelled after the official docker-setup.sh patterns.
16
-
17
- SCRIPT_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
18
- PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
19
-
20
- cd "$PROJECT_DIR"
21
-
22
- echo "🐾 OpenClaw — Starting services..."
23
- echo ""
24
-
25
- # ── Colour helpers (no-op when not a TTY) ────────────────────────────────────
26
- if [ -t 1 ]; then
27
- RED='\\033[0;31m'; GREEN='\\033[0;32m'; YELLOW='\\033[1;33m'; CYAN='\\033[0;36m'; NC='\\033[0m'
28
- else
29
- RED=''; GREEN=''; YELLOW=''; CYAN=''; NC=''
30
- fi
31
-
32
- info() { echo -e "\${CYAN}ℹ $*\${NC}"; }
33
- ok() { echo -e "\${GREEN}✅ $*\${NC}"; }
34
- warn() { echo -e "\${YELLOW}⚠️ $*\${NC}"; }
35
- err() { echo -e "\${RED}❌ $*\${NC}" >&2; }
36
-
37
- # ── Prerequisite checks ─────────────────────────────────────────────────────
38
-
39
- if ! command -v docker &> /dev/null; then
40
- err "Docker is not installed. Please install Docker first."
41
- echo " https://docs.docker.com/get-docker/"
42
- exit 1
43
- fi
44
-
45
- if ! docker compose version &> /dev/null; then
46
- err "Docker Compose (v2) is not available."
47
- echo " https://docs.docker.com/compose/install/"
48
- exit 1
49
- fi
50
-
51
- if ! docker info &> /dev/null 2>&1; then
52
- err "Docker daemon is not running. Please start Docker."
53
- exit 1
54
- fi
55
-
56
- # ── Source .env if it exists ─────────────────────────────────────────────────
57
-
58
- if [ -f ".env" ]; then
59
- info "Loading existing .env file..."
60
- set -a
61
- # shellcheck disable=SC1091
62
- source .env
63
- set +a
64
- else
65
- warn ".env file not found — will create one from .env.example if available."
66
- if [ -f ".env.example" ]; then
67
- cp .env.example .env
68
- info "Created .env from .env.example"
69
- set -a
70
- # shellcheck disable=SC1091
71
- source .env
72
- set +a
73
- fi
74
- fi
75
-
76
- # ── Auto-generate OPENCLAW_GATEWAY_TOKEN if missing ──────────────────────────
77
-
78
- if [ -z "\${OPENCLAW_GATEWAY_TOKEN:-}" ]; then
79
- info "Generating OPENCLAW_GATEWAY_TOKEN..."
80
- if command -v openssl &> /dev/null; then
81
- OPENCLAW_GATEWAY_TOKEN="$(openssl rand -hex 32)"
82
- elif command -v python3 &> /dev/null; then
83
- OPENCLAW_GATEWAY_TOKEN="$(python3 -c 'import secrets; print(secrets.token_hex(32))')"
84
- elif command -v python &> /dev/null; then
85
- OPENCLAW_GATEWAY_TOKEN="$(python -c 'import secrets; print(secrets.token_hex(32))')"
86
- else
87
- err "Cannot generate token: neither openssl nor python3 found."
88
- exit 1
89
- fi
90
- export OPENCLAW_GATEWAY_TOKEN
91
-
92
- # Persist into .env
93
- if [ -f ".env" ]; then
94
- if grep -q "^OPENCLAW_GATEWAY_TOKEN=" .env 2>/dev/null; then
95
- sed -i.bak "s|^OPENCLAW_GATEWAY_TOKEN=.*|OPENCLAW_GATEWAY_TOKEN=\${OPENCLAW_GATEWAY_TOKEN}|" .env && rm -f .env.bak
96
- else
97
- echo "OPENCLAW_GATEWAY_TOKEN=\${OPENCLAW_GATEWAY_TOKEN}" >> .env
98
- fi
99
- fi
100
- ok "Gateway token generated and saved."
101
- fi
102
-
103
- # ── Apply defaults for optional variables ────────────────────────────────────
104
-
105
- export OPENCLAW_VERSION="\${OPENCLAW_VERSION:-latest}"
106
- export OPENCLAW_GATEWAY_PORT="\${OPENCLAW_GATEWAY_PORT:-18789}"
107
- export OPENCLAW_BRIDGE_PORT="\${OPENCLAW_BRIDGE_PORT:-18790}"
108
- export OPENCLAW_GATEWAY_BIND="\${OPENCLAW_GATEWAY_BIND:-lan}"
109
- export OPENCLAW_CONFIG_DIR="\${OPENCLAW_CONFIG_DIR:-./openclaw/config}"
110
- export OPENCLAW_WORKSPACE_DIR="\${OPENCLAW_WORKSPACE_DIR:-./openclaw/workspace}"
111
-
112
- # ── Create required host directories ────────────────────────────────────────
113
-
114
- info "Ensuring host directories exist..."
115
- mkdir -p "\${OPENCLAW_CONFIG_DIR}"
116
- mkdir -p "\${OPENCLAW_WORKSPACE_DIR}"
117
- ok "Directories ready: \${OPENCLAW_CONFIG_DIR}, \${OPENCLAW_WORKSPACE_DIR}"
118
-
119
- # ── Check for empty secret values ────────────────────────────────────────────
120
-
121
- EMPTY_SECRETS=0
122
- while IFS='=' read -r key value; do
123
- [[ "$key" =~ ^#.*$ ]] && continue
124
- [[ -z "$key" ]] && continue
125
- if [[ "$key" =~ (PASSWORD|TOKEN|SECRET|SESSION_KEY|COOKIE) ]] && [[ -z "\${value:-}" ]]; then
126
- warn "Warning: $key is empty in .env"
127
- EMPTY_SECRETS=$((EMPTY_SECRETS + 1))
128
- fi
129
- done < .env 2>/dev/null || true
130
-
131
- if [ "$EMPTY_SECRETS" -gt 0 ]; then
132
- echo ""
133
- warn "$EMPTY_SECRETS secret(s) are empty. Some services may not function until they are set."
134
- echo ""
135
- fi
136
-
137
- # ── Pull and start ───────────────────────────────────────────────────────────
138
-
139
- echo ""
140
- info "Pulling latest images..."
141
- docker compose pull --quiet 2>/dev/null || docker compose pull
142
-
143
- echo ""
144
- info "Starting services..."
145
- docker compose up -d --remove-orphans
146
-
147
- # ── Health-check loop ────────────────────────────────────────────────────────
148
-
149
- echo ""
150
- info "Waiting for services to become healthy..."
151
- sleep 5
152
-
153
- RETRIES=0
154
- MAX_RETRIES=30
155
- while [ $RETRIES -lt $MAX_RETRIES ]; do
156
- UNHEALTHY=$(docker compose ps --format json 2>/dev/null | grep -c '"unhealthy"' || true)
157
- STARTING=$(docker compose ps --format json 2>/dev/null | grep -c '"starting"' || true)
158
-
159
- if [ "$UNHEALTHY" -eq 0 ] && [ "$STARTING" -eq 0 ]; then
160
- break
161
- fi
162
-
163
- RETRIES=$((RETRIES + 1))
164
- sleep 2
165
- done
166
-
167
- echo ""
168
- docker compose ps
169
- echo ""
170
-
171
- if [ $RETRIES -ge $MAX_RETRIES ]; then
172
- warn "Some services may still be starting. Check: docker compose ps"
173
- else
174
- ok "All services are running!"
175
- fi
176
-
177
- # ── Print service URLs & token ───────────────────────────────────────────────
178
-
179
- GATEWAY_HOST="localhost"
180
- if [ "\${OPENCLAW_GATEWAY_BIND}" = "lan" ]; then
181
- GATEWAY_HOST="0.0.0.0"
182
- fi
183
-
184
- echo ""
185
- echo "═══════════════════════════════════════════════════════════════════════════════"
186
- echo " 🐾 OpenClaw is ready!"
187
- echo "═══════════════════════════════════════════════════════════════════════════════"
188
- echo ""
189
- echo " Gateway URL: http://\${GATEWAY_HOST}:\${OPENCLAW_GATEWAY_PORT}"
190
- echo " Bridge (WebSocket): ws://\${GATEWAY_HOST}:\${OPENCLAW_BRIDGE_PORT}"
191
- echo " Config directory: \${OPENCLAW_CONFIG_DIR}"
192
- echo " Workspace directory:\${OPENCLAW_WORKSPACE_DIR}"
193
- echo ""
194
- echo " Gateway Token: \${OPENCLAW_GATEWAY_TOKEN}"
195
- echo ""
196
- echo " Manage:"
197
- echo " Stop: ./scripts/stop.sh"
198
- echo " Status: ./scripts/status.sh"
199
- echo " Update: ./scripts/update.sh"
200
- echo " Logs: docker compose logs -f"
201
- echo ""
202
- echo "═══════════════════════════════════════════════════════════════════════════════"
203
- `;
204
- files["scripts/stop.sh"] = `#!/usr/bin/env bash
205
- set -euo pipefail
206
-
207
- # ─── OpenClaw Stop Script ───────────────────────────────────────────────────
208
- # Gracefully stops all services.
209
-
210
- SCRIPT_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
211
- PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
212
-
213
- cd "$PROJECT_DIR"
214
-
215
- echo "🐾 OpenClaw — Stopping services..."
216
- echo ""
217
-
218
- # Graceful shutdown with timeout
219
- docker compose down --timeout 30
220
-
221
- echo ""
222
- echo "✅ All services stopped."
223
- `;
224
- files["scripts/update.sh"] = `#!/usr/bin/env bash
225
- set -euo pipefail
226
-
227
- # ─── OpenClaw Update Script ─────────────────────────────────────────────────
228
- # Pulls latest images and restarts services.
229
-
230
- SCRIPT_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
231
- PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
232
-
233
- cd "$PROJECT_DIR"
234
-
235
- echo "🐾 OpenClaw — Updating services..."
236
- echo ""
237
-
238
- # Pull latest images
239
- echo "📦 Pulling latest images..."
240
- docker compose pull
241
-
242
- echo ""
243
- echo "🔄 Restarting services with new images..."
244
- docker compose up -d --remove-orphans
245
-
246
- echo ""
247
- echo "⏳ Waiting for services to stabilize..."
248
- sleep 10
249
-
250
- docker compose ps
251
-
252
- echo ""
253
- echo "✅ Update complete!"
254
- `;
255
- files["scripts/backup.sh"] = `#!/usr/bin/env bash
256
- set -euo pipefail
257
-
258
- # ─── OpenClaw Backup Script ─────────────────────────────────────────────────
259
- # Backs up all named Docker volumes to a timestamped directory.
260
-
261
- SCRIPT_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
262
- PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
263
-
264
- cd "$PROJECT_DIR"
265
-
266
- TIMESTAMP=$(date +%Y%m%d_%H%M%S)
267
- BACKUP_DIR="$PROJECT_DIR/backups/$TIMESTAMP"
268
- mkdir -p "$BACKUP_DIR"
269
-
270
- echo "🐾 OpenClaw — Backing up volumes..."
271
- echo " Backup directory: $BACKUP_DIR"
272
- echo ""
273
-
274
- # Get project name from docker compose
275
- PROJECT_NAME=$(docker compose config --format json 2>/dev/null | grep -o '"name":"[^"]*"' | head -1 | cut -d'"' -f4 || echo "openclaw")
276
-
277
- # List all volumes for this project
278
- VOLUMES=$(docker volume ls --filter "name=\${PROJECT_NAME}" --format "{{.Name}}" 2>/dev/null || true)
279
-
280
- if [ -z "$VOLUMES" ]; then
281
- echo "⚠️ No volumes found for project: $PROJECT_NAME"
282
- echo " Trying to list all openclaw volumes..."
283
- VOLUMES=$(docker volume ls --filter "name=openclaw" --format "{{.Name}}" 2>/dev/null || true)
284
- fi
285
-
286
- if [ -z "$VOLUMES" ]; then
287
- echo "❌ No volumes found to back up."
288
- exit 1
289
- fi
290
-
291
- BACKED_UP=0
292
- for VOLUME in $VOLUMES; do
293
- echo "📦 Backing up: $VOLUME"
294
- docker run --rm \\
295
- -v "\${VOLUME}:/source:ro" \\
296
- -v "$BACKUP_DIR:/backup" \\
297
- alpine tar czf "/backup/\${VOLUME}.tar.gz" -C /source .
298
-
299
- SIZE=$(du -sh "$BACKUP_DIR/\${VOLUME}.tar.gz" | cut -f1)
300
- echo " ✓ $VOLUME ($SIZE)"
301
- BACKED_UP=$((BACKED_UP + 1))
302
- done
303
-
304
- TOTAL_SIZE=$(du -sh "$BACKUP_DIR" | cut -f1)
305
- echo ""
306
- echo "✅ Backed up $BACKED_UP volume(s) ($TOTAL_SIZE total)"
307
- echo " Location: $BACKUP_DIR"
308
- `;
309
- files["scripts/status.sh"] = `#!/usr/bin/env bash
310
- set -euo pipefail
311
-
312
- # ─── OpenClaw Status Script ─────────────────────────────────────────────────
313
- # Shows the current status of all services.
314
-
315
- SCRIPT_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
316
- PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
317
-
318
- cd "$PROJECT_DIR"
319
-
320
- echo "🐾 OpenClaw — Service Status"
321
- echo ""
322
-
323
- # Show compose status
324
- docker compose ps
325
-
326
- echo ""
327
- echo "── Resource Usage ──────────────────────────────────────────────────────"
328
- echo ""
329
-
330
- # Show resource usage
331
- docker compose top 2>/dev/null || true
332
-
333
- echo ""
334
- echo "── Disk Usage ─────────────────────────────────────────────────────────"
335
- echo ""
336
-
337
- # Show volume sizes
338
- docker system df -v 2>/dev/null | head -30 || docker system df 2>/dev/null || true
339
-
340
- echo ""
341
- echo "── Network ────────────────────────────────────────────────────────────"
342
- echo ""
343
-
344
- docker network ls --filter "name=openclaw" --format "table {{.Name}}\\t{{.Driver}}\\t{{.Scope}}" 2>/dev/null || true
345
- `;
346
- return files;
347
- }
348
-
349
- //#endregion
350
- export { generateScripts as t };
351
- //# sourceMappingURL=scripts-DsljWbP4.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts-DsljWbP4.mjs","names":[],"sources":["../src/generators/scripts.ts"],"sourcesContent":["/**\n * Generates helper shell scripts for managing the OpenClaw Docker Compose stack.\n *\n * Returns a map of file paths (relative to project root) to file contents.\n */\nexport function generateScripts(): Record<string, string> {\n\tconst files: Record<string, string> = {};\n\n\t// ── scripts/start.sh ────────────────────────────────────────────────────\n\n\tfiles[\"scripts/start.sh\"] = `#!/usr/bin/env bash\nset -euo pipefail\n\n# ─── OpenClaw Start Script ──────────────────────────────────────────────────\n# Production-quality bootstrap: validates prerequisites, auto-generates secrets,\n# creates required directories, and starts all services via Docker Compose.\n# Modelled after the official docker-setup.sh patterns.\n\nSCRIPT_DIR=\"$(cd \"$(dirname \"\\${BASH_SOURCE[0]}\")\" && pwd)\"\nPROJECT_DIR=\"$(dirname \"$SCRIPT_DIR\")\"\n\ncd \"$PROJECT_DIR\"\n\necho \"🐾 OpenClaw — Starting services...\"\necho \"\"\n\n# ── Colour helpers (no-op when not a TTY) ────────────────────────────────────\nif [ -t 1 ]; then\n RED='\\\\033[0;31m'; GREEN='\\\\033[0;32m'; YELLOW='\\\\033[1;33m'; CYAN='\\\\033[0;36m'; NC='\\\\033[0m'\nelse\n RED=''; GREEN=''; YELLOW=''; CYAN=''; NC=''\nfi\n\ninfo() { echo -e \"\\${CYAN}ℹ $*\\${NC}\"; }\nok() { echo -e \"\\${GREEN}✅ $*\\${NC}\"; }\nwarn() { echo -e \"\\${YELLOW}⚠️ $*\\${NC}\"; }\nerr() { echo -e \"\\${RED}❌ $*\\${NC}\" >&2; }\n\n# ── Prerequisite checks ─────────────────────────────────────────────────────\n\nif ! command -v docker &> /dev/null; then\n err \"Docker is not installed. Please install Docker first.\"\n echo \" https://docs.docker.com/get-docker/\"\n exit 1\nfi\n\nif ! docker compose version &> /dev/null; then\n err \"Docker Compose (v2) is not available.\"\n echo \" https://docs.docker.com/compose/install/\"\n exit 1\nfi\n\nif ! docker info &> /dev/null 2>&1; then\n err \"Docker daemon is not running. Please start Docker.\"\n exit 1\nfi\n\n# ── Source .env if it exists ─────────────────────────────────────────────────\n\nif [ -f \".env\" ]; then\n info \"Loading existing .env file...\"\n set -a\n # shellcheck disable=SC1091\n source .env\n set +a\nelse\n warn \".env file not found — will create one from .env.example if available.\"\n if [ -f \".env.example\" ]; then\n cp .env.example .env\n info \"Created .env from .env.example\"\n set -a\n # shellcheck disable=SC1091\n source .env\n set +a\n fi\nfi\n\n# ── Auto-generate OPENCLAW_GATEWAY_TOKEN if missing ──────────────────────────\n\nif [ -z \"\\${OPENCLAW_GATEWAY_TOKEN:-}\" ]; then\n info \"Generating OPENCLAW_GATEWAY_TOKEN...\"\n if command -v openssl &> /dev/null; then\n OPENCLAW_GATEWAY_TOKEN=\"$(openssl rand -hex 32)\"\n elif command -v python3 &> /dev/null; then\n OPENCLAW_GATEWAY_TOKEN=\"$(python3 -c 'import secrets; print(secrets.token_hex(32))')\"\n elif command -v python &> /dev/null; then\n OPENCLAW_GATEWAY_TOKEN=\"$(python -c 'import secrets; print(secrets.token_hex(32))')\"\n else\n err \"Cannot generate token: neither openssl nor python3 found.\"\n exit 1\n fi\n export OPENCLAW_GATEWAY_TOKEN\n\n # Persist into .env\n if [ -f \".env\" ]; then\n if grep -q \"^OPENCLAW_GATEWAY_TOKEN=\" .env 2>/dev/null; then\n sed -i.bak \"s|^OPENCLAW_GATEWAY_TOKEN=.*|OPENCLAW_GATEWAY_TOKEN=\\${OPENCLAW_GATEWAY_TOKEN}|\" .env && rm -f .env.bak\n else\n echo \"OPENCLAW_GATEWAY_TOKEN=\\${OPENCLAW_GATEWAY_TOKEN}\" >> .env\n fi\n fi\n ok \"Gateway token generated and saved.\"\nfi\n\n# ── Apply defaults for optional variables ────────────────────────────────────\n\nexport OPENCLAW_VERSION=\"\\${OPENCLAW_VERSION:-latest}\"\nexport OPENCLAW_GATEWAY_PORT=\"\\${OPENCLAW_GATEWAY_PORT:-18789}\"\nexport OPENCLAW_BRIDGE_PORT=\"\\${OPENCLAW_BRIDGE_PORT:-18790}\"\nexport OPENCLAW_GATEWAY_BIND=\"\\${OPENCLAW_GATEWAY_BIND:-lan}\"\nexport OPENCLAW_CONFIG_DIR=\"\\${OPENCLAW_CONFIG_DIR:-./openclaw/config}\"\nexport OPENCLAW_WORKSPACE_DIR=\"\\${OPENCLAW_WORKSPACE_DIR:-./openclaw/workspace}\"\n\n# ── Create required host directories ────────────────────────────────────────\n\ninfo \"Ensuring host directories exist...\"\nmkdir -p \"\\${OPENCLAW_CONFIG_DIR}\"\nmkdir -p \"\\${OPENCLAW_WORKSPACE_DIR}\"\nok \"Directories ready: \\${OPENCLAW_CONFIG_DIR}, \\${OPENCLAW_WORKSPACE_DIR}\"\n\n# ── Check for empty secret values ────────────────────────────────────────────\n\nEMPTY_SECRETS=0\nwhile IFS='=' read -r key value; do\n [[ \"$key\" =~ ^#.*$ ]] && continue\n [[ -z \"$key\" ]] && continue\n if [[ \"$key\" =~ (PASSWORD|TOKEN|SECRET|SESSION_KEY|COOKIE) ]] && [[ -z \"\\${value:-}\" ]]; then\n warn \"Warning: $key is empty in .env\"\n EMPTY_SECRETS=$((EMPTY_SECRETS + 1))\n fi\ndone < .env 2>/dev/null || true\n\nif [ \"$EMPTY_SECRETS\" -gt 0 ]; then\n echo \"\"\n warn \"$EMPTY_SECRETS secret(s) are empty. Some services may not function until they are set.\"\n echo \"\"\nfi\n\n# ── Pull and start ───────────────────────────────────────────────────────────\n\necho \"\"\ninfo \"Pulling latest images...\"\ndocker compose pull --quiet 2>/dev/null || docker compose pull\n\necho \"\"\ninfo \"Starting services...\"\ndocker compose up -d --remove-orphans\n\n# ── Health-check loop ────────────────────────────────────────────────────────\n\necho \"\"\ninfo \"Waiting for services to become healthy...\"\nsleep 5\n\nRETRIES=0\nMAX_RETRIES=30\nwhile [ $RETRIES -lt $MAX_RETRIES ]; do\n UNHEALTHY=$(docker compose ps --format json 2>/dev/null | grep -c '\"unhealthy\"' || true)\n STARTING=$(docker compose ps --format json 2>/dev/null | grep -c '\"starting\"' || true)\n\n if [ \"$UNHEALTHY\" -eq 0 ] && [ \"$STARTING\" -eq 0 ]; then\n break\n fi\n\n RETRIES=$((RETRIES + 1))\n sleep 2\ndone\n\necho \"\"\ndocker compose ps\necho \"\"\n\nif [ $RETRIES -ge $MAX_RETRIES ]; then\n warn \"Some services may still be starting. Check: docker compose ps\"\nelse\n ok \"All services are running!\"\nfi\n\n# ── Print service URLs & token ───────────────────────────────────────────────\n\nGATEWAY_HOST=\"localhost\"\nif [ \"\\${OPENCLAW_GATEWAY_BIND}\" = \"lan\" ]; then\n GATEWAY_HOST=\"0.0.0.0\"\nfi\n\necho \"\"\necho \"═══════════════════════════════════════════════════════════════════════════════\"\necho \" 🐾 OpenClaw is ready!\"\necho \"═══════════════════════════════════════════════════════════════════════════════\"\necho \"\"\necho \" Gateway URL: http://\\${GATEWAY_HOST}:\\${OPENCLAW_GATEWAY_PORT}\"\necho \" Bridge (WebSocket): ws://\\${GATEWAY_HOST}:\\${OPENCLAW_BRIDGE_PORT}\"\necho \" Config directory: \\${OPENCLAW_CONFIG_DIR}\"\necho \" Workspace directory:\\${OPENCLAW_WORKSPACE_DIR}\"\necho \"\"\necho \" Gateway Token: \\${OPENCLAW_GATEWAY_TOKEN}\"\necho \"\"\necho \" Manage:\"\necho \" Stop: ./scripts/stop.sh\"\necho \" Status: ./scripts/status.sh\"\necho \" Update: ./scripts/update.sh\"\necho \" Logs: docker compose logs -f\"\necho \"\"\necho \"═══════════════════════════════════════════════════════════════════════════════\"\n`;\n\n\t// ── scripts/stop.sh ─────────────────────────────────────────────────────\n\n\tfiles[\"scripts/stop.sh\"] = `#!/usr/bin/env bash\nset -euo pipefail\n\n# ─── OpenClaw Stop Script ───────────────────────────────────────────────────\n# Gracefully stops all services.\n\nSCRIPT_DIR=\"$(cd \"$(dirname \"\\${BASH_SOURCE[0]}\")\" && pwd)\"\nPROJECT_DIR=\"$(dirname \"$SCRIPT_DIR\")\"\n\ncd \"$PROJECT_DIR\"\n\necho \"🐾 OpenClaw — Stopping services...\"\necho \"\"\n\n# Graceful shutdown with timeout\ndocker compose down --timeout 30\n\necho \"\"\necho \"✅ All services stopped.\"\n`;\n\n\t// ── scripts/update.sh ───────────────────────────────────────────────────\n\n\tfiles[\"scripts/update.sh\"] = `#!/usr/bin/env bash\nset -euo pipefail\n\n# ─── OpenClaw Update Script ─────────────────────────────────────────────────\n# Pulls latest images and restarts services.\n\nSCRIPT_DIR=\"$(cd \"$(dirname \"\\${BASH_SOURCE[0]}\")\" && pwd)\"\nPROJECT_DIR=\"$(dirname \"$SCRIPT_DIR\")\"\n\ncd \"$PROJECT_DIR\"\n\necho \"🐾 OpenClaw — Updating services...\"\necho \"\"\n\n# Pull latest images\necho \"📦 Pulling latest images...\"\ndocker compose pull\n\necho \"\"\necho \"🔄 Restarting services with new images...\"\ndocker compose up -d --remove-orphans\n\necho \"\"\necho \"⏳ Waiting for services to stabilize...\"\nsleep 10\n\ndocker compose ps\n\necho \"\"\necho \"✅ Update complete!\"\n`;\n\n\t// ── scripts/backup.sh ───────────────────────────────────────────────────\n\n\tfiles[\"scripts/backup.sh\"] = `#!/usr/bin/env bash\nset -euo pipefail\n\n# ─── OpenClaw Backup Script ─────────────────────────────────────────────────\n# Backs up all named Docker volumes to a timestamped directory.\n\nSCRIPT_DIR=\"$(cd \"$(dirname \"\\${BASH_SOURCE[0]}\")\" && pwd)\"\nPROJECT_DIR=\"$(dirname \"$SCRIPT_DIR\")\"\n\ncd \"$PROJECT_DIR\"\n\nTIMESTAMP=$(date +%Y%m%d_%H%M%S)\nBACKUP_DIR=\"$PROJECT_DIR/backups/$TIMESTAMP\"\nmkdir -p \"$BACKUP_DIR\"\n\necho \"🐾 OpenClaw — Backing up volumes...\"\necho \" Backup directory: $BACKUP_DIR\"\necho \"\"\n\n# Get project name from docker compose\nPROJECT_NAME=$(docker compose config --format json 2>/dev/null | grep -o '\"name\":\"[^\"]*\"' | head -1 | cut -d'\"' -f4 || echo \"openclaw\")\n\n# List all volumes for this project\nVOLUMES=$(docker volume ls --filter \"name=\\${PROJECT_NAME}\" --format \"{{.Name}}\" 2>/dev/null || true)\n\nif [ -z \"$VOLUMES\" ]; then\n echo \"⚠️ No volumes found for project: $PROJECT_NAME\"\n echo \" Trying to list all openclaw volumes...\"\n VOLUMES=$(docker volume ls --filter \"name=openclaw\" --format \"{{.Name}}\" 2>/dev/null || true)\nfi\n\nif [ -z \"$VOLUMES\" ]; then\n echo \"❌ No volumes found to back up.\"\n exit 1\nfi\n\nBACKED_UP=0\nfor VOLUME in $VOLUMES; do\n echo \"📦 Backing up: $VOLUME\"\n docker run --rm \\\\\n -v \"\\${VOLUME}:/source:ro\" \\\\\n -v \"$BACKUP_DIR:/backup\" \\\\\n alpine tar czf \"/backup/\\${VOLUME}.tar.gz\" -C /source .\n\n SIZE=$(du -sh \"$BACKUP_DIR/\\${VOLUME}.tar.gz\" | cut -f1)\n echo \" ✓ $VOLUME ($SIZE)\"\n BACKED_UP=$((BACKED_UP + 1))\ndone\n\nTOTAL_SIZE=$(du -sh \"$BACKUP_DIR\" | cut -f1)\necho \"\"\necho \"✅ Backed up $BACKED_UP volume(s) ($TOTAL_SIZE total)\"\necho \" Location: $BACKUP_DIR\"\n`;\n\n\t// ── scripts/status.sh ───────────────────────────────────────────────────\n\n\tfiles[\"scripts/status.sh\"] = `#!/usr/bin/env bash\nset -euo pipefail\n\n# ─── OpenClaw Status Script ─────────────────────────────────────────────────\n# Shows the current status of all services.\n\nSCRIPT_DIR=\"$(cd \"$(dirname \"\\${BASH_SOURCE[0]}\")\" && pwd)\"\nPROJECT_DIR=\"$(dirname \"$SCRIPT_DIR\")\"\n\ncd \"$PROJECT_DIR\"\n\necho \"🐾 OpenClaw — Service Status\"\necho \"\"\n\n# Show compose status\ndocker compose ps\n\necho \"\"\necho \"── Resource Usage ──────────────────────────────────────────────────────\"\necho \"\"\n\n# Show resource usage\ndocker compose top 2>/dev/null || true\n\necho \"\"\necho \"── Disk Usage ─────────────────────────────────────────────────────────\"\necho \"\"\n\n# Show volume sizes\ndocker system df -v 2>/dev/null | head -30 || docker system df 2>/dev/null || true\n\necho \"\"\necho \"── Network ────────────────────────────────────────────────────────────\"\necho \"\"\n\ndocker network ls --filter \"name=openclaw\" --format \"table {{.Name}}\\\\t{{.Driver}}\\\\t{{.Scope}}\" 2>/dev/null || true\n`;\n\n\treturn files;\n}\n"],"mappings":";;;;;;AAKA,SAAgB,kBAA0C;CACzD,MAAM,QAAgC,EAAE;AAIxC,OAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsM5B,OAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;AAuB3B,OAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkC7B,OAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyD7B,OAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsC7B,QAAO"}
@@ -1,65 +0,0 @@
1
- //#region src/services/definitions/searxng.ts
2
- const searxngDefinition = {
3
- id: "searxng",
4
- name: "SearXNG",
5
- description: "Privacy-respecting, self-hosted metasearch engine that aggregates results from multiple search engines without tracking.",
6
- category: "search",
7
- icon: "🔍",
8
- image: "searxng/searxng",
9
- imageTag: "latest",
10
- ports: [{
11
- host: 8080,
12
- container: 8080,
13
- description: "SearXNG web interface and API",
14
- exposed: true
15
- }],
16
- volumes: [{
17
- name: "searxng-data",
18
- containerPath: "/etc/searxng",
19
- description: "SearXNG configuration and settings"
20
- }],
21
- environment: [],
22
- healthcheck: {
23
- test: "wget -q --spider http://localhost:8080/ || exit 1",
24
- interval: "30s",
25
- timeout: "10s",
26
- retries: 3,
27
- startPeriod: "15s"
28
- },
29
- dependsOn: [],
30
- restartPolicy: "unless-stopped",
31
- networks: ["openclaw-network"],
32
- skills: [{
33
- skillId: "searxng-search",
34
- autoInstall: true
35
- }],
36
- openclawEnvVars: [{
37
- key: "SEARXNG_HOST",
38
- defaultValue: "searxng",
39
- secret: false,
40
- description: "SearXNG hostname for OpenClaw",
41
- required: true
42
- }, {
43
- key: "SEARXNG_PORT",
44
- defaultValue: "8080",
45
- secret: false,
46
- description: "SearXNG port for OpenClaw",
47
- required: true
48
- }],
49
- docsUrl: "https://docs.searxng.org/",
50
- tags: [
51
- "search",
52
- "meta-search",
53
- "privacy"
54
- ],
55
- maturity: "stable",
56
- requires: [],
57
- recommends: ["redis"],
58
- conflictsWith: [],
59
- minMemoryMB: 256,
60
- gpuRequired: false
61
- };
62
-
63
- //#endregion
64
- export { searxngDefinition as t };
65
- //# sourceMappingURL=searxng-tJpBkchC.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"searxng-tJpBkchC.mjs","names":[],"sources":["../src/services/definitions/searxng.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const searxngDefinition: ServiceDefinition = {\n\tid: \"searxng\",\n\tname: \"SearXNG\",\n\tdescription:\n\t\t\"Privacy-respecting, self-hosted metasearch engine that aggregates results from multiple search engines without tracking.\",\n\tcategory: \"search\",\n\ticon: \"🔍\",\n\n\timage: \"searxng/searxng\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 8080,\n\t\t\tcontainer: 8080,\n\t\t\tdescription: \"SearXNG web interface and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"searxng-data\",\n\t\t\tcontainerPath: \"/etc/searxng\",\n\t\t\tdescription: \"SearXNG configuration and settings\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:8080/ || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"searxng-search\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"SEARXNG_HOST\",\n\t\t\tdefaultValue: \"searxng\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"SearXNG hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"SEARXNG_PORT\",\n\t\t\tdefaultValue: \"8080\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"SearXNG port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://docs.searxng.org/\",\n\ttags: [\"search\", \"meta-search\", \"privacy\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,oBAAuC;CACnD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,EAAE;CACf,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAkB,aAAa;EAAM,CAAC;CAC1D,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAU;EAAe;EAAU;CAC1C,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}