From 1a4afa7c79f3a187d8191fbf9641d8e846fb48e8 Mon Sep 17 00:00:00 2001 From: Kien Ngo Date: Sat, 21 Feb 2026 20:42:21 +0700 Subject: [PATCH 1/8] Add go2rtc --- blueprints/go2rtc/docker-compose.yml | 23 ++++++++++++ blueprints/go2rtc/go2rtc.png | Bin 0 -> 35192 bytes blueprints/go2rtc/template.toml | 13 +++++++ meta.json | 54 ++++++++++++++++++--------- 4 files changed, 72 insertions(+), 18 deletions(-) create mode 100644 blueprints/go2rtc/docker-compose.yml create mode 100644 blueprints/go2rtc/go2rtc.png create mode 100644 blueprints/go2rtc/template.toml diff --git a/blueprints/go2rtc/docker-compose.yml b/blueprints/go2rtc/docker-compose.yml new file mode 100644 index 000000000..46942f856 --- /dev/null +++ b/blueprints/go2rtc/docker-compose.yml @@ -0,0 +1,23 @@ +services: + go2rtc: + image: alexxit/go2rtc:latest + restart: unless-stopped + + # Access to webcam + devices: + - /dev/video0:/dev/video0 + + ports: + - 1984 # Web UI + - 8554 # RTSP + - 8555/tcp # WebRTC + - 8555/udp + + environment: + - TZ=${TZ} + + volumes: + - go2rtc-config:/config + +volumes: + go2rtc-config: {} diff --git a/blueprints/go2rtc/go2rtc.png b/blueprints/go2rtc/go2rtc.png new file mode 100644 index 0000000000000000000000000000000000000000..a9a81a3c12463dc49045ced599fbd847edb396c2 GIT binary patch literal 35192 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 ZgkPX7A+5GQ)VKfu002ovPDHLkV1nfq0)GGi literal 0 HcmV?d00001 diff --git a/blueprints/go2rtc/template.toml b/blueprints/go2rtc/template.toml new file mode 100644 index 000000000..b848df615 --- /dev/null +++ b/blueprints/go2rtc/template.toml @@ -0,0 +1,13 @@ +[variables] +main_domain = "${domain}" + +[config] +[[config.domains]] +serviceName = "go2rtc" +port = 1984 +host = "${main_domain}" + +[config.env] +TZ = "" + +[[config.mounts]] diff --git a/meta.json b/meta.json index f97369082..10449c0fc 100644 --- a/meta.json +++ b/meta.json @@ -2810,6 +2810,24 @@ "api" ] }, + { + "id": "go2rtc", + "name": "go2rtc", + "version": "latest", + "description": "Ultimate camera streaming application with support for dozens formats and protocols.", + "logo": "go2rtc.png", + "links": { + "github": "https://github.com/AlexxIT/go2rtc", + "website": "https://go2rtc.org/", + "docs": "https://go2rtc.org/" + }, + "tags": [ + "streaming", + "webrtc", + "video", + "home assistant" + ] + }, { "id": "gotenberg", "name": "Gotenberg", @@ -5858,6 +5876,24 @@ "open-source" ] }, + { + "id": "strapi", + "name": "Strapi", + "version": "v5.33.0", + "description": "Open-source headless CMS to build powerful APIs with built-in content management.", + "logo": "strapi.svg", + "links": { + "github": "https://github.com/strapi/strapi", + "discord": "https://discord.com/invite/strapi", + "docs": "https://docs.strapi.io", + "website": "https://strapi.io" + }, + "tags": [ + "headless", + "cms", + "content-management" + ] + }, { "id": "streamflow", "name": "StreamFlow", @@ -5877,24 +5913,6 @@ "media" ] }, - { - "id": "strapi", - "name": "Strapi", - "version": "v5.33.0", - "description": "Open-source headless CMS to build powerful APIs with built-in content management.", - "logo": "strapi.svg", - "links": { - "github": "https://github.com/strapi/strapi", - "discord": "https://discord.com/invite/strapi", - "docs": "https://docs.strapi.io", - "website": "https://strapi.io" - }, - "tags": [ - "headless", - "cms", - "content-management" - ] - }, { "id": "supabase", "name": "SupaBase", From 5dc77a53fee0e5f145a685f29f71324971e7c7c0 Mon Sep 17 00:00:00 2001 From: Kien Ngo Date: Sat, 21 Feb 2026 20:54:37 +0700 Subject: [PATCH 2/8] Update blueprints/go2rtc/docker-compose.yml Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --- blueprints/go2rtc/docker-compose.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/blueprints/go2rtc/docker-compose.yml b/blueprints/go2rtc/docker-compose.yml index 46942f856..903e6ff3a 100644 --- a/blueprints/go2rtc/docker-compose.yml +++ b/blueprints/go2rtc/docker-compose.yml @@ -7,11 +7,10 @@ services: devices: - /dev/video0:/dev/video0 - ports: + expose: - 1984 # Web UI - 8554 # RTSP - - 8555/tcp # WebRTC - - 8555/udp + - 8555 # WebRTC environment: - TZ=${TZ} From 51b5c9220c63a90a4dfcc8d94b6112cbfdedfe66 Mon Sep 17 00:00:00 2001 From: Kien Ngo Date: Sat, 21 Feb 2026 20:54:47 +0700 Subject: [PATCH 3/8] Update blueprints/go2rtc/template.toml Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --- blueprints/go2rtc/template.toml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/blueprints/go2rtc/template.toml b/blueprints/go2rtc/template.toml index b848df615..eb8a42137 100644 --- a/blueprints/go2rtc/template.toml +++ b/blueprints/go2rtc/template.toml @@ -7,7 +7,8 @@ serviceName = "go2rtc" port = 1984 host = "${main_domain}" -[config.env] -TZ = "" +env = [ + "TZ=${TZ}" +] [[config.mounts]] From aae85a84eaa0937a86c2dac350e673503f1b1443 Mon Sep 17 00:00:00 2001 From: Kien Ngo Date: Sat, 21 Feb 2026 20:55:58 +0700 Subject: [PATCH 4/8] Apply suggestion from @greptile-apps[bot] Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --- blueprints/go2rtc/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blueprints/go2rtc/docker-compose.yml b/blueprints/go2rtc/docker-compose.yml index 903e6ff3a..942d0e7ad 100644 --- a/blueprints/go2rtc/docker-compose.yml +++ b/blueprints/go2rtc/docker-compose.yml @@ -1,4 +1,4 @@ -services: +version: "3.8" go2rtc: image: alexxit/go2rtc:latest restart: unless-stopped From b3c5d745232455d5666c3d1d8cfd6bfb2736aaef Mon Sep 17 00:00:00 2001 From: Kien Ngo Date: Sat, 21 Feb 2026 20:57:25 +0700 Subject: [PATCH 5/8] Update docker-compose.yml --- blueprints/go2rtc/docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/blueprints/go2rtc/docker-compose.yml b/blueprints/go2rtc/docker-compose.yml index 942d0e7ad..5d8a88885 100644 --- a/blueprints/go2rtc/docker-compose.yml +++ b/blueprints/go2rtc/docker-compose.yml @@ -1,4 +1,6 @@ version: "3.8" + +services: go2rtc: image: alexxit/go2rtc:latest restart: unless-stopped From fadae68716a473fb37e14d0c922afa9ba737b185 Mon Sep 17 00:00:00 2001 From: Kien Ngo Date: Sat, 21 Feb 2026 23:05:21 +0700 Subject: [PATCH 6/8] Update template.toml --- blueprints/go2rtc/template.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/blueprints/go2rtc/template.toml b/blueprints/go2rtc/template.toml index eb8a42137..f650f2fc4 100644 --- a/blueprints/go2rtc/template.toml +++ b/blueprints/go2rtc/template.toml @@ -11,4 +11,3 @@ env = [ "TZ=${TZ}" ] -[[config.mounts]] From 343e9bfd93ce28750cd042f47d62b18e0c2d2b10 Mon Sep 17 00:00:00 2001 From: Kien Ngo Date: Sat, 21 Feb 2026 23:07:55 +0700 Subject: [PATCH 7/8] Update docker-compose.yml --- blueprints/go2rtc/docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/blueprints/go2rtc/docker-compose.yml b/blueprints/go2rtc/docker-compose.yml index 5d8a88885..208abf30e 100644 --- a/blueprints/go2rtc/docker-compose.yml +++ b/blueprints/go2rtc/docker-compose.yml @@ -5,9 +5,9 @@ services: image: alexxit/go2rtc:latest restart: unless-stopped - # Access to webcam - devices: - - /dev/video0:/dev/video0 + # To use a local webcam, add the device to the service: + # devices: + # - /dev/video0:/dev/video0 # Adjust path if your device is at /dev/video1, etc. expose: - 1984 # Web UI From 02fcf268018ae21b1d83e366a3563deccae9bd58 Mon Sep 17 00:00:00 2001 From: Kien Ngo Date: Thu, 5 Mar 2026 18:35:29 +0700 Subject: [PATCH 8/8] Update docker-compose.yml --- blueprints/go2rtc/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blueprints/go2rtc/docker-compose.yml b/blueprints/go2rtc/docker-compose.yml index 208abf30e..947c0feb1 100644 --- a/blueprints/go2rtc/docker-compose.yml +++ b/blueprints/go2rtc/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.8" services: go2rtc: - image: alexxit/go2rtc:latest + image: alexxit/go2rtc:1.9.14 restart: unless-stopped # To use a local webcam, add the device to the service: