@better-openclaw/core 1.0.14 → 1.0.16
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/{manifest-BjK4ALvr.mjs → manifest-B8UDsVlR.mjs} +39 -13
- package/dist/manifest-B8UDsVlR.mjs.map +1 -0
- package/dist/resolver.mjs.map +1 -1
- package/dist/services/definitions/authentik.d.mts +7 -0
- package/dist/services/definitions/authentik.d.mts.map +1 -0
- package/dist/services/definitions/authentik.mjs +105 -0
- package/dist/services/definitions/authentik.mjs.map +1 -0
- package/dist/services/definitions/crowdsec.d.mts +7 -0
- package/dist/services/definitions/crowdsec.d.mts.map +1 -0
- package/dist/services/definitions/crowdsec.mjs +62 -0
- package/dist/services/definitions/crowdsec.mjs.map +1 -0
- package/dist/services/definitions/ghost.d.mts +7 -0
- package/dist/services/definitions/ghost.d.mts.map +1 -0
- package/dist/services/definitions/ghost.mjs +58 -0
- package/dist/services/definitions/ghost.mjs.map +1 -0
- package/dist/services/definitions/headscale.d.mts +7 -0
- package/dist/services/definitions/headscale.d.mts.map +1 -0
- package/dist/services/definitions/headscale.mjs +71 -0
- package/dist/services/definitions/headscale.mjs.map +1 -0
- package/dist/services/definitions/homeassistant.d.mts +7 -0
- package/dist/services/definitions/homeassistant.d.mts.map +1 -0
- package/dist/services/definitions/homeassistant.mjs +61 -0
- package/dist/services/definitions/homeassistant.mjs.map +1 -0
- package/dist/services/definitions/immich.d.mts +7 -0
- package/dist/services/definitions/immich.d.mts.map +1 -0
- package/dist/services/definitions/immich.mjs +92 -0
- package/dist/services/definitions/immich.mjs.map +1 -0
- package/dist/services/definitions/index.d.mts +15 -1
- package/dist/services/definitions/index.d.mts.map +1 -1
- package/dist/services/definitions/index.mjs +30 -2
- package/dist/services/definitions/index.mjs.map +1 -1
- package/dist/services/definitions/jellyfin.d.mts +7 -0
- package/dist/services/definitions/jellyfin.d.mts.map +1 -0
- package/dist/services/definitions/jellyfin.mjs +62 -0
- package/dist/services/definitions/jellyfin.mjs.map +1 -0
- package/dist/services/definitions/jenkins.d.mts +7 -0
- package/dist/services/definitions/jenkins.d.mts.map +1 -0
- package/dist/services/definitions/jenkins.mjs +62 -0
- package/dist/services/definitions/jenkins.mjs.map +1 -0
- package/dist/services/definitions/loki.d.mts +7 -0
- package/dist/services/definitions/loki.d.mts.map +1 -0
- package/dist/services/definitions/loki.mjs +51 -0
- package/dist/services/definitions/loki.mjs.map +1 -0
- package/dist/services/definitions/milvus.d.mts +7 -0
- package/dist/services/definitions/milvus.d.mts.map +1 -0
- package/dist/services/definitions/milvus.mjs +75 -0
- package/dist/services/definitions/milvus.mjs.map +1 -0
- package/dist/services/definitions/nextcloud.d.mts +7 -0
- package/dist/services/definitions/nextcloud.d.mts.map +1 -0
- package/dist/services/definitions/nextcloud.mjs +80 -0
- package/dist/services/definitions/nextcloud.mjs.map +1 -0
- package/dist/services/definitions/signoz.d.mts +7 -0
- package/dist/services/definitions/signoz.d.mts.map +1 -0
- package/dist/services/definitions/signoz.mjs +54 -0
- package/dist/services/definitions/signoz.mjs.map +1 -0
- package/dist/services/definitions/supabase.d.mts +7 -0
- package/dist/services/definitions/supabase.d.mts.map +1 -0
- package/dist/services/definitions/supabase.mjs +69 -0
- package/dist/services/definitions/supabase.mjs.map +1 -0
- package/dist/services/definitions/vaultwarden.d.mts +7 -0
- package/dist/services/definitions/vaultwarden.d.mts.map +1 -0
- package/dist/services/definitions/vaultwarden.mjs +63 -0
- package/dist/services/definitions/vaultwarden.mjs.map +1 -0
- package/dist/skills/skill-manifest.mjs +1 -1
- package/package.json +1 -1
- package/src/resolver.ts +10 -10
- package/src/services/definitions/authentik.ts +106 -0
- package/src/services/definitions/crowdsec.ts +66 -0
- package/src/services/definitions/ghost.ts +60 -0
- package/src/services/definitions/headscale.ts +72 -0
- package/src/services/definitions/homeassistant.ts +65 -0
- package/src/services/definitions/immich.ts +93 -0
- package/src/services/definitions/index.ts +42 -0
- package/src/services/definitions/jellyfin.ts +66 -0
- package/src/services/definitions/jenkins.ts +67 -0
- package/src/services/definitions/loki.ts +53 -0
- package/src/services/definitions/milvus.ts +84 -0
- package/src/services/definitions/nextcloud.ts +81 -0
- package/src/services/definitions/signoz.ts +54 -0
- package/src/services/definitions/supabase.ts +73 -0
- package/src/services/definitions/vaultwarden.ts +68 -0
- package/src/skills/manifest.json +63 -12
- package/dist/manifest-BjK4ALvr.mjs.map +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
//#region src/services/definitions/loki.ts
|
|
2
|
+
const lokiDefinition = {
|
|
3
|
+
id: "loki",
|
|
4
|
+
name: "Loki",
|
|
5
|
+
description: "Like Prometheus, but for logs. A highly available, multi-tenant log aggregation system.",
|
|
6
|
+
category: "monitoring",
|
|
7
|
+
icon: "🪵",
|
|
8
|
+
image: "grafana/loki",
|
|
9
|
+
imageTag: "latest",
|
|
10
|
+
ports: [{
|
|
11
|
+
host: 3100,
|
|
12
|
+
container: 3100,
|
|
13
|
+
description: "Loki HTTP API interface",
|
|
14
|
+
exposed: true
|
|
15
|
+
}],
|
|
16
|
+
volumes: [{
|
|
17
|
+
name: "loki_data",
|
|
18
|
+
containerPath: "/loki",
|
|
19
|
+
description: "Loki logs and chunks storage"
|
|
20
|
+
}],
|
|
21
|
+
environment: [],
|
|
22
|
+
healthcheck: {
|
|
23
|
+
test: "wget -q --spider http://localhost:3100/ready || 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
|
+
openclawEnvVars: [],
|
|
34
|
+
docsUrl: "https://grafana.com/docs/loki/latest/",
|
|
35
|
+
tags: [
|
|
36
|
+
"logs",
|
|
37
|
+
"aggregation",
|
|
38
|
+
"observability",
|
|
39
|
+
"grafana"
|
|
40
|
+
],
|
|
41
|
+
maturity: "stable",
|
|
42
|
+
requires: [],
|
|
43
|
+
recommends: ["grafana", "prometheus"],
|
|
44
|
+
conflictsWith: [],
|
|
45
|
+
minMemoryMB: 512,
|
|
46
|
+
gpuRequired: false
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
export { lokiDefinition };
|
|
51
|
+
//# sourceMappingURL=loki.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loki.mjs","names":[],"sources":["../../../src/services/definitions/loki.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const lokiDefinition: ServiceDefinition = {\n\tid: \"loki\",\n\tname: \"Loki\",\n\tdescription:\n\t\t\"Like Prometheus, but for logs. A highly available, multi-tenant log aggregation system.\",\n\tcategory: \"monitoring\",\n\ticon: \"🪵\",\n\n\timage: \"grafana/loki\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3100,\n\t\t\tcontainer: 3100,\n\t\t\tdescription: \"Loki HTTP API interface\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"loki_data\",\n\t\t\tcontainerPath: \"/loki\",\n\t\t\tdescription: \"Loki logs and chunks storage\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:3100/ready || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://grafana.com/docs/loki/latest/\",\n\ttags: [\"logs\", \"aggregation\", \"observability\", \"grafana\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"grafana\", \"prometheus\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,iBAAoC;CAChD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,EAAE;CACf,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAQ;EAAe;EAAiB;EAAU;CACzD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,WAAW,aAAa;CACrC,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"milvus.d.mts","names":[],"sources":["../../../src/services/definitions/milvus.ts"],"mappings":";;;cAEa,gBAAA,EAAkB,iBAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
//#region src/services/definitions/milvus.ts
|
|
2
|
+
const milvusDefinition = {
|
|
3
|
+
id: "milvus",
|
|
4
|
+
name: "Milvus",
|
|
5
|
+
description: "Open-source vector database built for scalable similarity search and AI applications.",
|
|
6
|
+
category: "vector-db",
|
|
7
|
+
icon: "🗄️",
|
|
8
|
+
image: "milvusdb/milvus",
|
|
9
|
+
imageTag: "latest",
|
|
10
|
+
command: "milvus run standalone",
|
|
11
|
+
ports: [{
|
|
12
|
+
host: 19530,
|
|
13
|
+
container: 19530,
|
|
14
|
+
description: "Milvus gRPC/REST API",
|
|
15
|
+
exposed: true
|
|
16
|
+
}, {
|
|
17
|
+
host: 9091,
|
|
18
|
+
container: 9091,
|
|
19
|
+
description: "Milvus Management/Prometheus Metrics",
|
|
20
|
+
exposed: false
|
|
21
|
+
}],
|
|
22
|
+
volumes: [{
|
|
23
|
+
name: "milvus_volumes",
|
|
24
|
+
containerPath: "/var/lib/milvus",
|
|
25
|
+
description: "Milvus persistent data storage"
|
|
26
|
+
}],
|
|
27
|
+
environment: [{
|
|
28
|
+
key: "ETCD_ENDPOINTS",
|
|
29
|
+
defaultValue: "etcd:2379",
|
|
30
|
+
secret: false,
|
|
31
|
+
description: "etcd endpoints (standalone uses local if not provided, but explicit is better if split)",
|
|
32
|
+
required: false
|
|
33
|
+
}, {
|
|
34
|
+
key: "MINIO_ADDRESS",
|
|
35
|
+
defaultValue: "minio:9000",
|
|
36
|
+
secret: false,
|
|
37
|
+
description: "MinIO endpoint for object storage",
|
|
38
|
+
required: false
|
|
39
|
+
}],
|
|
40
|
+
healthcheck: {
|
|
41
|
+
test: "curl -f http://localhost:9091/healthz || exit 1",
|
|
42
|
+
interval: "30s",
|
|
43
|
+
timeout: "20s",
|
|
44
|
+
retries: 3,
|
|
45
|
+
startPeriod: "60s"
|
|
46
|
+
},
|
|
47
|
+
dependsOn: [],
|
|
48
|
+
restartPolicy: "unless-stopped",
|
|
49
|
+
networks: ["openclaw-network"],
|
|
50
|
+
skills: [],
|
|
51
|
+
openclawEnvVars: [{
|
|
52
|
+
key: "MILVUS_URI",
|
|
53
|
+
defaultValue: "http://milvus:19530",
|
|
54
|
+
secret: false,
|
|
55
|
+
description: "Milvus connection URI for OpenClaw",
|
|
56
|
+
required: true
|
|
57
|
+
}],
|
|
58
|
+
docsUrl: "https://milvus.io/docs",
|
|
59
|
+
tags: [
|
|
60
|
+
"vector-db",
|
|
61
|
+
"similarity-search",
|
|
62
|
+
"embeddings",
|
|
63
|
+
"ai"
|
|
64
|
+
],
|
|
65
|
+
maturity: "stable",
|
|
66
|
+
requires: [],
|
|
67
|
+
recommends: [],
|
|
68
|
+
conflictsWith: [],
|
|
69
|
+
minMemoryMB: 2048,
|
|
70
|
+
gpuRequired: false
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
//#endregion
|
|
74
|
+
export { milvusDefinition };
|
|
75
|
+
//# sourceMappingURL=milvus.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"milvus.mjs","names":[],"sources":["../../../src/services/definitions/milvus.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const milvusDefinition: ServiceDefinition = {\n\tid: \"milvus\",\n\tname: \"Milvus\",\n\tdescription:\n\t\t\"Open-source vector database built for scalable similarity search and AI applications.\",\n\tcategory: \"vector-db\",\n\ticon: \"🗄️\",\n\n\timage: \"milvusdb/milvus\",\n\timageTag: \"latest\",\n\tcommand: \"milvus run standalone\",\n\tports: [\n\t\t{\n\t\t\thost: 19530,\n\t\t\tcontainer: 19530,\n\t\t\tdescription: \"Milvus gRPC/REST API\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 9091,\n\t\t\tcontainer: 9091,\n\t\t\tdescription: \"Milvus Management/Prometheus Metrics\",\n\t\t\texposed: false,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"milvus_volumes\",\n\t\t\tcontainerPath: \"/var/lib/milvus\",\n\t\t\tdescription: \"Milvus persistent data storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"ETCD_ENDPOINTS\",\n\t\t\tdefaultValue: \"etcd:2379\",\n\t\t\tsecret: false,\n\t\t\tdescription:\n\t\t\t\t\"etcd endpoints (standalone uses local if not provided, but explicit is better if split)\",\n\t\t\trequired: false, // Standalone defaults handles this, but good practice to show\n\t\t},\n\t\t{\n\t\t\tkey: \"MINIO_ADDRESS\",\n\t\t\tdefaultValue: \"minio:9000\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"MinIO endpoint for object storage\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:9091/healthz || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"20s\",\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: \"MILVUS_URI\",\n\t\t\tdefaultValue: \"http://milvus:19530\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Milvus connection URI for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://milvus.io/docs\",\n\ttags: [\"vector-db\", \"similarity-search\", \"embeddings\", \"ai\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 2048,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,mBAAsC;CAClD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,SAAS;CACT,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aACC;EACD,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,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAa;EAAqB;EAAc;EAAK;CAC5D,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nextcloud.d.mts","names":[],"sources":["../../../src/services/definitions/nextcloud.ts"],"mappings":";;;cAEa,mBAAA,EAAqB,iBAAA"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
//#region src/services/definitions/nextcloud.ts
|
|
2
|
+
const nextcloudDefinition = {
|
|
3
|
+
id: "nextcloud",
|
|
4
|
+
name: "Nextcloud",
|
|
5
|
+
description: "Self-hosted productivity platform that keeps you in control.",
|
|
6
|
+
category: "storage",
|
|
7
|
+
icon: "☁️",
|
|
8
|
+
image: "nextcloud",
|
|
9
|
+
imageTag: "latest",
|
|
10
|
+
ports: [{
|
|
11
|
+
host: 8080,
|
|
12
|
+
container: 80,
|
|
13
|
+
description: "Nextcloud Web Interface",
|
|
14
|
+
exposed: true
|
|
15
|
+
}],
|
|
16
|
+
volumes: [{
|
|
17
|
+
name: "nextcloud_data",
|
|
18
|
+
containerPath: "/var/www/html",
|
|
19
|
+
description: "Persistent Nextcloud data storage"
|
|
20
|
+
}],
|
|
21
|
+
environment: [
|
|
22
|
+
{
|
|
23
|
+
key: "MYSQL_DATABASE",
|
|
24
|
+
defaultValue: "nextcloud",
|
|
25
|
+
secret: false,
|
|
26
|
+
description: "Database name",
|
|
27
|
+
required: false
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
key: "MYSQL_USER",
|
|
31
|
+
defaultValue: "nextcloud",
|
|
32
|
+
secret: false,
|
|
33
|
+
description: "Database user",
|
|
34
|
+
required: false
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
key: "MYSQL_PASSWORD",
|
|
38
|
+
defaultValue: "nextcloud_secret",
|
|
39
|
+
secret: true,
|
|
40
|
+
description: "Database password",
|
|
41
|
+
required: false
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: "MYSQL_HOST",
|
|
45
|
+
defaultValue: "postgres",
|
|
46
|
+
secret: false,
|
|
47
|
+
description: "Database hostname",
|
|
48
|
+
required: false
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
healthcheck: {
|
|
52
|
+
test: "curl --fail http://localhost:80/status.php || exit 1",
|
|
53
|
+
interval: "30s",
|
|
54
|
+
timeout: "10s",
|
|
55
|
+
retries: 3,
|
|
56
|
+
startPeriod: "30s"
|
|
57
|
+
},
|
|
58
|
+
dependsOn: ["postgresql"],
|
|
59
|
+
restartPolicy: "unless-stopped",
|
|
60
|
+
networks: ["openclaw-network"],
|
|
61
|
+
skills: [],
|
|
62
|
+
openclawEnvVars: [],
|
|
63
|
+
docsUrl: "https://nextcloud.com/",
|
|
64
|
+
tags: [
|
|
65
|
+
"storage",
|
|
66
|
+
"cloud",
|
|
67
|
+
"productivity",
|
|
68
|
+
"collaboration"
|
|
69
|
+
],
|
|
70
|
+
maturity: "stable",
|
|
71
|
+
requires: [],
|
|
72
|
+
recommends: ["postgresql"],
|
|
73
|
+
conflictsWith: [],
|
|
74
|
+
minMemoryMB: 512,
|
|
75
|
+
gpuRequired: false
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
//#endregion
|
|
79
|
+
export { nextcloudDefinition };
|
|
80
|
+
//# sourceMappingURL=nextcloud.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nextcloud.mjs","names":[],"sources":["../../../src/services/definitions/nextcloud.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const nextcloudDefinition: ServiceDefinition = {\n\tid: \"nextcloud\",\n\tname: \"Nextcloud\",\n\tdescription: \"Self-hosted productivity platform that keeps you in control.\",\n\tcategory: \"storage\",\n\ticon: \"☁️\",\n\n\timage: \"nextcloud\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 8080,\n\t\t\tcontainer: 80,\n\t\t\tdescription: \"Nextcloud Web Interface\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"nextcloud_data\",\n\t\t\tcontainerPath: \"/var/www/html\",\n\t\t\tdescription: \"Persistent Nextcloud data storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MYSQL_DATABASE\",\n\t\t\tdefaultValue: \"nextcloud\",\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: \"MYSQL_USER\",\n\t\t\tdefaultValue: \"nextcloud\",\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: \"MYSQL_PASSWORD\",\n\t\t\tdefaultValue: \"nextcloud_secret\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Database password\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"MYSQL_HOST\",\n\t\t\tdefaultValue: \"postgres\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Database hostname\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl --fail http://localhost:80/status.php || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [\"postgresql\"],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://nextcloud.com/\",\n\ttags: [\"storage\", \"cloud\", \"productivity\", \"collaboration\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"postgresql\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,sBAAyC;CACrD,IAAI;CACJ,MAAM;CACN,aAAa;CACb,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,CAAC,aAAa;CACzB,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAW;EAAS;EAAgB;EAAgB;CAC3D,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,aAAa;CAC1B,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signoz.d.mts","names":[],"sources":["../../../src/services/definitions/signoz.ts"],"mappings":";;;cAEa,gBAAA,EAAkB,iBAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
//#region src/services/definitions/signoz.ts
|
|
2
|
+
const signozDefinition = {
|
|
3
|
+
id: "signoz",
|
|
4
|
+
name: "SigNoz",
|
|
5
|
+
description: "Open-source observability platform serving as a lighter alternative to DataDog.",
|
|
6
|
+
category: "monitoring",
|
|
7
|
+
icon: "📈",
|
|
8
|
+
image: "signoz/signoz-frontend",
|
|
9
|
+
imageTag: "latest",
|
|
10
|
+
ports: [{
|
|
11
|
+
host: 3301,
|
|
12
|
+
container: 3301,
|
|
13
|
+
description: "SigNoz Web UI",
|
|
14
|
+
exposed: true
|
|
15
|
+
}],
|
|
16
|
+
volumes: [],
|
|
17
|
+
environment: [{
|
|
18
|
+
key: "FRONTEND_PUBLIC_TELEMETRY",
|
|
19
|
+
defaultValue: "false",
|
|
20
|
+
secret: false,
|
|
21
|
+
description: "Enable anonymized usage telemetry",
|
|
22
|
+
required: false
|
|
23
|
+
}],
|
|
24
|
+
healthcheck: {
|
|
25
|
+
test: "wget -q --spider http://localhost:3301 || exit 1",
|
|
26
|
+
interval: "30s",
|
|
27
|
+
timeout: "10s",
|
|
28
|
+
retries: 3,
|
|
29
|
+
startPeriod: "15s"
|
|
30
|
+
},
|
|
31
|
+
dependsOn: [],
|
|
32
|
+
restartPolicy: "unless-stopped",
|
|
33
|
+
networks: ["openclaw-network"],
|
|
34
|
+
skills: [],
|
|
35
|
+
openclawEnvVars: [],
|
|
36
|
+
docsUrl: "https://signoz.io/docs/",
|
|
37
|
+
tags: [
|
|
38
|
+
"observability",
|
|
39
|
+
"metrics",
|
|
40
|
+
"traces",
|
|
41
|
+
"logs",
|
|
42
|
+
"opentelemetry"
|
|
43
|
+
],
|
|
44
|
+
maturity: "stable",
|
|
45
|
+
requires: [],
|
|
46
|
+
recommends: [],
|
|
47
|
+
conflictsWith: [],
|
|
48
|
+
minMemoryMB: 1024,
|
|
49
|
+
gpuRequired: false
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
export { signozDefinition };
|
|
54
|
+
//# sourceMappingURL=signoz.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signoz.mjs","names":[],"sources":["../../../src/services/definitions/signoz.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const signozDefinition: ServiceDefinition = {\n\tid: \"signoz\",\n\tname: \"SigNoz\",\n\tdescription: \"Open-source observability platform serving as a lighter alternative to DataDog.\",\n\tcategory: \"monitoring\",\n\ticon: \"📈\",\n\n\timage: \"signoz/signoz-frontend\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3301,\n\t\t\tcontainer: 3301,\n\t\t\tdescription: \"SigNoz Web UI\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"FRONTEND_PUBLIC_TELEMETRY\",\n\t\t\tdefaultValue: \"false\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Enable anonymized usage telemetry\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:3301 || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://signoz.io/docs/\",\n\ttags: [\"observability\", \"metrics\", \"traces\", \"logs\", \"opentelemetry\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 1024,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,mBAAsC;CAClD,IAAI;CACJ,MAAM;CACN,aAAa;CACb,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,EAAE;CACX,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,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAiB;EAAW;EAAU;EAAQ;EAAgB;CACrE,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supabase.d.mts","names":[],"sources":["../../../src/services/definitions/supabase.ts"],"mappings":";;;cAEa,kBAAA,EAAoB,iBAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
//#region src/services/definitions/supabase.ts
|
|
2
|
+
const supabaseDefinition = {
|
|
3
|
+
id: "supabase",
|
|
4
|
+
name: "Supabase",
|
|
5
|
+
description: "The open source Firebase alternative. Build production-grade backends instantly.",
|
|
6
|
+
category: "database",
|
|
7
|
+
icon: "⚡",
|
|
8
|
+
image: "supabase/studio",
|
|
9
|
+
imageTag: "latest",
|
|
10
|
+
ports: [{
|
|
11
|
+
host: 3e3,
|
|
12
|
+
container: 3e3,
|
|
13
|
+
description: "Supabase Studio Web Dashboard",
|
|
14
|
+
exposed: true
|
|
15
|
+
}, {
|
|
16
|
+
host: 8e3,
|
|
17
|
+
container: 8e3,
|
|
18
|
+
description: "Supabase API Gateway",
|
|
19
|
+
exposed: true
|
|
20
|
+
}],
|
|
21
|
+
volumes: [{
|
|
22
|
+
name: "supabase_db",
|
|
23
|
+
containerPath: "/var/lib/postgresql/data",
|
|
24
|
+
description: "Supabase Postgres database storage"
|
|
25
|
+
}],
|
|
26
|
+
environment: [{
|
|
27
|
+
key: "STUDIO_DEFAULT_ORGANIZATION",
|
|
28
|
+
defaultValue: "Default Organization",
|
|
29
|
+
secret: false,
|
|
30
|
+
description: "Default organization name",
|
|
31
|
+
required: false
|
|
32
|
+
}, {
|
|
33
|
+
key: "STUDIO_DEFAULT_PROJECT",
|
|
34
|
+
defaultValue: "Default Project",
|
|
35
|
+
secret: false,
|
|
36
|
+
description: "Default project name",
|
|
37
|
+
required: false
|
|
38
|
+
}],
|
|
39
|
+
healthcheck: {
|
|
40
|
+
test: "wget -q --spider http://localhost:3000/api/profile || exit 1",
|
|
41
|
+
interval: "30s",
|
|
42
|
+
timeout: "10s",
|
|
43
|
+
retries: 3,
|
|
44
|
+
startPeriod: "30s"
|
|
45
|
+
},
|
|
46
|
+
dependsOn: ["postgresql"],
|
|
47
|
+
restartPolicy: "unless-stopped",
|
|
48
|
+
networks: ["openclaw-network"],
|
|
49
|
+
skills: [],
|
|
50
|
+
openclawEnvVars: [],
|
|
51
|
+
docsUrl: "https://supabase.com/docs/guides/self-hosting",
|
|
52
|
+
tags: [
|
|
53
|
+
"database",
|
|
54
|
+
"auth",
|
|
55
|
+
"storage",
|
|
56
|
+
"realtime",
|
|
57
|
+
"edge-functions"
|
|
58
|
+
],
|
|
59
|
+
maturity: "stable",
|
|
60
|
+
requires: ["postgresql"],
|
|
61
|
+
recommends: [],
|
|
62
|
+
conflictsWith: [],
|
|
63
|
+
minMemoryMB: 2048,
|
|
64
|
+
gpuRequired: false
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
//#endregion
|
|
68
|
+
export { supabaseDefinition };
|
|
69
|
+
//# sourceMappingURL=supabase.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supabase.mjs","names":[],"sources":["../../../src/services/definitions/supabase.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const supabaseDefinition: ServiceDefinition = {\n\tid: \"supabase\",\n\tname: \"Supabase\",\n\tdescription: \"The open source Firebase alternative. Build production-grade backends instantly.\",\n\tcategory: \"database\",\n\ticon: \"⚡\",\n\n\timage: \"supabase/studio\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3000,\n\t\t\tcontainer: 3000,\n\t\t\tdescription: \"Supabase Studio Web Dashboard\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 8000,\n\t\t\tcontainer: 8000,\n\t\t\tdescription: \"Supabase API Gateway\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"supabase_db\",\n\t\t\tcontainerPath: \"/var/lib/postgresql/data\",\n\t\t\tdescription: \"Supabase Postgres database storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"STUDIO_DEFAULT_ORGANIZATION\",\n\t\t\tdefaultValue: \"Default Organization\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Default organization name\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"STUDIO_DEFAULT_PROJECT\",\n\t\t\tdefaultValue: \"Default Project\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Default project name\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:3000/api/profile || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [\"postgresql\"],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://supabase.com/docs/guides/self-hosting\",\n\ttags: [\"database\", \"auth\", \"storage\", \"realtime\", \"edge-functions\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"postgresql\"],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 2048,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,qBAAwC;CACpD,IAAI;CACJ,MAAM;CACN,aAAa;CACb,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,CAAC,aAAa;CACzB,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAY;EAAQ;EAAW;EAAY;EAAiB;CACnE,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vaultwarden.d.mts","names":[],"sources":["../../../src/services/definitions/vaultwarden.ts"],"mappings":";;;cAEa,qBAAA,EAAuB,iBAAA"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
//#region src/services/definitions/vaultwarden.ts
|
|
2
|
+
const vaultwardenDefinition = {
|
|
3
|
+
id: "vaultwarden",
|
|
4
|
+
name: "Vaultwarden",
|
|
5
|
+
description: "Unofficial Bitwarden compatible server written in Rust, perfect for self-hosted deployments.",
|
|
6
|
+
category: "security",
|
|
7
|
+
icon: "🔐",
|
|
8
|
+
image: "vaultwarden/server",
|
|
9
|
+
imageTag: "latest",
|
|
10
|
+
ports: [{
|
|
11
|
+
host: 80,
|
|
12
|
+
container: 80,
|
|
13
|
+
description: "Vaultwarden Web Interface / API",
|
|
14
|
+
exposed: true
|
|
15
|
+
}],
|
|
16
|
+
volumes: [{
|
|
17
|
+
name: "vaultwarden_data",
|
|
18
|
+
containerPath: "/data",
|
|
19
|
+
description: "Persistent Vaultwarden data storage"
|
|
20
|
+
}],
|
|
21
|
+
environment: [{
|
|
22
|
+
key: "WEBSOCKET_ENABLED",
|
|
23
|
+
defaultValue: "true",
|
|
24
|
+
secret: false,
|
|
25
|
+
description: "Enable WebSocket notifications",
|
|
26
|
+
required: false
|
|
27
|
+
}, {
|
|
28
|
+
key: "SIGNUPS_ALLOWED",
|
|
29
|
+
defaultValue: "true",
|
|
30
|
+
secret: false,
|
|
31
|
+
description: "Allow new user signups",
|
|
32
|
+
required: false
|
|
33
|
+
}],
|
|
34
|
+
healthcheck: {
|
|
35
|
+
test: "curl --fail http://localhost:80/alive || 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
|
+
docsUrl: "https://github.com/dani-garcia/vaultwarden/wiki",
|
|
47
|
+
tags: [
|
|
48
|
+
"security",
|
|
49
|
+
"passwords",
|
|
50
|
+
"bitwarden",
|
|
51
|
+
"secrets"
|
|
52
|
+
],
|
|
53
|
+
maturity: "stable",
|
|
54
|
+
requires: [],
|
|
55
|
+
recommends: ["caddy", "traefik"],
|
|
56
|
+
conflictsWith: [],
|
|
57
|
+
minMemoryMB: 128,
|
|
58
|
+
gpuRequired: false
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
//#endregion
|
|
62
|
+
export { vaultwardenDefinition };
|
|
63
|
+
//# sourceMappingURL=vaultwarden.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vaultwarden.mjs","names":[],"sources":["../../../src/services/definitions/vaultwarden.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const vaultwardenDefinition: ServiceDefinition = {\n\tid: \"vaultwarden\",\n\tname: \"Vaultwarden\",\n\tdescription:\n\t\t\"Unofficial Bitwarden compatible server written in Rust, perfect for self-hosted deployments.\",\n\tcategory: \"security\",\n\ticon: \"🔐\",\n\n\timage: \"vaultwarden/server\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 80, // User should probably proxy this or change it to avoid conflicts\n\t\t\tcontainer: 80,\n\t\t\tdescription: \"Vaultwarden Web Interface / API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"vaultwarden_data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Persistent Vaultwarden data storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"WEBSOCKET_ENABLED\",\n\t\t\tdefaultValue: \"true\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Enable WebSocket notifications\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"SIGNUPS_ALLOWED\",\n\t\t\tdefaultValue: \"true\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Allow new user signups\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl --fail http://localhost:80/alive || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://github.com/dani-garcia/vaultwarden/wiki\",\n\ttags: [\"security\", \"passwords\", \"bitwarden\", \"secrets\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"caddy\", \"traefik\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 128,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,wBAA2C;CACvD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,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;EAAY;EAAa;EAAa;EAAU;CACvD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,SAAS,UAAU;CAChC,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
package/package.json
CHANGED
package/src/resolver.ts
CHANGED
|
@@ -241,16 +241,16 @@ export function resolve(input: ResolverInput): ResolverOutput {
|
|
|
241
241
|
const isValid = errors.length === 0;
|
|
242
242
|
|
|
243
243
|
return {
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
};
|
|
244
|
+
services,
|
|
245
|
+
addedDependencies,
|
|
246
|
+
removedConflicts: [],
|
|
247
|
+
warnings,
|
|
248
|
+
errors,
|
|
249
|
+
isValid,
|
|
250
|
+
estimatedMemoryMB,
|
|
251
|
+
aiProviders: input.aiProviders ?? [],
|
|
252
|
+
gsdRuntimes: [],
|
|
253
|
+
};
|
|
254
254
|
}
|
|
255
255
|
|
|
256
256
|
/**
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { ServiceDefinition } from "../../types.js";
|
|
2
|
+
|
|
3
|
+
export const authentikDefinition: ServiceDefinition = {
|
|
4
|
+
id: "authentik",
|
|
5
|
+
name: "Authentik",
|
|
6
|
+
description: "The open-source Identity Provider that unifies your identity infrastructure.",
|
|
7
|
+
category: "security",
|
|
8
|
+
icon: "🛡️",
|
|
9
|
+
|
|
10
|
+
image: "ghcr.io/goauthentik/server",
|
|
11
|
+
imageTag: "latest",
|
|
12
|
+
ports: [
|
|
13
|
+
{
|
|
14
|
+
host: 9000,
|
|
15
|
+
container: 9000,
|
|
16
|
+
description: "Authentik HTTP Interface",
|
|
17
|
+
exposed: true,
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
host: 9443,
|
|
21
|
+
container: 9443,
|
|
22
|
+
description: "Authentik HTTPS Interface",
|
|
23
|
+
exposed: false,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
volumes: [
|
|
27
|
+
{
|
|
28
|
+
name: "authentik_media",
|
|
29
|
+
containerPath: "/media",
|
|
30
|
+
description: "Authentik media storage",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: "authentik_custom_templates",
|
|
34
|
+
containerPath: "/templates",
|
|
35
|
+
description: "Authentik custom templates",
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
environment: [
|
|
39
|
+
{
|
|
40
|
+
key: "AUTHENTIK_REDIS__HOST",
|
|
41
|
+
defaultValue: "redis",
|
|
42
|
+
secret: false,
|
|
43
|
+
description: "Redis server hostname",
|
|
44
|
+
required: true,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
key: "AUTHENTIK_POSTGRESQL__HOST",
|
|
48
|
+
defaultValue: "postgres",
|
|
49
|
+
secret: false,
|
|
50
|
+
description: "Postgres database hostname",
|
|
51
|
+
required: true,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
key: "AUTHENTIK_POSTGRESQL__USER",
|
|
55
|
+
defaultValue: "postgres",
|
|
56
|
+
secret: false,
|
|
57
|
+
description: "Postgres database user",
|
|
58
|
+
required: true,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
key: "AUTHENTIK_POSTGRESQL__NAME",
|
|
62
|
+
defaultValue: "authentik",
|
|
63
|
+
secret: false,
|
|
64
|
+
description: "Postgres database name",
|
|
65
|
+
required: true,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
key: "AUTHENTIK_POSTGRESQL__PASSWORD",
|
|
69
|
+
defaultValue: "postgres",
|
|
70
|
+
secret: true,
|
|
71
|
+
description: "Postgres database password",
|
|
72
|
+
required: true,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
key: "AUTHENTIK_SECRET_KEY",
|
|
76
|
+
defaultValue: "authentik_secret_replace_me_in_production",
|
|
77
|
+
secret: true,
|
|
78
|
+
description: "Secret key used for cookie signing",
|
|
79
|
+
required: true,
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
healthcheck: {
|
|
83
|
+
test: "curl --fail http://localhost:9000/-/health/live/ || exit 1",
|
|
84
|
+
interval: "30s",
|
|
85
|
+
timeout: "5s",
|
|
86
|
+
retries: 3,
|
|
87
|
+
startPeriod: "30s",
|
|
88
|
+
},
|
|
89
|
+
dependsOn: ["postgresql", "redis"],
|
|
90
|
+
restartPolicy: "unless-stopped",
|
|
91
|
+
networks: ["openclaw-network"],
|
|
92
|
+
|
|
93
|
+
skills: [],
|
|
94
|
+
openclawEnvVars: [],
|
|
95
|
+
|
|
96
|
+
docsUrl: "https://docs.goauthentik.io/",
|
|
97
|
+
tags: ["identity", "sso", "saml", "oidc", "oauth2", "security"],
|
|
98
|
+
maturity: "stable",
|
|
99
|
+
|
|
100
|
+
requires: ["postgresql", "redis"],
|
|
101
|
+
recommends: [],
|
|
102
|
+
conflictsWith: [],
|
|
103
|
+
|
|
104
|
+
minMemoryMB: 2048,
|
|
105
|
+
gpuRequired: false,
|
|
106
|
+
};
|