@serve.zone/appstore 0.2.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 (56) hide show
  1. package/.smartconfig.json +44 -0
  2. package/apps/adminer/app.json +10 -0
  3. package/apps/adminer/versions/1.0.0/config.json +4 -0
  4. package/apps/cloudly/app.json +14 -0
  5. package/apps/cloudly/versions/1.0.0/config.json +101 -0
  6. package/apps/ghost/app.json +10 -0
  7. package/apps/ghost/versions/1.0.0/config.json +16 -0
  8. package/apps/gitea/app.json +10 -0
  9. package/apps/gitea/versions/1.0.0/config.json +14 -0
  10. package/apps/gitops/app.json +14 -0
  11. package/apps/gitops/versions/1.0.0/config.json +26 -0
  12. package/apps/grafana/app.json +10 -0
  13. package/apps/grafana/versions/1.0.0/config.json +7 -0
  14. package/apps/mariadb/app.json +10 -0
  15. package/apps/mariadb/versions/1.0.0/config.json +7 -0
  16. package/apps/mattermost/app.json +10 -0
  17. package/apps/mattermost/versions/1.0.0/config.json +4 -0
  18. package/apps/n8n/app.json +10 -0
  19. package/apps/n8n/versions/1.0.0/config.json +4 -0
  20. package/apps/nextcloud/app.json +10 -0
  21. package/apps/nextcloud/versions/1.0.0/config.json +14 -0
  22. package/apps/nginx/app.json +10 -0
  23. package/apps/nginx/versions/1.0.0/config.json +4 -0
  24. package/apps/plausible/app.json +10 -0
  25. package/apps/plausible/versions/1.0.0/config.json +7 -0
  26. package/apps/portainer/app.json +10 -0
  27. package/apps/portainer/versions/1.0.0/config.json +4 -0
  28. package/apps/postgres/app.json +10 -0
  29. package/apps/postgres/versions/1.0.0/config.json +9 -0
  30. package/apps/redis/app.json +10 -0
  31. package/apps/redis/versions/1.0.0/config.json +4 -0
  32. package/apps/rustdesk-server/app.json +14 -0
  33. package/apps/rustdesk-server/versions/1.0.0/config.json +17 -0
  34. package/apps/siprouter/app.json +14 -0
  35. package/apps/siprouter/versions/1.0.0/config.json +78 -0
  36. package/apps/uptime-kuma/app.json +10 -0
  37. package/apps/uptime-kuma/versions/1.0.0/config.json +4 -0
  38. package/apps/vaultwarden/app.json +10 -0
  39. package/apps/vaultwarden/versions/1.0.0/config.json +4 -0
  40. package/apps/wordpress/app.json +10 -0
  41. package/apps/wordpress/versions/1.0.0/config.json +13 -0
  42. package/appstore.json +191 -0
  43. package/changelog.md +14 -0
  44. package/dist_ts_client/classes.appstoreresolver.d.ts +39 -0
  45. package/dist_ts_client/classes.appstoreresolver.js +513 -0
  46. package/dist_ts_client/index.d.ts +2 -0
  47. package/dist_ts_client/index.js +3 -0
  48. package/dist_ts_client/types.d.ts +27 -0
  49. package/dist_ts_client/types.js +2 -0
  50. package/license +21 -0
  51. package/package.json +52 -0
  52. package/readme.md +180 -0
  53. package/ts_client/classes.appstoreresolver.ts +623 -0
  54. package/ts_client/index.ts +2 -0
  55. package/ts_client/tspublish.json +3 -0
  56. package/ts_client/types.ts +31 -0
@@ -0,0 +1,44 @@
1
+ {
2
+ "@git.zone/cli": {
3
+ "schemaVersion": 2,
4
+ "projectType": "npm",
5
+ "module": {
6
+ "githost": "code.foss.global",
7
+ "gitscope": "serve.zone",
8
+ "gitrepo": "appstore",
9
+ "description": "serve.zone App Store metadata, parser, and resolver client.",
10
+ "npmPackagename": "@serve.zone/appstore",
11
+ "license": "MIT",
12
+ "projectDomain": "serve.zone",
13
+ "keywords": [
14
+ "serve.zone",
15
+ "appstore",
16
+ "catalog",
17
+ "templates",
18
+ "onebox",
19
+ "cloudly"
20
+ ]
21
+ },
22
+ "release": {
23
+ "targets": {
24
+ "git": {
25
+ "enabled": true,
26
+ "remote": "origin"
27
+ },
28
+ "npm": {
29
+ "enabled": true,
30
+ "registries": [
31
+ "https://verdaccio.lossless.digital",
32
+ "https://registry.npmjs.org"
33
+ ],
34
+ "accessLevel": "public"
35
+ },
36
+ "docker": {
37
+ "enabled": false,
38
+ "engine": "tsdocker"
39
+ }
40
+ }
41
+ }
42
+ },
43
+ "@ship.zone/szci": {}
44
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "id": "adminer",
3
+ "name": "Adminer",
4
+ "description": "Lightweight database management tool with web interface",
5
+ "category": "Databases",
6
+ "iconName": "adminer",
7
+ "latestVersion": "1.0.0",
8
+ "versions": ["1.0.0"],
9
+ "maintainer": "serve.zone"
10
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "image": "adminer:latest",
3
+ "port": 8080
4
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "cloudly",
3
+ "name": "Cloudly",
4
+ "description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.",
5
+ "category": "Dev Tools",
6
+ "iconName": "server",
7
+ "latestVersion": "1.0.0",
8
+ "versions": ["1.0.0"],
9
+ "maintainer": "serve.zone",
10
+ "links": {
11
+ "Source": "https://code.foss.global/serve.zone/cloudly",
12
+ "Docs": "https://serve.zone"
13
+ }
14
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "image": "code.foss.global/serve.zone/cloudly:latest",
3
+ "port": 80,
4
+ "envVars": [
5
+ {
6
+ "key": "SERVEZONE_ENVIRONMENT",
7
+ "value": "production",
8
+ "description": "Cloudly runtime environment.",
9
+ "required": true
10
+ },
11
+ {
12
+ "key": "SERVEZONE_URL",
13
+ "value": "${SERVICE_DOMAIN}",
14
+ "description": "Public Cloudly hostname without protocol.",
15
+ "required": true
16
+ },
17
+ {
18
+ "key": "SERVEZONE_PORT",
19
+ "value": "80",
20
+ "description": "Internal Cloudly HTTP port inside the container.",
21
+ "required": true
22
+ },
23
+ {
24
+ "key": "SERVEZONE_SSLMODE",
25
+ "value": "external",
26
+ "description": "Use external TLS termination through Onebox or dcrouter.",
27
+ "required": true
28
+ },
29
+ {
30
+ "key": "SERVEZONE_ADMINACCOUNT",
31
+ "value": "",
32
+ "description": "Initial admin account in username:password format. Only used when Cloudly has no human users yet.",
33
+ "required": true
34
+ },
35
+ {
36
+ "key": "MONGODB_URL",
37
+ "value": "${MONGODB_URI}",
38
+ "description": "Authenticated MongoDB connection URL provisioned by Onebox.",
39
+ "required": true
40
+ },
41
+ {
42
+ "key": "MONGODB_NAME",
43
+ "value": "${MONGODB_DATABASE}",
44
+ "description": "MongoDB database name provisioned by Onebox.",
45
+ "required": true
46
+ },
47
+ {
48
+ "key": "MONGODB_USER",
49
+ "value": "${MONGODB_USERNAME}",
50
+ "description": "MongoDB username provisioned by Onebox.",
51
+ "required": true
52
+ },
53
+ {
54
+ "key": "MONGODB_PASS",
55
+ "value": "${MONGODB_PASSWORD}",
56
+ "description": "MongoDB password provisioned by Onebox.",
57
+ "required": true
58
+ },
59
+ {
60
+ "key": "S3_ENDPOINT",
61
+ "value": "onebox-minio",
62
+ "description": "S3 endpoint host for the MinIO service provisioned by Onebox.",
63
+ "required": true
64
+ },
65
+ {
66
+ "key": "S3_PORT",
67
+ "value": "9000",
68
+ "description": "S3 endpoint port for the MinIO service provisioned by Onebox.",
69
+ "required": true
70
+ },
71
+ {
72
+ "key": "S3_USESSL",
73
+ "value": "false",
74
+ "description": "Use plain HTTP for internal MinIO traffic on the Onebox network.",
75
+ "required": true
76
+ },
77
+ {
78
+ "key": "S3_BUCKET",
79
+ "value": "${S3_BUCKET}",
80
+ "description": "S3 bucket provisioned by Onebox for Cloudly's registry.",
81
+ "required": true
82
+ },
83
+ {
84
+ "key": "S3_ACCESSKEY",
85
+ "value": "${S3_ACCESS_KEY}",
86
+ "description": "S3 access key provisioned by Onebox.",
87
+ "required": true
88
+ },
89
+ {
90
+ "key": "S3_SECRETKEY",
91
+ "value": "${S3_SECRET_KEY}",
92
+ "description": "S3 secret key provisioned by Onebox.",
93
+ "required": true
94
+ }
95
+ ],
96
+ "platformRequirements": {
97
+ "mongodb": true,
98
+ "s3": true
99
+ },
100
+ "minOneboxVersion": "1.24.2"
101
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "id": "ghost",
3
+ "name": "Ghost",
4
+ "description": "Professional publishing platform for blogs and newsletters",
5
+ "category": "CMS",
6
+ "iconName": "ghost",
7
+ "latestVersion": "1.0.0",
8
+ "versions": ["1.0.0"],
9
+ "maintainer": "serve.zone"
10
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "image": "ghost:latest",
3
+ "port": 2368,
4
+ "envVars": [
5
+ { "key": "database__client", "value": "mysql", "description": "Database client" },
6
+ { "key": "database__connection__host", "value": "${MARIADB_HOST}", "description": "Database host (auto-injected by platform)" },
7
+ { "key": "database__connection__port", "value": "${MARIADB_PORT}", "description": "Database port (auto-injected by platform)" },
8
+ { "key": "database__connection__user", "value": "${MARIADB_USER}", "description": "Database user (auto-injected by platform)" },
9
+ { "key": "database__connection__password", "value": "${MARIADB_PASSWORD}", "description": "Database password (auto-injected by platform)" },
10
+ { "key": "database__connection__database", "value": "${MARIADB_DATABASE}", "description": "Database name (auto-injected by platform)" },
11
+ { "key": "url", "value": "http://localhost:2368", "description": "Public URL of the blog" }
12
+ ],
13
+ "platformRequirements": {
14
+ "mariadb": true
15
+ }
16
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "id": "gitea",
3
+ "name": "Gitea",
4
+ "description": "Lightweight self-hosted Git service",
5
+ "category": "Development",
6
+ "iconName": "gitea",
7
+ "latestVersion": "1.0.0",
8
+ "versions": ["1.0.0"],
9
+ "maintainer": "serve.zone"
10
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "image": "gitea/gitea:latest",
3
+ "port": 3000,
4
+ "envVars": [
5
+ { "key": "GITEA__database__DB_TYPE", "value": "mysql", "description": "Database type" },
6
+ { "key": "GITEA__database__HOST", "value": "${MARIADB_HOST}:${MARIADB_PORT}", "description": "Database host (auto-injected by platform)" },
7
+ { "key": "GITEA__database__NAME", "value": "${MARIADB_DATABASE}", "description": "Database name (auto-injected by platform)" },
8
+ { "key": "GITEA__database__USER", "value": "${MARIADB_USER}", "description": "Database user (auto-injected by platform)" },
9
+ { "key": "GITEA__database__PASSWD", "value": "${MARIADB_PASSWORD}", "description": "Database password (auto-injected by platform)" }
10
+ ],
11
+ "platformRequirements": {
12
+ "mariadb": true
13
+ }
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "gitops",
3
+ "name": "GitOps",
4
+ "description": "Operations dashboard for Git hosting, CI/CD secrets, pipeline logs, and documentation sync.",
5
+ "category": "Dev Tools",
6
+ "iconName": "git-branch",
7
+ "latestVersion": "1.0.0",
8
+ "versions": ["1.0.0"],
9
+ "maintainer": "serve.zone",
10
+ "links": {
11
+ "Source": "https://code.foss.global/serve.zone/gitops",
12
+ "Docs": "https://serve.zone"
13
+ }
14
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "image": "code.foss.global/serve.zone/gitops:2.13.0",
3
+ "port": 3000,
4
+ "envVars": [
5
+ {
6
+ "key": "GITOPS_PORT",
7
+ "value": "3000",
8
+ "description": "Internal GitOps HTTP port inside the container.",
9
+ "required": true
10
+ },
11
+ {
12
+ "key": "GITOPS_ADMIN_USERNAME",
13
+ "value": "",
14
+ "description": "Initial admin username for the GitOps web UI.",
15
+ "required": true
16
+ },
17
+ {
18
+ "key": "GITOPS_ADMIN_PASSWORD",
19
+ "value": "",
20
+ "description": "Initial admin password for the GitOps web UI.",
21
+ "required": true
22
+ }
23
+ ],
24
+ "volumes": ["/data/.serve.zone/gitops"],
25
+ "minOneboxVersion": "1.28.0"
26
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "id": "grafana",
3
+ "name": "Grafana",
4
+ "description": "Open-source analytics and monitoring platform",
5
+ "category": "Monitoring",
6
+ "iconName": "grafana",
7
+ "latestVersion": "1.0.0",
8
+ "versions": ["1.0.0"],
9
+ "maintainer": "serve.zone"
10
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "image": "grafana/grafana:latest",
3
+ "port": 3000,
4
+ "envVars": [
5
+ { "key": "GF_SECURITY_ADMIN_PASSWORD", "value": "admin", "description": "Admin password" }
6
+ ]
7
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "id": "mariadb",
3
+ "name": "MariaDB",
4
+ "description": "Community-developed relational database forked from MySQL",
5
+ "category": "Databases",
6
+ "iconName": "mariadb",
7
+ "latestVersion": "1.0.0",
8
+ "versions": ["1.0.0"],
9
+ "maintainer": "serve.zone"
10
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "image": "mariadb:latest",
3
+ "port": 3306,
4
+ "envVars": [
5
+ { "key": "MARIADB_ROOT_PASSWORD", "value": "", "description": "Root password", "required": true }
6
+ ]
7
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "id": "mattermost",
3
+ "name": "Mattermost",
4
+ "description": "Open-source team messaging and collaboration platform",
5
+ "category": "Communication",
6
+ "iconName": "mattermost",
7
+ "latestVersion": "1.0.0",
8
+ "versions": ["1.0.0"],
9
+ "maintainer": "serve.zone"
10
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "image": "mattermost/mattermost-team-edition:latest",
3
+ "port": 8065
4
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "id": "n8n",
3
+ "name": "n8n",
4
+ "description": "Workflow automation platform with visual editor",
5
+ "category": "Automation",
6
+ "iconName": "n8n",
7
+ "latestVersion": "1.0.0",
8
+ "versions": ["1.0.0"],
9
+ "maintainer": "serve.zone"
10
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "image": "n8nio/n8n:latest",
3
+ "port": 5678
4
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "id": "nextcloud",
3
+ "name": "Nextcloud",
4
+ "description": "Self-hosted productivity and file sharing platform",
5
+ "category": "Cloud Storage",
6
+ "iconName": "nextcloud",
7
+ "latestVersion": "1.0.0",
8
+ "versions": ["1.0.0"],
9
+ "maintainer": "serve.zone"
10
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "image": "nextcloud:latest",
3
+ "port": 80,
4
+ "envVars": [
5
+ { "key": "MYSQL_HOST", "value": "${MARIADB_HOST}", "description": "Database host (auto-injected by platform)" },
6
+ { "key": "MYSQL_USER", "value": "${MARIADB_USER}", "description": "Database user (auto-injected by platform)" },
7
+ { "key": "MYSQL_PASSWORD", "value": "${MARIADB_PASSWORD}", "description": "Database password (auto-injected by platform)" },
8
+ { "key": "MYSQL_DATABASE", "value": "${MARIADB_DATABASE}", "description": "Database name (auto-injected by platform)" }
9
+ ],
10
+ "platformRequirements": {
11
+ "mariadb": true,
12
+ "redis": true
13
+ }
14
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "id": "nginx",
3
+ "name": "Nginx",
4
+ "description": "High-performance web server and reverse proxy",
5
+ "category": "Web Servers",
6
+ "iconName": "nginx",
7
+ "latestVersion": "1.0.0",
8
+ "versions": ["1.0.0"],
9
+ "maintainer": "serve.zone"
10
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "image": "nginx:alpine",
3
+ "port": 80
4
+ }
@@ -0,0 +1,10 @@
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
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "image": "plausible/analytics:latest",
3
+ "port": 8000,
4
+ "platformRequirements": {
5
+ "clickhouse": true
6
+ }
7
+ }
@@ -0,0 +1,10 @@
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
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "image": "portainer/portainer-ce:latest",
3
+ "port": 9000
4
+ }
@@ -0,0 +1,10 @@
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
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "image": "postgres:16-alpine",
3
+ "port": 5432,
4
+ "envVars": [
5
+ { "key": "POSTGRES_PASSWORD", "value": "", "description": "Superuser password", "required": true },
6
+ { "key": "POSTGRES_USER", "value": "postgres", "description": "Superuser name" },
7
+ { "key": "POSTGRES_DB", "value": "postgres", "description": "Default database name" }
8
+ ]
9
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "id": "redis",
3
+ "name": "Redis",
4
+ "description": "In-memory data store for caching and message brokering",
5
+ "category": "Databases",
6
+ "iconName": "redis",
7
+ "latestVersion": "1.0.0",
8
+ "versions": ["1.0.0"],
9
+ "maintainer": "serve.zone"
10
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "image": "redis:alpine",
3
+ "port": 6379
4
+ }
@@ -0,0 +1,14 @@
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
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "image": "rustdesk/rustdesk-server-s6:latest",
3
+ "port": 21116,
4
+ "envVars": [
5
+ {
6
+ "key": "RELAY",
7
+ "value": "${SERVICE_DOMAIN}:21116",
8
+ "description": "Public RustDesk relay address advertised to clients",
9
+ "required": true
10
+ },
11
+ {
12
+ "key": "ENCRYPTED_ONLY",
13
+ "value": "0",
14
+ "description": "Set to 1 to require encrypted client connections only"
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,14 @@
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
+ }
@@ -0,0 +1,78 @@
1
+ {
2
+ "image": "code.foss.global/serve.zone/siprouter:1.28.0",
3
+ "port": 3060,
4
+ "envVars": [
5
+ {
6
+ "key": "SIPROUTER_LAN_IP",
7
+ "value": "",
8
+ "description": "LAN or public IP address that SIP devices/providers should use for SIP and SDP.",
9
+ "required": true
10
+ },
11
+ {
12
+ "key": "SIPROUTER_PUBLIC_IP",
13
+ "value": "",
14
+ "description": "Optional public IP seed for provider registration Contact/Via headers. Leave empty for provider-detected IP."
15
+ },
16
+ {
17
+ "key": "SIPROUTER_LAN_PORT",
18
+ "value": "5070",
19
+ "description": "SIP signaling port used by the Rust proxy engine.",
20
+ "required": true
21
+ },
22
+ {
23
+ "key": "SIPROUTER_WEB_UI_PORT",
24
+ "value": "3060",
25
+ "description": "Internal dashboard HTTP/WebSocket port.",
26
+ "required": true
27
+ },
28
+ {
29
+ "key": "SIPROUTER_RTP_PORT_MIN",
30
+ "value": "20000",
31
+ "description": "First UDP RTP media port.",
32
+ "required": true
33
+ },
34
+ {
35
+ "key": "SIPROUTER_RTP_PORT_MAX",
36
+ "value": "20200",
37
+ "description": "Last UDP RTP media port.",
38
+ "required": true
39
+ },
40
+ {
41
+ "key": "SIPROUTER_INITIAL_DEVICE_ID",
42
+ "value": "desk-phone",
43
+ "description": "Initial SIP device ID used when the first SmartData config is created.",
44
+ "required": true
45
+ },
46
+ {
47
+ "key": "SIPROUTER_INITIAL_DEVICE_DISPLAY_NAME",
48
+ "value": "Desk Phone",
49
+ "description": "Initial SIP device display name.",
50
+ "required": true
51
+ },
52
+ {
53
+ "key": "SIPROUTER_INITIAL_DEVICE_ADDRESS",
54
+ "value": "",
55
+ "description": "Expected LAN IP address of the initial SIP device.",
56
+ "required": true
57
+ },
58
+ {
59
+ "key": "SIPROUTER_INITIAL_DEVICE_EXTENSION",
60
+ "value": "100",
61
+ "description": "Initial SIP device extension.",
62
+ "required": true
63
+ }
64
+ ],
65
+ "publishedPorts": [
66
+ { "targetPort": 3060, "publishedPort": 3060, "protocol": "tcp" },
67
+ { "targetPort": 5070, "publishedPort": 5070, "protocol": "udp" },
68
+ { "targetPort": 5070, "publishedPort": 5070, "protocol": "tcp" },
69
+ { "targetPort": 5061, "publishedPort": 5061, "protocol": "udp" },
70
+ { "targetPort": 5061, "publishedPort": 5061, "protocol": "tcp" },
71
+ { "targetPort": 20000, "targetPortEnd": 20200, "publishedPort": 20000, "publishedPortEnd": 20200, "protocol": "udp" }
72
+ ],
73
+ "platformRequirements": {
74
+ "mongodb": true,
75
+ "s3": true
76
+ },
77
+ "minOneboxVersion": "1.28.0"
78
+ }
@@ -0,0 +1,10 @@
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
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "image": "louislam/uptime-kuma:latest",
3
+ "port": 3001
4
+ }
@@ -0,0 +1,10 @@
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
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "image": "vaultwarden/server:latest",
3
+ "port": 80
4
+ }