From 2121a92474f1d876a747e8fdaf8e40fa85d0db84 Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Sun, 24 May 2026 10:16:55 +0000 Subject: [PATCH] feat: add gitops and siprouter app templates --- apps/gitops/app.json | 14 ++++ apps/gitops/versions/1.0.0/config.json | 26 ++++++++ apps/siprouter/app.json | 14 ++++ apps/siprouter/versions/1.0.0/config.json | 78 +++++++++++++++++++++++ catalog.json | 20 +++++- 5 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 apps/gitops/app.json create mode 100644 apps/gitops/versions/1.0.0/config.json create mode 100644 apps/siprouter/app.json create mode 100644 apps/siprouter/versions/1.0.0/config.json diff --git a/apps/gitops/app.json b/apps/gitops/app.json new file mode 100644 index 0000000..ae51a70 --- /dev/null +++ b/apps/gitops/app.json @@ -0,0 +1,14 @@ +{ + "id": "gitops", + "name": "GitOps", + "description": "Operations dashboard for Git hosting, CI/CD secrets, pipeline logs, and documentation sync.", + "category": "Dev Tools", + "iconName": "git-branch", + "latestVersion": "1.0.0", + "versions": ["1.0.0"], + "maintainer": "serve.zone", + "links": { + "Source": "https://code.foss.global/serve.zone/gitops", + "Docs": "https://serve.zone" + } +} diff --git a/apps/gitops/versions/1.0.0/config.json b/apps/gitops/versions/1.0.0/config.json new file mode 100644 index 0000000..89ebaba --- /dev/null +++ b/apps/gitops/versions/1.0.0/config.json @@ -0,0 +1,26 @@ +{ + "image": "code.foss.global/serve.zone/gitops:2.13.0", + "port": 3000, + "envVars": [ + { + "key": "GITOPS_PORT", + "value": "3000", + "description": "Internal GitOps HTTP port inside the container.", + "required": true + }, + { + "key": "GITOPS_ADMIN_USERNAME", + "value": "", + "description": "Initial admin username for the GitOps web UI.", + "required": true + }, + { + "key": "GITOPS_ADMIN_PASSWORD", + "value": "", + "description": "Initial admin password for the GitOps web UI.", + "required": true + } + ], + "volumes": ["/data/.serve.zone/gitops"], + "minOneboxVersion": "1.27.0" +} diff --git a/apps/siprouter/app.json b/apps/siprouter/app.json new file mode 100644 index 0000000..b2f6297 --- /dev/null +++ b/apps/siprouter/app.json @@ -0,0 +1,14 @@ +{ + "id": "siprouter", + "name": "SIP Router", + "description": "SIP B2BUA, WebRTC softphone bridge, voicemail, fax, and live telephony operations dashboard.", + "category": "Communication", + "iconName": "phone", + "latestVersion": "1.0.0", + "versions": ["1.0.0"], + "maintainer": "serve.zone", + "links": { + "Source": "https://code.foss.global/serve.zone/siprouter", + "Docs": "https://serve.zone" + } +} diff --git a/apps/siprouter/versions/1.0.0/config.json b/apps/siprouter/versions/1.0.0/config.json new file mode 100644 index 0000000..f609a19 --- /dev/null +++ b/apps/siprouter/versions/1.0.0/config.json @@ -0,0 +1,78 @@ +{ + "image": "code.foss.global/serve.zone/siprouter:1.28.0", + "port": 3060, + "envVars": [ + { + "key": "SIPROUTER_LAN_IP", + "value": "", + "description": "LAN or public IP address that SIP devices/providers should use for SIP and SDP.", + "required": true + }, + { + "key": "SIPROUTER_PUBLIC_IP", + "value": "", + "description": "Optional public IP seed for provider registration Contact/Via headers. Leave empty for provider-detected IP." + }, + { + "key": "SIPROUTER_LAN_PORT", + "value": "5070", + "description": "SIP signaling port used by the Rust proxy engine.", + "required": true + }, + { + "key": "SIPROUTER_WEB_UI_PORT", + "value": "3060", + "description": "Internal dashboard HTTP/WebSocket port.", + "required": true + }, + { + "key": "SIPROUTER_RTP_PORT_MIN", + "value": "20000", + "description": "First UDP RTP media port.", + "required": true + }, + { + "key": "SIPROUTER_RTP_PORT_MAX", + "value": "20200", + "description": "Last UDP RTP media port.", + "required": true + }, + { + "key": "SIPROUTER_INITIAL_DEVICE_ID", + "value": "desk-phone", + "description": "Initial SIP device ID used when the first SmartData config is created.", + "required": true + }, + { + "key": "SIPROUTER_INITIAL_DEVICE_DISPLAY_NAME", + "value": "Desk Phone", + "description": "Initial SIP device display name.", + "required": true + }, + { + "key": "SIPROUTER_INITIAL_DEVICE_ADDRESS", + "value": "", + "description": "Expected LAN IP address of the initial SIP device.", + "required": true + }, + { + "key": "SIPROUTER_INITIAL_DEVICE_EXTENSION", + "value": "100", + "description": "Initial SIP device extension.", + "required": true + } + ], + "publishedPorts": [ + { "targetPort": 3060, "publishedPort": 3060, "protocol": "tcp" }, + { "targetPort": 5070, "publishedPort": 5070, "protocol": "udp" }, + { "targetPort": 5070, "publishedPort": 5070, "protocol": "tcp" }, + { "targetPort": 5061, "publishedPort": 5061, "protocol": "udp" }, + { "targetPort": 5061, "publishedPort": 5061, "protocol": "tcp" }, + { "targetPort": 20000, "targetPortEnd": 20200, "publishedPort": 20000, "publishedPortEnd": 20200, "protocol": "udp" } + ], + "platformRequirements": { + "mongodb": true, + "s3": true + }, + "minOneboxVersion": "1.27.0" +} diff --git a/catalog.json b/catalog.json index efe12d3..e0ecaf0 100644 --- a/catalog.json +++ b/catalog.json @@ -1,6 +1,6 @@ { "schemaVersion": 1, - "updatedAt": "2026-05-08T00:00:00Z", + "updatedAt": "2026-05-18T00:00:00Z", "apps": [ { "id": "nginx", @@ -38,6 +38,15 @@ "latestVersion": "1.0.0", "tags": ["git", "devtools"] }, + { + "id": "gitops", + "name": "GitOps", + "description": "Operations dashboard for Git hosting, CI/CD secrets, pipeline logs, and documentation sync.", + "category": "Dev Tools", + "iconName": "git-branch", + "latestVersion": "1.0.0", + "tags": ["git", "devtools", "ci", "secrets"] + }, { "id": "nextcloud", "name": "Nextcloud", @@ -101,6 +110,15 @@ "latestVersion": "1.0.0", "tags": ["communication", "chat"] }, + { + "id": "siprouter", + "name": "SIP Router", + "description": "SIP B2BUA, WebRTC softphone bridge, voicemail, fax, and live telephony operations dashboard.", + "category": "Communication", + "iconName": "phone", + "latestVersion": "1.0.0", + "tags": ["sip", "telephony", "webrtc", "voice", "pbx"] + }, { "id": "portainer", "name": "Portainer",