@serve.zone/appstore 32.27.0 → 33.1.0

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 (125) hide show
  1. package/.smartconfig.json +4 -1
  2. package/changelog.md +70 -0
  3. package/dist_catalog/catalog.digest +1 -0
  4. package/dist_catalog/catalog.envelope.json +7617 -0
  5. package/{dist_ts_client/data.generated.js → dist_catalog/catalog.json} +6912 -6908
  6. package/dist_ts_client/catalog.d.ts +16 -0
  7. package/dist_ts_client/catalog.js +12 -0
  8. package/dist_ts_client/index.d.ts +3 -1
  9. package/dist_ts_client/index.js +4 -2
  10. package/dist_ts_client/loader.d.ts +69 -0
  11. package/dist_ts_client/loader.js +361 -0
  12. package/dist_ts_client/plugins.d.ts +5 -0
  13. package/dist_ts_client/plugins.js +8 -0
  14. package/dist_ts_client/projection.d.ts +59 -0
  15. package/dist_ts_client/projection.js +83 -0
  16. package/dist_ts_client/storage.d.ts +15 -9
  17. package/dist_ts_client/storage.js +81 -657
  18. package/dist_ts_client/types.d.ts +86 -41
  19. package/dist_ts_client/types.js +1 -1
  20. package/dist_ts_testing/fixtures.d.ts +83 -0
  21. package/dist_ts_testing/fixtures.js +146 -0
  22. package/dist_ts_testing/index.d.ts +1 -0
  23. package/dist_ts_testing/index.js +2 -0
  24. package/dist_ts_testing/plugins.d.ts +7 -0
  25. package/dist_ts_testing/plugins.js +11 -0
  26. package/package.json +16 -11
  27. package/readme.md +162 -93
  28. package/ts_client/catalog.ts +26 -0
  29. package/ts_client/index.ts +3 -1
  30. package/ts_client/loader.ts +414 -0
  31. package/ts_client/plugins.ts +10 -0
  32. package/ts_client/projection.ts +148 -0
  33. package/ts_client/readme.md +17 -27
  34. package/ts_client/storage.ts +93 -882
  35. package/ts_client/types.ts +102 -42
  36. package/ts_testing/fixtures.ts +230 -0
  37. package/ts_testing/index.ts +1 -0
  38. package/ts_testing/plugins.ts +15 -0
  39. package/ts_testing/tspublish.json +3 -0
  40. package/apps/adminer/app.json +0 -10
  41. package/apps/adminer/versions/1.0.0/config.json +0 -6
  42. package/apps/cloudly/app.json +0 -14
  43. package/apps/cloudly/versions/1.0.0/config.json +0 -120
  44. package/apps/cloudly/versions/1.1.0/config.json +0 -120
  45. package/apps/cloudly/versions/1.1.1/config.json +0 -120
  46. package/apps/cloudly/versions/1.1.10/config.json +0 -173
  47. package/apps/cloudly/versions/1.1.2/config.json +0 -130
  48. package/apps/cloudly/versions/1.1.3/config.json +0 -130
  49. package/apps/cloudly/versions/1.1.4/config.json +0 -130
  50. package/apps/cloudly/versions/1.1.5/config.json +0 -149
  51. package/apps/cloudly/versions/1.1.6/config.json +0 -149
  52. package/apps/cloudly/versions/1.1.7/config.json +0 -149
  53. package/apps/cloudly/versions/1.1.8/config.json +0 -173
  54. package/apps/cloudly/versions/1.1.9/config.json +0 -173
  55. package/apps/cloudly/versions/1.10.0/config.json +0 -173
  56. package/apps/cloudly/versions/1.11.0/config.json +0 -173
  57. package/apps/cloudly/versions/1.12.0/config.json +0 -173
  58. package/apps/cloudly/versions/1.13.0/config.json +0 -173
  59. package/apps/cloudly/versions/1.14.0/config.json +0 -173
  60. package/apps/cloudly/versions/1.15.0/config.json +0 -173
  61. package/apps/cloudly/versions/1.16.0/config.json +0 -173
  62. package/apps/cloudly/versions/1.17.0/config.json +0 -173
  63. package/apps/cloudly/versions/1.18.0/config.json +0 -173
  64. package/apps/cloudly/versions/1.19.0/config.json +0 -173
  65. package/apps/cloudly/versions/1.2.0/config.json +0 -173
  66. package/apps/cloudly/versions/1.2.1/config.json +0 -173
  67. package/apps/cloudly/versions/1.20.0/config.json +0 -173
  68. package/apps/cloudly/versions/1.21.0/config.json +0 -173
  69. package/apps/cloudly/versions/1.22.0/config.json +0 -173
  70. package/apps/cloudly/versions/1.23.0/config.json +0 -173
  71. package/apps/cloudly/versions/1.24.0/config.json +0 -173
  72. package/apps/cloudly/versions/1.25.0/config.json +0 -173
  73. package/apps/cloudly/versions/1.26.0/config.json +0 -173
  74. package/apps/cloudly/versions/1.27.0/config.json +0 -173
  75. package/apps/cloudly/versions/1.3.0/config.json +0 -173
  76. package/apps/cloudly/versions/1.4.0/config.json +0 -173
  77. package/apps/cloudly/versions/1.5.0/config.json +0 -173
  78. package/apps/cloudly/versions/1.6.0/config.json +0 -173
  79. package/apps/cloudly/versions/1.7.0/config.json +0 -173
  80. package/apps/cloudly/versions/1.8.0/config.json +0 -173
  81. package/apps/cloudly/versions/1.9.0/config.json +0 -173
  82. package/apps/ghost/app.json +0 -10
  83. package/apps/ghost/versions/1.0.0/config.json +0 -18
  84. package/apps/gitea/app.json +0 -10
  85. package/apps/gitea/versions/1.0.0/config.json +0 -16
  86. package/apps/gitops/app.json +0 -14
  87. package/apps/gitops/versions/1.0.0/config.json +0 -28
  88. package/apps/grafana/app.json +0 -10
  89. package/apps/grafana/versions/1.0.0/config.json +0 -9
  90. package/apps/mariadb/app.json +0 -10
  91. package/apps/mariadb/versions/1.0.0/config.json +0 -9
  92. package/apps/mattermost/app.json +0 -10
  93. package/apps/mattermost/versions/1.0.0/config.json +0 -6
  94. package/apps/n8n/app.json +0 -10
  95. package/apps/n8n/versions/1.0.0/config.json +0 -6
  96. package/apps/nextcloud/app.json +0 -10
  97. package/apps/nextcloud/versions/1.0.0/config.json +0 -16
  98. package/apps/nginx/app.json +0 -10
  99. package/apps/nginx/versions/1.0.0/config.json +0 -6
  100. package/apps/openbao/app.json +0 -16
  101. package/apps/openbao/versions/1.0.0/config.json +0 -52
  102. package/apps/plausible/app.json +0 -10
  103. package/apps/plausible/versions/1.0.0/config.json +0 -9
  104. package/apps/portainer/app.json +0 -10
  105. package/apps/portainer/versions/1.0.0/config.json +0 -6
  106. package/apps/postgres/app.json +0 -10
  107. package/apps/postgres/versions/1.0.0/config.json +0 -11
  108. package/apps/rustdesk-server/app.json +0 -14
  109. package/apps/rustdesk-server/versions/1.0.0/config.json +0 -19
  110. package/apps/siprouter/app.json +0 -14
  111. package/apps/siprouter/versions/1.0.0/config.json +0 -84
  112. package/apps/uptime-kuma/app.json +0 -10
  113. package/apps/uptime-kuma/versions/1.0.0/config.json +0 -6
  114. package/apps/valkey/app.json +0 -10
  115. package/apps/valkey/versions/1.0.0/config.json +0 -6
  116. package/apps/vaultwarden/app.json +0 -10
  117. package/apps/vaultwarden/versions/1.0.0/config.json +0 -6
  118. package/apps/wordpress/app.json +0 -10
  119. package/apps/wordpress/versions/1.0.0/config.json +0 -15
  120. package/appstore.json +0 -194
  121. package/dist_ts_client/classes.appstoreresolver.d.ts +0 -59
  122. package/dist_ts_client/classes.appstoreresolver.js +0 -736
  123. package/dist_ts_client/data.generated.d.ts +0 -2
  124. package/ts_client/classes.appstoreresolver.ts +0 -896
  125. package/ts_client/data.generated.ts +0 -7606
@@ -1,52 +0,0 @@
1
- {
2
- "image": "openbao/openbao:2.6.0",
3
- "containerArgs": [
4
- "server"
5
- ],
6
- "targetPorts": [
7
- {
8
- "name": "web",
9
- "port": 8200,
10
- "protocol": "http",
11
- "default": true
12
- }
13
- ],
14
- "envVars": [
15
- {
16
- "key": "BAO_LOCAL_CONFIG",
17
- "value": "{\"ui\":true,\"disable_mlock\":true,\"api_addr\":\"http://127.0.0.1:8200\",\"cluster_addr\":\"http://127.0.0.1:8201\",\"storage\":{\"raft\":{\"path\":\"/openbao/file\",\"node_id\":\"openbao-1\",\"performance_multiplier\":1}},\"listener\":[{\"tcp\":{\"address\":\"0.0.0.0:8200\",\"cluster_address\":\"0.0.0.0:8201\",\"tls_disable\":true}}],\"seal\":{\"static\":{\"current_key_id\":\"cloudly-v1\",\"current_key\":\"file:///run/secrets/openbao-static-seal-key\"}}}",
18
- "description": "OpenBao server configuration for single-node Raft storage and static auto-unseal.",
19
- "required": true
20
- },
21
- {
22
- "key": "BAO_STATIC_SEAL_KEY",
23
- "description": "Cloudly generates 32 random bytes and delivers them only to the OpenBao static-seal key file.",
24
- "required": true,
25
- "secret": true,
26
- "delivery": {
27
- "type": "file",
28
- "targetPath": "/run/secrets/openbao-static-seal-key",
29
- "uid": 100,
30
- "gid": 1000,
31
- "mode": 256
32
- },
33
- "generate": {
34
- "encoding": "hex",
35
- "bytes": 32
36
- }
37
- }
38
- ],
39
- "volumes": [
40
- {
41
- "name": "openbao-data",
42
- "mountPath": "/openbao/file",
43
- "backup": true
44
- }
45
- ],
46
- "minCloudlyVersion": "13.4.0",
47
- "healthCheck": {
48
- "path": "/v1/sys/health?standbyok=true&sealedcode=200&uninitcode=200",
49
- "port": 8200,
50
- "expectedStatus": 200
51
- }
52
- }
@@ -1,10 +0,0 @@
1
- {
2
- "id": "plausible",
3
- "name": "Plausible",
4
- "description": "Privacy-friendly web analytics platform",
5
- "category": "Analytics",
6
- "iconName": "plausible",
7
- "latestVersion": "1.0.0",
8
- "versions": ["1.0.0"],
9
- "maintainer": "serve.zone"
10
- }
@@ -1,9 +0,0 @@
1
- {
2
- "image": "plausible/analytics:latest",
3
- "targetPorts": [
4
- { "name": "web", "port": 8000, "protocol": "http", "default": true }
5
- ],
6
- "platformRequirements": {
7
- "clickhouse": true
8
- }
9
- }
@@ -1,10 +0,0 @@
1
- {
2
- "id": "portainer",
3
- "name": "Portainer",
4
- "description": "Container management UI for Docker environments",
5
- "category": "Infrastructure",
6
- "iconName": "portainer",
7
- "latestVersion": "1.0.0",
8
- "versions": ["1.0.0"],
9
- "maintainer": "serve.zone"
10
- }
@@ -1,6 +0,0 @@
1
- {
2
- "image": "portainer/portainer-ce:latest",
3
- "targetPorts": [
4
- { "name": "web", "port": 9000, "protocol": "http", "default": true }
5
- ]
6
- }
@@ -1,10 +0,0 @@
1
- {
2
- "id": "postgres",
3
- "name": "PostgreSQL",
4
- "description": "Advanced open-source relational database",
5
- "category": "Databases",
6
- "iconName": "postgres",
7
- "latestVersion": "1.0.0",
8
- "versions": ["1.0.0"],
9
- "maintainer": "serve.zone"
10
- }
@@ -1,11 +0,0 @@
1
- {
2
- "image": "postgres:16-alpine",
3
- "targetPorts": [
4
- { "name": "db", "port": 5432, "protocol": "tcp", "default": true }
5
- ],
6
- "envVars": [
7
- { "key": "POSTGRES_PASSWORD", "value": "", "description": "Superuser password", "required": true },
8
- { "key": "POSTGRES_USER", "value": "postgres", "description": "Superuser name" },
9
- { "key": "POSTGRES_DB", "value": "postgres", "description": "Default database name" }
10
- ]
11
- }
@@ -1,14 +0,0 @@
1
- {
2
- "id": "rustdesk-server",
3
- "name": "RustDesk Server",
4
- "description": "Self-hosted RustDesk ID and relay server for remote desktop clients",
5
- "category": "Remote Access",
6
- "iconName": "monitor",
7
- "latestVersion": "1.0.0",
8
- "versions": ["1.0.0"],
9
- "maintainer": "serve.zone",
10
- "links": {
11
- "Website": "https://rustdesk.com/",
12
- "Docs": "https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/docker/"
13
- }
14
- }
@@ -1,19 +0,0 @@
1
- {
2
- "image": "rustdesk/rustdesk-server-s6:latest",
3
- "targetPorts": [
4
- { "name": "relay", "port": 21116, "protocol": "tcp", "default": true }
5
- ],
6
- "envVars": [
7
- {
8
- "key": "RELAY",
9
- "value": "${SERVICE_DOMAIN}:21116",
10
- "description": "Public RustDesk relay address advertised to clients",
11
- "required": true
12
- },
13
- {
14
- "key": "ENCRYPTED_ONLY",
15
- "value": "0",
16
- "description": "Set to 1 to require encrypted client connections only"
17
- }
18
- ]
19
- }
@@ -1,14 +0,0 @@
1
- {
2
- "id": "siprouter",
3
- "name": "SIP Router",
4
- "description": "SIP B2BUA, WebRTC softphone bridge, voicemail, fax, and live telephony operations dashboard.",
5
- "category": "Communication",
6
- "iconName": "phone",
7
- "latestVersion": "1.0.0",
8
- "versions": ["1.0.0"],
9
- "maintainer": "serve.zone",
10
- "links": {
11
- "Source": "https://code.foss.global/serve.zone/siprouter",
12
- "Docs": "https://serve.zone"
13
- }
14
- }
@@ -1,84 +0,0 @@
1
- {
2
- "image": "code.foss.global/serve.zone/siprouter:1.28.0",
3
- "targetPorts": [
4
- { "name": "web", "port": 3060, "protocol": "http", "default": true },
5
- { "name": "sip-udp", "port": 5070, "protocol": "udp" },
6
- { "name": "sip-tcp", "port": 5070, "protocol": "tcp" },
7
- { "name": "sips-udp", "port": 5061, "protocol": "udp" },
8
- { "name": "sips-tcp", "port": 5061, "protocol": "tcp" },
9
- { "name": "rtp", "port": 20000, "portEnd": 20200, "protocol": "udp" }
10
- ],
11
- "envVars": [
12
- {
13
- "key": "SIPROUTER_LAN_IP",
14
- "value": "",
15
- "description": "LAN or public IP address that SIP devices/providers should use for SIP and SDP.",
16
- "required": true
17
- },
18
- {
19
- "key": "SIPROUTER_PUBLIC_IP",
20
- "value": "",
21
- "description": "Optional public IP seed for provider registration Contact/Via headers. Leave empty for provider-detected IP."
22
- },
23
- {
24
- "key": "SIPROUTER_LAN_PORT",
25
- "value": "5070",
26
- "description": "SIP signaling port used by the Rust proxy engine.",
27
- "required": true
28
- },
29
- {
30
- "key": "SIPROUTER_WEB_UI_PORT",
31
- "value": "3060",
32
- "description": "Internal dashboard HTTP/WebSocket port.",
33
- "required": true
34
- },
35
- {
36
- "key": "SIPROUTER_RTP_PORT_MIN",
37
- "value": "20000",
38
- "description": "First UDP RTP media port.",
39
- "required": true
40
- },
41
- {
42
- "key": "SIPROUTER_RTP_PORT_MAX",
43
- "value": "20200",
44
- "description": "Last UDP RTP media port.",
45
- "required": true
46
- },
47
- {
48
- "key": "SIPROUTER_INITIAL_DEVICE_ID",
49
- "value": "desk-phone",
50
- "description": "Initial SIP device ID used when the first SmartData config is created.",
51
- "required": true
52
- },
53
- {
54
- "key": "SIPROUTER_INITIAL_DEVICE_DISPLAY_NAME",
55
- "value": "Desk Phone",
56
- "description": "Initial SIP device display name.",
57
- "required": true
58
- },
59
- {
60
- "key": "SIPROUTER_INITIAL_DEVICE_ADDRESS",
61
- "value": "",
62
- "description": "Expected LAN IP address of the initial SIP device.",
63
- "required": true
64
- },
65
- {
66
- "key": "SIPROUTER_INITIAL_DEVICE_EXTENSION",
67
- "value": "100",
68
- "description": "Initial SIP device extension.",
69
- "required": true
70
- }
71
- ],
72
- "publicPortMappings": [
73
- { "name": "sip-udp", "publicPort": 5070, "targetPort": "sip-udp", "protocol": "udp", "exclusive": true },
74
- { "name": "sip-tcp", "publicPort": 5070, "targetPort": "sip-tcp", "protocol": "tcp", "exclusive": true },
75
- { "name": "sips-udp", "publicPort": 5061, "targetPort": "sips-udp", "protocol": "udp", "exclusive": true },
76
- { "name": "sips-tcp", "publicPort": 5061, "targetPort": "sips-tcp", "protocol": "tcp", "exclusive": true },
77
- { "name": "rtp", "publicPort": 20000, "publicPortEnd": 20200, "targetPort": "rtp", "protocol": "udp", "exclusive": true }
78
- ],
79
- "platformRequirements": {
80
- "mongodb": true,
81
- "s3": true
82
- },
83
- "minOneboxVersion": "1.28.0"
84
- }
@@ -1,10 +0,0 @@
1
- {
2
- "id": "uptime-kuma",
3
- "name": "Uptime Kuma",
4
- "description": "Self-hosted uptime monitoring tool",
5
- "category": "Monitoring",
6
- "iconName": "uptime-kuma",
7
- "latestVersion": "1.0.0",
8
- "versions": ["1.0.0"],
9
- "maintainer": "serve.zone"
10
- }
@@ -1,6 +0,0 @@
1
- {
2
- "image": "louislam/uptime-kuma:latest",
3
- "targetPorts": [
4
- { "name": "web", "port": 3001, "protocol": "http", "default": true }
5
- ]
6
- }
@@ -1,10 +0,0 @@
1
- {
2
- "id": "valkey",
3
- "name": "Valkey",
4
- "description": "Open-source in-memory data store for caching and message brokering",
5
- "category": "Databases",
6
- "iconName": "database",
7
- "latestVersion": "1.0.0",
8
- "versions": ["1.0.0"],
9
- "maintainer": "serve.zone"
10
- }
@@ -1,6 +0,0 @@
1
- {
2
- "image": "valkey/valkey:9.1.0-alpine",
3
- "targetPorts": [
4
- { "name": "cache", "port": 6379, "protocol": "tcp", "default": true }
5
- ]
6
- }
@@ -1,10 +0,0 @@
1
- {
2
- "id": "vaultwarden",
3
- "name": "Vaultwarden",
4
- "description": "Lightweight Bitwarden-compatible password manager server",
5
- "category": "Security",
6
- "iconName": "vaultwarden",
7
- "latestVersion": "1.0.0",
8
- "versions": ["1.0.0"],
9
- "maintainer": "serve.zone"
10
- }
@@ -1,6 +0,0 @@
1
- {
2
- "image": "vaultwarden/server:latest",
3
- "targetPorts": [
4
- { "name": "web", "port": 80, "protocol": "http", "default": true }
5
- ]
6
- }
@@ -1,10 +0,0 @@
1
- {
2
- "id": "wordpress",
3
- "name": "WordPress",
4
- "description": "Popular open-source content management system",
5
- "category": "CMS",
6
- "iconName": "wordpress",
7
- "latestVersion": "1.0.0",
8
- "versions": ["1.0.0"],
9
- "maintainer": "serve.zone"
10
- }
@@ -1,15 +0,0 @@
1
- {
2
- "image": "wordpress:latest",
3
- "targetPorts": [
4
- { "name": "web", "port": 80, "protocol": "http", "default": true }
5
- ],
6
- "envVars": [
7
- { "key": "WORDPRESS_DB_HOST", "value": "${MARIADB_HOST}:${MARIADB_PORT}", "description": "Database host (auto-injected by platform)" },
8
- { "key": "WORDPRESS_DB_USER", "value": "${MARIADB_USER}", "description": "Database user (auto-injected by platform)" },
9
- { "key": "WORDPRESS_DB_PASSWORD", "value": "${MARIADB_PASSWORD}", "description": "Database password (auto-injected by platform)" },
10
- { "key": "WORDPRESS_DB_NAME", "value": "${MARIADB_DATABASE}", "description": "Database name (auto-injected by platform)" }
11
- ],
12
- "platformRequirements": {
13
- "mariadb": true
14
- }
15
- }
package/appstore.json DELETED
@@ -1,194 +0,0 @@
1
- {
2
- "updatedAt": "2026-09-23T23:40:57Z",
3
- "apps": [
4
- {
5
- "id": "nginx",
6
- "name": "Nginx",
7
- "description": "High-performance web server and reverse proxy. Lightweight, fast, and battle-tested.",
8
- "category": "Web Server",
9
- "iconName": "globe",
10
- "latestVersion": "1.0.0",
11
- "tags": ["web", "proxy"]
12
- },
13
- {
14
- "id": "wordpress",
15
- "name": "WordPress",
16
- "description": "The world's most popular content management system. Powers over 40% of the web.",
17
- "category": "CMS",
18
- "iconName": "file-text",
19
- "latestVersion": "1.0.0",
20
- "tags": ["cms", "blog"]
21
- },
22
- {
23
- "id": "ghost",
24
- "name": "Ghost",
25
- "description": "Modern publishing platform for creating professional blogs and newsletters.",
26
- "category": "CMS",
27
- "iconName": "book-open",
28
- "latestVersion": "1.0.0",
29
- "tags": ["cms", "blog", "newsletter"]
30
- },
31
- {
32
- "id": "gitea",
33
- "name": "Gitea",
34
- "description": "Lightweight self-hosted Git service. Easy to install and maintain.",
35
- "category": "Dev Tools",
36
- "iconName": "git-branch",
37
- "latestVersion": "1.0.0",
38
- "tags": ["git", "devtools"]
39
- },
40
- {
41
- "id": "gitops",
42
- "name": "GitOps",
43
- "description": "Operations dashboard for Git hosting, CI/CD secrets, pipeline logs, and documentation sync.",
44
- "category": "Dev Tools",
45
- "iconName": "git-branch",
46
- "latestVersion": "1.0.0",
47
- "tags": ["git", "devtools", "ci", "secrets"]
48
- },
49
- {
50
- "id": "nextcloud",
51
- "name": "Nextcloud",
52
- "description": "Self-hosted file sync and share platform. Your own private cloud.",
53
- "category": "Storage",
54
- "iconName": "package",
55
- "latestVersion": "1.0.0",
56
- "tags": ["storage", "cloud"]
57
- },
58
- {
59
- "id": "grafana",
60
- "name": "Grafana",
61
- "description": "Open-source observability platform for metrics, logs, and traces visualization.",
62
- "category": "Monitoring",
63
- "iconName": "monitor",
64
- "latestVersion": "1.0.0",
65
- "tags": ["monitoring", "observability"]
66
- },
67
- {
68
- "id": "uptime-kuma",
69
- "name": "Uptime Kuma",
70
- "description": "Self-hosted monitoring tool. Beautiful UI for tracking uptime of services.",
71
- "category": "Monitoring",
72
- "iconName": "monitor",
73
- "latestVersion": "1.0.0",
74
- "tags": ["monitoring", "uptime"]
75
- },
76
- {
77
- "id": "plausible",
78
- "name": "Plausible Analytics",
79
- "description": "Privacy-friendly web analytics. No cookies, GDPR compliant by design.",
80
- "category": "Analytics",
81
- "iconName": "monitor",
82
- "latestVersion": "1.0.0",
83
- "tags": ["analytics"]
84
- },
85
- {
86
- "id": "vaultwarden",
87
- "name": "Vaultwarden",
88
- "description": "Lightweight Bitwarden-compatible password manager server.",
89
- "category": "Security",
90
- "iconName": "shield",
91
- "latestVersion": "1.0.0",
92
- "tags": ["security", "passwords"]
93
- },
94
- {
95
- "id": "openbao",
96
- "name": "OpenBao",
97
- "description": "Open-source secrets management, encryption, and identity security platform.",
98
- "category": "Security",
99
- "iconName": "shield",
100
- "latestVersion": "1.0.0",
101
- "tags": ["security", "secrets", "encryption", "identity"]
102
- },
103
- {
104
- "id": "n8n",
105
- "name": "N8N",
106
- "description": "Workflow automation tool. Connect anything to everything with a visual editor.",
107
- "category": "Automation",
108
- "iconName": "server",
109
- "latestVersion": "1.0.0",
110
- "tags": ["automation", "workflow"]
111
- },
112
- {
113
- "id": "mattermost",
114
- "name": "Mattermost",
115
- "description": "Open-source Slack alternative for team communication and collaboration.",
116
- "category": "Communication",
117
- "iconName": "mail",
118
- "latestVersion": "1.0.0",
119
- "tags": ["communication", "chat"]
120
- },
121
- {
122
- "id": "siprouter",
123
- "name": "SIP Router",
124
- "description": "SIP B2BUA, WebRTC softphone bridge, voicemail, fax, and live telephony operations dashboard.",
125
- "category": "Communication",
126
- "iconName": "phone",
127
- "latestVersion": "1.0.0",
128
- "tags": ["sip", "telephony", "webrtc", "voice", "pbx"]
129
- },
130
- {
131
- "id": "portainer",
132
- "name": "Portainer",
133
- "description": "Docker management UI. Monitor and manage containers from a web interface.",
134
- "category": "Dev Tools",
135
- "iconName": "package",
136
- "latestVersion": "1.0.0",
137
- "tags": ["docker", "devtools"]
138
- },
139
- {
140
- "id": "rustdesk-server",
141
- "name": "RustDesk Server",
142
- "description": "Self-hosted RustDesk ID and relay server for secure remote desktop access.",
143
- "category": "Remote Access",
144
- "iconName": "monitor",
145
- "latestVersion": "1.0.0",
146
- "tags": ["remote-desktop", "relay", "self-hosted"]
147
- },
148
- {
149
- "id": "cloudly",
150
- "name": "Cloudly",
151
- "description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.",
152
- "category": "Dev Tools",
153
- "iconName": "server",
154
- "latestVersion": "1.27.0",
155
- "tags": ["serve.zone", "control-plane", "clusters", "deployments"]
156
- },
157
- {
158
- "id": "valkey",
159
- "name": "Valkey",
160
- "description": "Open-source in-memory data store used as database, cache, and message broker.",
161
- "category": "Database",
162
- "iconName": "database",
163
- "latestVersion": "1.0.0",
164
- "tags": ["database", "cache"]
165
- },
166
- {
167
- "id": "postgres",
168
- "name": "PostgreSQL",
169
- "description": "Advanced open-source relational database. Reliable and feature-rich.",
170
- "category": "Database",
171
- "iconName": "database",
172
- "latestVersion": "1.0.0",
173
- "tags": ["database", "sql"]
174
- },
175
- {
176
- "id": "mariadb",
177
- "name": "MariaDB",
178
- "description": "Community-developed fork of MySQL. Drop-in replacement with enhanced features.",
179
- "category": "Database",
180
- "iconName": "database",
181
- "latestVersion": "1.0.0",
182
- "tags": ["database", "sql", "mysql"]
183
- },
184
- {
185
- "id": "adminer",
186
- "name": "Adminer",
187
- "description": "Database management tool in a single PHP file. Supports MySQL, PostgreSQL, SQLite.",
188
- "category": "Dev Tools",
189
- "iconName": "database",
190
- "latestVersion": "1.0.0",
191
- "tags": ["database", "devtools"]
192
- }
193
- ]
194
- }
@@ -1,59 +0,0 @@
1
- import * as interfaces from '@serve.zone/interfaces';
2
- import type { IAppStoreResolverOptions, IAppStoreSourceInfo, IAppStoreStorageNormalizationOptions, INormalizedAppStoreStorageConfig, IParsedDockerImageReference, IResolvedAppStoreApp, TAppStoreApp, TAppStoreDockerImageSource, TAppStoreIndex, TAppStoreRepoManifestSource, TAppStoreResolvedSource, TAppStoreVersionConfig, TServezoneAppStoreManifest } from './types.js';
3
- export declare const appStorePackageMetadata: {
4
- name: string;
5
- version: string;
6
- };
7
- export declare const appStoreDefaultRemoteBaseUrl = "https://code.foss.global/serve.zone/appstore/raw/branch/main";
8
- export declare class AppStoreResolver {
9
- readonly baseUrl: string;
10
- private readonly fetchRef;
11
- private readonly source;
12
- private readonly resolveDockerDigests;
13
- private readonly requestTimeoutMs;
14
- private readonly now;
15
- private appStoreCache;
16
- private inlineAppMetaCache;
17
- private sourceAppCache;
18
- constructor(optionsArg?: IAppStoreResolverOptions);
19
- getSourceInfo(): IAppStoreSourceInfo;
20
- getAppStoreIndex(): Promise<TAppStoreIndex>;
21
- getApps(): Promise<TAppStoreApp[]>;
22
- getAppMeta(appIdArg: string): Promise<interfaces.appstore.IAppStoreAppMeta>;
23
- getAppVersionConfig(appIdArg: string, versionArg: string): Promise<TAppStoreVersionConfig>;
24
- resolveAppStore(appStoreArg: unknown): Promise<TAppStoreIndex>;
25
- resolveRepoManifestSource(sourceArg: TAppStoreRepoManifestSource, appArg?: TAppStoreApp): Promise<IResolvedAppStoreApp>;
26
- resolveDockerImageSource(sourceArg: TAppStoreDockerImageSource): Promise<TAppStoreResolvedSource>;
27
- resolveDockerImageDigest(imageArg: string): Promise<string | null>;
28
- validateAppStoreVersionConfig(configArg: TAppStoreVersionConfig, labelArg?: string): void;
29
- /**
30
- * Produces the canonical storage handoff only after target feature
31
- * negotiation. Fulfillment adapters should use this method before creating
32
- * or mutating any storage resource.
33
- */
34
- normalizeStorageConfig(configArg: TAppStoreVersionConfig, optionsArg: IAppStoreStorageNormalizationOptions, labelArg?: string): INormalizedAppStoreStorageConfig;
35
- normalizeVolumes(volumesArg?: TAppStoreVersionConfig['volumes']): interfaces.appstore.IAppStoreVolume[];
36
- private fetchAppStoreIndex;
37
- private resolveAppStoreApp;
38
- private resolveServezoneAppStoreManifest;
39
- private resolveConfigSource;
40
- private applyDockerImageSourceToConfig;
41
- private validateInlineAppMetadata;
42
- private createAppMetaFromAppStoreApp;
43
- private getAppStoreApp;
44
- private withRemoteResponse;
45
- private fetchRemoteHeaders;
46
- private fetchJson;
47
- fetchText(pathArg: string): Promise<string>;
48
- private fetchTextFromUrl;
49
- private fetchDockerManifestDigest;
50
- private fetchDockerRegistryToken;
51
- private validateVolume;
52
- private validatePublishedPorts;
53
- private validateTargetPortModel;
54
- private assertValidPort;
55
- }
56
- export declare function parseAppStoreIndex(inputArg: unknown): TAppStoreIndex;
57
- export declare function parseServezoneAppStoreManifest(inputArg: unknown): TServezoneAppStoreManifest;
58
- export declare function parseDockerImageReference(imageArg: string): IParsedDockerImageReference;
59
- export declare function createAppStoreVersionForDockerSource(sourceArg: TAppStoreDockerImageSource, fallbackVersionArg: string, digestArg?: string): string;