From c634c2cb3150f98b873011ab750ebcc3764215db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jainil=20Prajapati=20=F0=9F=AA=90?= <86187588+enough-jainil@users.noreply.github.com> Date: Fri, 1 Aug 2025 13:05:37 +0530 Subject: [PATCH] Added Scrypted (#257) --- blueprints/scrypted/docker-compose.yml | 14 + blueprints/scrypted/image.png | Bin 0 -> 20624 bytes blueprints/scrypted/template.toml | 24 + meta.json | 1198 +++++------------------- 4 files changed, 258 insertions(+), 978 deletions(-) create mode 100644 blueprints/scrypted/docker-compose.yml create mode 100644 blueprints/scrypted/image.png create mode 100644 blueprints/scrypted/template.toml diff --git a/blueprints/scrypted/docker-compose.yml b/blueprints/scrypted/docker-compose.yml new file mode 100644 index 00000000..3ed4a4a6 --- /dev/null +++ b/blueprints/scrypted/docker-compose.yml @@ -0,0 +1,14 @@ +version: "3.8" +services: + scrypted: + image: ghcr.io/koush/scrypted:latest + environment: + - SCRYPTED_WEBHOOK_UPDATE_AUTHORIZATION=${SCRYPTED_WEBHOOK_UPDATE_AUTHORIZATION} + - SCRYPTED_WEBHOOK_UPDATE=http://${main_domain}:10444/v1/update + volumes: + - ../files/scrypted-volume:/server/volume + # Optional NVR volume, uncomment if needed + # - ../files/nvr:/nvr + restart: unless-stopped + logging: + driver: "none" diff --git a/blueprints/scrypted/image.png b/blueprints/scrypted/image.png new file mode 100644 index 0000000000000000000000000000000000000000..33b41ca9f60743240525cac15528d7e920e78043 GIT binary patch literal 20624 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≫PUGi@?c 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 Gp$PyH*xOG4 literal 0 HcmV?d00001 diff --git a/blueprints/scrypted/template.toml b/blueprints/scrypted/template.toml new file mode 100644 index 00000000..821bb97d --- /dev/null +++ b/blueprints/scrypted/template.toml @@ -0,0 +1,24 @@ +[variables] +main_domain = "${domain}" +SCRYPTED_WEBHOOK_UPDATE_AUTHORIZATION = "${password:32}" + +[config] +[[config.domains]] +serviceName = "scrypted" +port = 11080 +host = "${main_domain}" + +[config.env] +# Scrypted service environment variables +# SCRYPTED_WEBHOOK_UPDATE_AUTHORIZATION: API key for Scrypted webhook updates +SCRYPTED_WEBHOOK_UPDATE_AUTHORIZATION = "${SCRYPTED_WEBHOOK_UPDATE_AUTHORIZATION}" +SCRYPTED_WEBHOOK_UPDATE = "http://${main_domain}:10444/v1/update" + +[[config.mounts]] +filePath = "/files/scrypted-volume" +content = "" + +# Optional NVR volume, uncomment if needed +# [[config.mounts]] +# filePath = "/files/nvr" +# content = "" \ No newline at end of file diff --git a/meta.json b/meta.json index 821b4423..076344a8 100644 --- a/meta.json +++ b/meta.json @@ -10,13 +10,7 @@ "docs": "https://autobase.tech/docs" }, "logo": "autobase.svg", - "tags": [ - "database", - "postgres", - "automation", - "self-hosted", - "dbaas" - ] + "tags": ["database", "postgres", "automation", "self-hosted", "dbaas"] }, { "id": "capso", @@ -63,13 +57,7 @@ "docs": "https://github.com/freescout-helpdesk/freescout/wiki/Installation-Guide" }, "logo": "freescout.svg", - "tags": [ - "helpdesk", - "support", - "email", - "customer-service", - "self-hosted" - ] + "tags": ["helpdesk", "support", "email", "customer-service", "self-hosted"] }, { "id": "openresty-manager", @@ -82,14 +70,7 @@ "docs": "https://github.com/Safe3/openresty-manager" }, "logo": "logo.svg", - "tags": [ - "web", - "proxy", - "security", - "self-hosted", - "openresty", - "nginx" - ] + "tags": ["web", "proxy", "security", "self-hosted", "openresty", "nginx"] }, { "id": "appwrite", @@ -102,11 +83,7 @@ "docs": "https://appwrite.io/docs" }, "logo": "appwrite.svg", - "tags": [ - "database", - "firebase", - "postgres" - ] + "tags": ["database", "firebase", "postgres"] }, { "id": "outline", @@ -119,11 +96,7 @@ "docs": "https://docs.getoutline.com/s/guide" }, "logo": "outline.png", - "tags": [ - "documentation", - "knowledge-base", - "self-hosted" - ] + "tags": ["documentation", "knowledge-base", "self-hosted"] }, { "id": "supabase", @@ -136,11 +109,7 @@ "docs": "https://supabase.com/docs/guides/self-hosting" }, "logo": "supabase.svg", - "tags": [ - "database", - "firebase", - "postgres" - ], + "tags": ["database", "firebase", "postgres"], "dokploy_version": ">=0.22.5" }, { @@ -154,11 +123,7 @@ "docs": "https://supabase.com/docs/guides/self-hosting" }, "logo": "supabase.svg", - "tags": [ - "database", - "firebase", - "postgres" - ], + "tags": ["database", "firebase", "postgres"], "dokploy_version": "<0.22.5" }, { @@ -172,11 +137,7 @@ "website": "https://pocketbase.io/", "docs": "https://pocketbase.io/docs/" }, - "tags": [ - "backend", - "database", - "api" - ] + "tags": ["backend", "database", "api"] }, { "id": "plausible", @@ -189,9 +150,7 @@ "website": "https://plausible.io/", "docs": "https://plausible.io/docs" }, - "tags": [ - "analytics" - ] + "tags": ["analytics"] }, { "id": "calcom", @@ -204,10 +163,7 @@ "docs": "https://cal.com/docs" }, "logo": "calcom.jpg", - "tags": [ - "scheduling", - "booking" - ] + "tags": ["scheduling", "booking"] }, { "id": "grafana", @@ -220,9 +176,7 @@ "website": "https://grafana.com/", "docs": "https://grafana.com/docs/" }, - "tags": [ - "monitoring" - ] + "tags": ["monitoring"] }, { "id": "stalwart", @@ -256,12 +210,7 @@ "website": "https://datalens.tech/", "docs": "https://datalens.tech/docs/" }, - "tags": [ - "analytics", - "self-hosted", - "bi", - "monitoring" - ] + "tags": ["analytics", "self-hosted", "bi", "monitoring"] }, { "id": "directus", @@ -274,9 +223,7 @@ "website": "https://directus.io/", "docs": "https://docs.directus.io/" }, - "tags": [ - "cms" - ] + "tags": ["cms"] }, { "id": "baserow", @@ -289,9 +236,7 @@ "website": "https://baserow.io/", "docs": "https://baserow.io/docs/index" }, - "tags": [ - "database" - ] + "tags": ["database"] }, { "id": "budibase", @@ -304,12 +249,7 @@ "website": "https://budibase.com/", "docs": "https://docs.budibase.com/docs/" }, - "tags": [ - "database", - "low-code", - "nocode", - "applications" - ] + "tags": ["database", "low-code", "nocode", "applications"] }, { "id": "forgejo", @@ -322,10 +262,7 @@ "website": "https://forgejo.org/", "docs": "https://forgejo.org/docs/latest/" }, - "tags": [ - "self-hosted", - "storage" - ] + "tags": ["self-hosted", "storage"] }, { "id": "gitlab-ce", @@ -351,9 +288,7 @@ "website": "https://ghost.org/", "docs": "https://ghost.org/docs/" }, - "tags": [ - "cms" - ] + "tags": ["cms"] }, { "id": "lodestone", @@ -366,11 +301,7 @@ "website": "https://lodestone.cc", "docs": "https://github.com/Lodestone-Team/lodestone/wiki" }, - "tags": [ - "minecraft", - "hosting", - "server" - ] + "tags": ["minecraft", "hosting", "server"] }, { "id": "dragonfly-db", @@ -383,10 +314,7 @@ "website": "https://www.dragonflydb.io/", "docs": "https://www.dragonflydb.io/docs" }, - "tags": [ - "database", - "redis" - ] + "tags": ["database", "redis"] }, { "id": "stack-auth", @@ -399,11 +327,7 @@ "website": "https://stack-auth.com/", "docs": "https://docs.stack-auth.com/next/overview" }, - "tags": [ - "authentication", - "auth", - "authorization" - ] + "tags": ["authentication", "auth", "authorization"] }, { "id": "uptime-kuma", @@ -416,9 +340,7 @@ "website": "https://uptime.kuma.pet/", "docs": "https://github.com/louislam/uptime-kuma/wiki" }, - "tags": [ - "monitoring" - ] + "tags": ["monitoring"] }, { "id": "n8n", @@ -431,9 +353,7 @@ "website": "https://n8n.io/", "docs": "https://docs.n8n.io/" }, - "tags": [ - "automation" - ] + "tags": ["automation"] }, { "id": "kestra", @@ -446,9 +366,7 @@ "website": "https://kestra.io", "docs": "https://kestra.io/docs" }, - "tags": [ - "automation" - ] + "tags": ["automation"] }, { "id": "wordpress", @@ -461,9 +379,7 @@ "website": "https://wordpress.org/", "docs": "https://wordpress.org/documentation/" }, - "tags": [ - "cms" - ] + "tags": ["cms"] }, { "id": "odoo", @@ -476,9 +392,7 @@ "website": "https://odoo.com/", "docs": "https://www.odoo.com/documentation/" }, - "tags": [ - "cms" - ] + "tags": ["cms"] }, { "id": "appsmith", @@ -491,9 +405,7 @@ "website": "https://appsmith.com/", "docs": "https://docs.appsmith.com/" }, - "tags": [ - "cms" - ] + "tags": ["cms"] }, { "id": "excalidraw", @@ -506,9 +418,7 @@ "website": "https://excalidraw.com/", "docs": "https://docs.excalidraw.com/" }, - "tags": [ - "drawing" - ] + "tags": ["drawing"] }, { "id": "documenso", @@ -521,9 +431,7 @@ "docs": "https://documenso.com/docs" }, "logo": "documenso.png", - "tags": [ - "document-signing" - ] + "tags": ["document-signing"] }, { "id": "nocodb", @@ -536,12 +444,7 @@ "docs": "https://docs.nocodb.com/" }, "logo": "nocodb.png", - "tags": [ - "database", - "spreadsheet", - "low-code", - "nocode" - ] + "tags": ["database", "spreadsheet", "low-code", "nocode"] }, { "id": "meilisearch", @@ -554,9 +457,7 @@ "website": "https://www.meilisearch.com/", "docs": "https://docs.meilisearch.com/" }, - "tags": [ - "search" - ] + "tags": ["search"] }, { "id": "mattermost", @@ -569,10 +470,7 @@ "website": "https://mattermost.com/", "docs": "https://docs.mattermost.com/" }, - "tags": [ - "chat", - "self-hosted" - ] + "tags": ["chat", "self-hosted"] }, { "id": "phpmyadmin", @@ -585,9 +483,7 @@ "website": "https://www.phpmyadmin.net/", "docs": "https://www.phpmyadmin.net/docs/" }, - "tags": [ - "database" - ] + "tags": ["database"] }, { "id": "rocketchat", @@ -600,9 +496,7 @@ "website": "https://rocket.chat/", "docs": "https://rocket.chat/docs/" }, - "tags": [ - "chat" - ] + "tags": ["chat"] }, { "id": "minio", @@ -615,9 +509,7 @@ "website": "https://minio.io/", "docs": "https://docs.minio.io/" }, - "tags": [ - "storage" - ] + "tags": ["storage"] }, { "id": "metabase", @@ -630,10 +522,7 @@ "website": "https://www.metabase.com/", "docs": "https://www.metabase.com/docs/" }, - "tags": [ - "database", - "dashboard" - ] + "tags": ["database", "dashboard"] }, { "id": "glitchtip", @@ -646,9 +535,7 @@ "website": "https://glitchtip.com/", "docs": "https://glitchtip.com/documentation" }, - "tags": [ - "hosting" - ] + "tags": ["hosting"] }, { "id": "open-webui", @@ -661,9 +548,7 @@ "website": "https://openwebui.com/", "docs": "https://docs.openwebui.com/" }, - "tags": [ - "chat" - ] + "tags": ["chat"] }, { "id": "mailpit", @@ -676,10 +561,7 @@ "website": "https://mailpit.axllent.org/", "docs": "https://mailpit.axllent.org/docs/" }, - "tags": [ - "email", - "smtp" - ] + "tags": ["email", "smtp"] }, { "id": "listmonk", @@ -692,11 +574,7 @@ "website": "https://listmonk.app/", "docs": "https://listmonk.app/docs/" }, - "tags": [ - "email", - "newsletter", - "mailing-list" - ] + "tags": ["email", "newsletter", "mailing-list"] }, { "id": "doublezero", @@ -709,9 +587,7 @@ "website": "https://www.double-zero.cloud/", "docs": "https://github.com/technomancy-dev/00" }, - "tags": [ - "email" - ] + "tags": ["email"] }, { "id": "umami", @@ -724,9 +600,7 @@ "website": "https://umami.is", "docs": "https://umami.is/docs" }, - "tags": [ - "analytics" - ] + "tags": ["analytics"] }, { "id": "jellyfin", @@ -739,9 +613,7 @@ "website": "https://jellyfin.org/", "docs": "https://jellyfin.org/docs/" }, - "tags": [ - "media system" - ] + "tags": ["media system"] }, { "id": "teable", @@ -754,12 +626,7 @@ "website": "https://teable.io/", "docs": "https://help.teable.io/" }, - "tags": [ - "database", - "spreadsheet", - "low-code", - "nocode" - ] + "tags": ["database", "spreadsheet", "low-code", "nocode"] }, { "id": "zipline", @@ -772,10 +639,7 @@ "website": "https://zipline.diced.sh/", "docs": "https://zipline.diced.sh/docs/" }, - "tags": [ - "media system", - "storage" - ] + "tags": ["media system", "storage"] }, { "id": "soketi", @@ -788,9 +652,7 @@ "website": "https://soketi.app/", "docs": "https://docs.soketi.app/" }, - "tags": [ - "chat" - ] + "tags": ["chat"] }, { "id": "aptabase", @@ -803,10 +665,7 @@ "website": "https://aptabase.com/", "docs": "https://github.com/aptabase/aptabase/blob/main/README.md" }, - "tags": [ - "analytics", - "self-hosted" - ] + "tags": ["analytics", "self-hosted"] }, { "id": "typebot", @@ -819,11 +678,7 @@ "website": "https://typebot.io/", "docs": "https://docs.typebot.io/get-started/introduction" }, - "tags": [ - "chatbot", - "builder", - "open-source" - ] + "tags": ["chatbot", "builder", "open-source"] }, { "id": "typecho", @@ -836,11 +691,7 @@ "website": "https://typecho.org/", "docs": "http://docs.typecho.org" }, - "tags": [ - "blog", - "cms", - "php" - ] + "tags": ["blog", "cms", "php"] }, { "id": "gitea", @@ -853,10 +704,7 @@ "website": "https://gitea.com/", "docs": "https://docs.gitea.com/installation/install-with-docker" }, - "tags": [ - "self-hosted", - "storage" - ] + "tags": ["self-hosted", "storage"] }, { "id": "gitea-mirror", @@ -869,14 +717,7 @@ "website": "https://github.com/arunavo4/gitea-mirror", "docs": "https://github.com/arunavo4/gitea-mirror#readme" }, - "tags": [ - "git", - "mirror", - "github", - "gitea", - "self-hosted", - "automation" - ] + "tags": ["git", "mirror", "github", "gitea", "self-hosted", "automation"] }, { "id": "roundcube", @@ -889,11 +730,7 @@ "website": "https://roundcube.net/", "docs": "https://roundcube.net/about/" }, - "tags": [ - "self-hosted", - "email", - "webmail" - ] + "tags": ["self-hosted", "email", "webmail"] }, { "id": "filebrowser", @@ -906,10 +743,7 @@ "website": "https://filebrowser.org/", "docs": "https://filebrowser.org/" }, - "tags": [ - "file-manager", - "storage" - ] + "tags": ["file-manager", "storage"] }, { "id": "focalboard", @@ -922,9 +756,7 @@ "website": "https://focalboard.com", "docs": "https://www.focalboard.com/docs/" }, - "tags": [ - "kanban" - ] + "tags": ["kanban"] }, { "id": "tolgee", @@ -937,12 +769,7 @@ "website": "https://tolgee.io", "docs": "https://tolgee.io/platform" }, - "tags": [ - "self-hosted", - "i18n", - "localization", - "translations" - ] + "tags": ["self-hosted", "i18n", "localization", "translations"] }, { "id": "portainer", @@ -955,10 +782,7 @@ "website": "https://www.portainer.io/", "docs": "https://docs.portainer.io/" }, - "tags": [ - "cloud", - "monitoring" - ] + "tags": ["cloud", "monitoring"] }, { "id": "plane", @@ -971,9 +795,7 @@ "website": "https://plane.so", "docs": "https://docs.plane.so/" }, - "tags": [ - "kanban" - ] + "tags": ["kanban"] }, { "id": "pterodactyl", @@ -986,11 +808,7 @@ "website": "https://pterodactyl.io", "docs": "https://pterodactyl.io/project/introduction.html" }, - "tags": [ - "self-hosted", - "open-source", - "management" - ] + "tags": ["self-hosted", "open-source", "management"] }, { "id": "pyrodactyl", @@ -1003,11 +821,7 @@ "website": "https://pyrodactyl.dev", "docs": "https://pyrodactyl.dev/docs" }, - "tags": [ - "self-hosted", - "open-source", - "management" - ] + "tags": ["self-hosted", "open-source", "management"] }, { "id": "influxdb", @@ -1020,12 +834,7 @@ "website": "https://www.influxdata.com/", "docs": "https://docs.influxdata.com/influxdb/v2/" }, - "tags": [ - "self-hosted", - "open-source", - "storage", - "database" - ] + "tags": ["self-hosted", "open-source", "storage", "database"] }, { "id": "infisical", @@ -1038,10 +847,7 @@ "website": "https://infisical.com/", "docs": "https://infisical.com/docs/documentation/getting-started/introduction" }, - "tags": [ - "self-hosted", - "open-source" - ] + "tags": ["self-hosted", "open-source"] }, { "id": "docmost", @@ -1054,11 +860,7 @@ "website": "https://docmost.com/", "docs": "https://docmost.com/docs/" }, - "tags": [ - "self-hosted", - "open-source", - "manager" - ] + "tags": ["self-hosted", "open-source", "manager"] }, { "id": "vaultwarden", @@ -1071,9 +873,7 @@ "website": "", "docs": "https://github.com/dani-garcia/vaultwarden/wiki" }, - "tags": [ - "open-source" - ] + "tags": ["open-source"] }, { "id": "linkding", @@ -1086,10 +886,7 @@ "website": "https://sissbruecker.github.io/linkding/", "docs": "https://github.com/sissbruecker/linkding/blob/master/docs/Options.md" }, - "tags": [ - "bookmark-manager", - "self-hosted" - ] + "tags": ["bookmark-manager", "self-hosted"] }, { "id": "linkwarden", @@ -1102,10 +899,7 @@ "website": "https://linkwarden.app/", "docs": "https://docs.linkwarden.app/" }, - "tags": [ - "bookmarks", - "link-sharing" - ] + "tags": ["bookmarks", "link-sharing"] }, { "id": "hi-events", @@ -1118,11 +912,7 @@ "website": "https://hi.events/", "docs": "https://hi.events/docs" }, - "tags": [ - "self-hosted", - "open-source", - "manager" - ] + "tags": ["self-hosted", "open-source", "manager"] }, { "id": "habitica", @@ -1148,11 +938,7 @@ "website": "https://hoarder.app/", "docs": "https://docs.hoarder.app/" }, - "tags": [ - "self-hosted", - "bookmarks", - "link-sharing" - ] + "tags": ["self-hosted", "bookmarks", "link-sharing"] }, { "id": "windows", @@ -1165,11 +951,7 @@ "website": "", "docs": "https://github.com/dockur/windows?tab=readme-ov-file#how-do-i-use-it" }, - "tags": [ - "self-hosted", - "open-source", - "os" - ] + "tags": ["self-hosted", "open-source", "os"] }, { "id": "macos", @@ -1182,11 +964,7 @@ "website": "", "docs": "https://github.com/dockur/macos?tab=readme-ov-file#how-do-i-use-it" }, - "tags": [ - "self-hosted", - "open-source", - "os" - ] + "tags": ["self-hosted", "open-source", "os"] }, { "id": "coder", @@ -1199,11 +977,7 @@ "website": "https://coder.com/", "docs": "https://coder.com/docs" }, - "tags": [ - "self-hosted", - "open-source", - "builder" - ] + "tags": ["self-hosted", "open-source", "builder"] }, { "id": "stirling", @@ -1216,10 +990,7 @@ "website": "https://www.stirlingpdf.com/", "docs": "https://docs.stirlingpdf.com/" }, - "tags": [ - "pdf", - "tools" - ] + "tags": ["pdf", "tools"] }, { "id": "lobe-chat", @@ -1232,10 +1003,7 @@ "website": "https://chat-preview.lobehub.com/", "docs": "https://lobehub.com/docs/self-hosting/platform/docker-compose" }, - "tags": [ - "IA", - "chat" - ] + "tags": ["IA", "chat"] }, { "id": "peppermint", @@ -1248,11 +1016,7 @@ "website": "https://peppermint.sh/", "docs": "https://docs.peppermint.sh/" }, - "tags": [ - "api", - "development", - "documentation" - ] + "tags": ["api", "development", "documentation"] }, { "id": "windmill", @@ -1265,11 +1029,7 @@ "website": "https://www.windmill.dev/", "docs": "https://docs.windmill.dev/" }, - "tags": [ - "workflow", - "automation", - "development" - ] + "tags": ["workflow", "automation", "development"] }, { "id": "activepieces", @@ -1282,11 +1042,7 @@ "website": "https://www.activepieces.com/", "docs": "https://www.activepieces.com/docs" }, - "tags": [ - "automation", - "workflow", - "no-code" - ] + "tags": ["automation", "workflow", "no-code"] }, { "id": "invoiceshelf", @@ -1299,11 +1055,7 @@ "website": "https://invoiceshelf.com", "docs": "https://github.com/InvoiceShelf/invoiceshelf#readme" }, - "tags": [ - "invoice", - "business", - "finance" - ] + "tags": ["invoice", "business", "finance"] }, { "id": "postiz", @@ -1316,11 +1068,7 @@ "website": "https://postiz.com", "docs": "https://docs.postiz.com" }, - "tags": [ - "cms", - "content-management", - "publishing" - ] + "tags": ["cms", "content-management", "publishing"] }, { "id": "slash", @@ -1333,11 +1081,7 @@ "website": "https://github.com/yourselfhosted/slash#readme", "docs": "https://github.com/yourselfhosted/slash/wiki" }, - "tags": [ - "bookmarks", - "link-shortener", - "self-hosted" - ] + "tags": ["bookmarks", "link-shortener", "self-hosted"] }, { "id": "discord-tickets", @@ -1350,11 +1094,7 @@ "website": "https://discordtickets.app", "docs": "https://discordtickets.app/self-hosting/installation/docker/" }, - "tags": [ - "discord", - "tickets", - "support" - ] + "tags": ["discord", "tickets", "support"] }, { "id": "nextcloud-aio", @@ -1367,10 +1107,7 @@ "website": "https://nextcloud.com/", "docs": "https://docs.nextcloud.com/" }, - "tags": [ - "file-manager", - "sync" - ] + "tags": ["file-manager", "sync"] }, { "id": "blender", @@ -1383,11 +1120,7 @@ "website": "https://www.blender.org/", "docs": "https://docs.blender.org/" }, - "tags": [ - "3d", - "rendering", - "animation" - ] + "tags": ["3d", "rendering", "animation"] }, { "id": "heyform", @@ -1400,13 +1133,7 @@ "website": "https://heyform.net", "docs": "https://docs.heyform.net" }, - "tags": [ - "form", - "builder", - "questionnaire", - "quiz", - "survey" - ] + "tags": ["form", "builder", "questionnaire", "quiz", "survey"] }, { "id": "chatwoot", @@ -1419,11 +1146,7 @@ "website": "https://www.chatwoot.com", "docs": "https://www.chatwoot.com/docs" }, - "tags": [ - "support", - "chat", - "customer-service" - ] + "tags": ["support", "chat", "customer-service"] }, { "id": "discourse", @@ -1436,11 +1159,7 @@ "website": "https://www.discourse.org/", "docs": "https://meta.discourse.org/" }, - "tags": [ - "forum", - "community", - "discussion" - ] + "tags": ["forum", "community", "discussion"] }, { "id": "immich", @@ -1453,12 +1172,7 @@ "website": "https://immich.app/", "docs": "https://immich.app/docs/overview/introduction" }, - "tags": [ - "photos", - "videos", - "backup", - "media" - ] + "tags": ["photos", "videos", "backup", "media"] }, { "id": "twenty", @@ -1471,11 +1185,7 @@ "website": "https://twenty.com", "docs": "https://docs.twenty.com" }, - "tags": [ - "crm", - "sales", - "business" - ] + "tags": ["crm", "sales", "business"] }, { "id": "yourls", @@ -1488,10 +1198,7 @@ "website": "https://yourls.org/", "docs": "https://yourls.org/#documentation" }, - "tags": [ - "url-shortener", - "php" - ] + "tags": ["url-shortener", "php"] }, { "id": "ryot", @@ -1504,11 +1211,7 @@ "website": "https://ryot.io/", "docs": "https://docs.ryot.io/" }, - "tags": [ - "media", - "tracking", - "self-hosted" - ] + "tags": ["media", "tracking", "self-hosted"] }, { "id": "photoprism", @@ -1521,11 +1224,7 @@ "website": "https://www.photoprism.app/", "docs": "https://docs.photoprism.app/" }, - "tags": [ - "media", - "photos", - "self-hosted" - ] + "tags": ["media", "photos", "self-hosted"] }, { "id": "ontime", @@ -1538,9 +1237,7 @@ "website": "https://getontime.no", "docs": "https://docs.getontime.no" }, - "tags": [ - "event" - ] + "tags": ["event"] }, { "id": "triggerdotdev", @@ -1553,10 +1250,7 @@ "website": "https://trigger.dev/", "docs": "https://trigger.dev/docs" }, - "tags": [ - "event-driven", - "applications" - ] + "tags": ["event-driven", "applications"] }, { "id": "browserless", @@ -1569,10 +1263,7 @@ "website": "https://www.browserless.io/", "docs": "https://docs.browserless.io/" }, - "tags": [ - "browser", - "automation" - ] + "tags": ["browser", "automation"] }, { "id": "drawio", @@ -1585,10 +1276,7 @@ "website": "https://draw.io/", "docs": "https://www.drawio.com/doc/" }, - "tags": [ - "drawing", - "diagrams" - ] + "tags": ["drawing", "diagrams"] }, { "id": "kimai", @@ -1601,11 +1289,7 @@ "website": "https://www.kimai.org", "docs": "https://www.kimai.org/documentation" }, - "tags": [ - "invoice", - "business", - "finance" - ] + "tags": ["invoice", "business", "finance"] }, { "id": "logto", @@ -1618,10 +1302,7 @@ "website": "https://logto.io/", "docs": "https://docs.logto.io/introduction" }, - "tags": [ - "identity", - "auth" - ] + "tags": ["identity", "auth"] }, { "id": "pocket-id", @@ -1634,10 +1315,7 @@ "website": "https://pocket-id.org/", "docs": "https://pocket-id.org/docs" }, - "tags": [ - "identity", - "auth" - ] + "tags": ["identity", "auth"] }, { "id": "penpot", @@ -1650,10 +1328,7 @@ "website": "https://penpot.app/", "docs": "https://docs.penpot.app/" }, - "tags": [ - "design", - "collaboration" - ] + "tags": ["design", "collaboration"] }, { "id": "huly", @@ -1666,11 +1341,7 @@ "website": "https://huly.io/", "docs": "https://docs.huly.io/" }, - "tags": [ - "project-management", - "community", - "discussion" - ] + "tags": ["project-management", "community", "discussion"] }, { "id": "unsend", @@ -1683,11 +1354,7 @@ "website": "https://unsend.dev/", "docs": "https://docs.unsend.dev/get-started/" }, - "tags": [ - "e-mail", - "marketing", - "business" - ] + "tags": ["e-mail", "marketing", "business"] }, { "id": "langflow", @@ -1700,9 +1367,7 @@ "website": "https://www.langflow.org/", "docs": "https://docs.langflow.org/" }, - "tags": [ - "ai" - ] + "tags": ["ai"] }, { "id": "elastic-search", @@ -1715,10 +1380,7 @@ "website": "https://www.elastic.co/elasticsearch/", "docs": "https://docs.elastic.co/elasticsearch/" }, - "tags": [ - "search", - "analytics" - ] + "tags": ["search", "analytics"] }, { "id": "onedev", @@ -1731,10 +1393,7 @@ "website": "https://onedev.io/", "docs": "https://docs.onedev.io/" }, - "tags": [ - "self-hosted", - "development" - ] + "tags": ["self-hosted", "development"] }, { "id": "unifi", @@ -1747,10 +1406,7 @@ "website": "https://www.ui.com/", "docs": "https://help.ui.com/hc/en-us/articles/360012282453-Self-Hosting-a-UniFi-Network-Server" }, - "tags": [ - "self-hosted", - "networking" - ] + "tags": ["self-hosted", "networking"] }, { "id": "glpi", @@ -1763,11 +1419,7 @@ "website": "https://glpi-project.org/", "docs": "https://glpi-project.org/documentation/" }, - "tags": [ - "self-hosted", - "project-management", - "management" - ] + "tags": ["self-hosted", "project-management", "management"] }, { "id": "checkmate", @@ -1780,11 +1432,7 @@ "website": "https://bluewavelabs.ca", "docs": "https://bluewavelabs.gitbook.io/checkmate" }, - "tags": [ - "self-hosted", - "monitoring", - "uptime" - ] + "tags": ["self-hosted", "monitoring", "uptime"] }, { "id": "gotenberg", @@ -1797,12 +1445,7 @@ "website": "https://gotenberg.dev", "docs": "https://gotenberg.dev/docs/getting-started/introduction" }, - "tags": [ - "api", - "backend", - "pdf", - "tools" - ] + "tags": ["api", "backend", "pdf", "tools"] }, { "id": "actualbudget", @@ -1815,11 +1458,7 @@ "website": "https://actualbudget.org", "docs": "https://actualbudget.org/docs" }, - "tags": [ - "budgeting", - "finance", - "money" - ] + "tags": ["budgeting", "finance", "money"] }, { "id": "conduit", @@ -1832,10 +1471,7 @@ "website": "https://conduit.rs/", "docs": "https://docs.conduit.rs/" }, - "tags": [ - "matrix", - "communication" - ] + "tags": ["matrix", "communication"] }, { "id": "evolutionapi", @@ -1848,11 +1484,7 @@ "docs": "https://doc.evolution-api.com/v2/en/get-started/introduction", "website": "https://evolution-api.com/opensource-whatsapp-api/" }, - "tags": [ - "api", - "whatsapp", - "messaging" - ] + "tags": ["api", "whatsapp", "messaging"] }, { "id": "conduwuit", @@ -1865,13 +1497,7 @@ "website": "https://conduwuit.puppyirl.gay", "docs": "https://conduwuit.puppyirl.gay/configuration.html" }, - "tags": [ - "backend", - "chat", - "communication", - "matrix", - "server" - ] + "tags": ["backend", "chat", "communication", "matrix", "server"] }, { "id": "cloudflared", @@ -1884,12 +1510,7 @@ "website": "https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/", "docs": "https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/" }, - "tags": [ - "cloud", - "networking", - "security", - "tunnel" - ] + "tags": ["cloud", "networking", "security", "tunnel"] }, { "id": "couchdb", @@ -1902,10 +1523,7 @@ "website": "https://couchdb.apache.org/", "docs": "https://docs.couchdb.org/en/stable/" }, - "tags": [ - "database", - "storage" - ] + "tags": ["database", "storage"] }, { "id": "it-tools", @@ -1918,10 +1536,7 @@ "website": "https://it-tools.tech", "docs": "https://it-tools.tech/docs" }, - "tags": [ - "developer", - "tools" - ] + "tags": ["developer", "tools"] }, { "id": "superset", @@ -1934,13 +1549,7 @@ "website": "https://superset.apache.org", "docs": "https://superset.apache.org/docs/intro" }, - "tags": [ - "analytics", - "bi", - "dashboard", - "database", - "sql" - ] + "tags": ["analytics", "bi", "dashboard", "database", "sql"] }, { "id": "glance", @@ -1953,12 +1562,7 @@ "docs": "https://github.com/glanceapp/glance/blob/main/docs/configuration.md", "website": "https://glance.app/" }, - "tags": [ - "dashboard", - "monitoring", - "widgets", - "rss" - ] + "tags": ["dashboard", "monitoring", "widgets", "rss"] }, { "id": "homarr", @@ -1971,10 +1575,7 @@ "docs": "https://homarr.dev/docs/getting-started/installation/docker", "website": "https://homarr.dev/" }, - "tags": [ - "dashboard", - "monitoring" - ] + "tags": ["dashboard", "monitoring"] }, { "id": "erpnext", @@ -2008,10 +1609,7 @@ "website": "https://maybe.finance/", "docs": "https://docs.maybe.finance/" }, - "tags": [ - "finance", - "self-hosted" - ] + "tags": ["finance", "self-hosted"] }, { "id": "spacedrive", @@ -2024,11 +1622,7 @@ "docs": "https://www.spacedrive.com/docs/product/getting-started/introduction" }, "logo": "spacedrive.png", - "tags": [ - "file-manager", - "vdfs", - "storage" - ] + "tags": ["file-manager", "vdfs", "storage"] }, { "id": "registry", @@ -2041,11 +1635,7 @@ "docs": "https://distribution.github.io/distribution/" }, "logo": "registry.png", - "tags": [ - "registry", - "docker", - "self-hosted" - ] + "tags": ["registry", "docker", "self-hosted"] }, { "id": "alist", @@ -2058,11 +1648,7 @@ "website": "https://alist.nn.ci", "docs": "https://alist.nn.ci/guide/install/docker.html" }, - "tags": [ - "file", - "webdav", - "storage" - ] + "tags": ["file", "webdav", "storage"] }, { "id": "answer", @@ -2075,10 +1661,7 @@ "website": "https://answer.apache.org/", "docs": "https://answer.apache.org/docs" }, - "tags": [ - "q&a", - "self-hosted" - ] + "tags": ["q&a", "self-hosted"] }, { "id": "shlink", @@ -2091,11 +1674,7 @@ "website": "https://shlink.io", "docs": "https://shlink.io/documentation" }, - "tags": [ - "sharing", - "shortener", - "url" - ] + "tags": ["sharing", "shortener", "url"] }, { "id": "frappe-hr", @@ -2128,10 +1707,7 @@ "website": "https://formbricks.com/", "docs": "https://formbricks.com/docs" }, - "tags": [ - "forms", - "analytics" - ] + "tags": ["forms", "analytics"] }, { "id": "trilium", @@ -2144,11 +1720,7 @@ "website": "https://github.com/zadam/trilium", "docs": "https://github.com/zadam/trilium/wiki/" }, - "tags": [ - "self-hosted", - "productivity", - "personal-use" - ] + "tags": ["self-hosted", "productivity", "personal-use"] }, { "id": "convex", @@ -2161,11 +1733,7 @@ "website": "https://www.convex.dev/", "docs": "https://www.convex.dev/docs" }, - "tags": [ - "backend", - "database", - "api" - ] + "tags": ["backend", "database", "api"] }, { "id": "wikijs", @@ -2178,11 +1746,7 @@ "website": "https://js.wiki/", "docs": "https://docs.requarks.io/" }, - "tags": [ - "knowledge-base", - "self-hosted", - "documentation" - ] + "tags": ["knowledge-base", "self-hosted", "documentation"] }, { "id": "otterwiki", @@ -2195,12 +1759,7 @@ "website": "https://otterwiki.com/", "docs": "https://github.com/redimp/otterwiki/wiki" }, - "tags": [ - "wiki", - "documentation", - "knowledge-base", - "markdown" - ] + "tags": ["wiki", "documentation", "knowledge-base", "markdown"] }, { "id": "lowcoder", @@ -2213,11 +1772,7 @@ "website": "https://www.lowcoder.cloud/", "docs": "https://docs.lowcoder.cloud/lowcoder-documentation" }, - "tags": [ - "low-code", - "no-code", - "development" - ] + "tags": ["low-code", "no-code", "development"] }, { "id": "backrest", @@ -2230,9 +1785,7 @@ "docs": "https://garethgeorge.github.io/backrest/introduction/getting-started" }, "logo": "backrest.svg", - "tags": [ - "backup" - ] + "tags": ["backup"] }, { "id": "blinko", @@ -2245,12 +1798,7 @@ "website": "https://blinko.space/", "docs": "https://docs.blinko.space/" }, - "tags": [ - "productivity", - "organization", - "workflow", - "nextjs" - ] + "tags": ["productivity", "organization", "workflow", "nextjs"] }, { "id": "pgadmin", @@ -2263,11 +1811,7 @@ "docs": "https://www.pgadmin.org/docs/" }, "logo": "pgadmin.webp", - "tags": [ - "database", - "postgres", - "admin" - ] + "tags": ["database", "postgres", "admin"] }, { "id": "ackee", @@ -2280,10 +1824,7 @@ "website": "https://ackee.electerious.com/", "docs": "https://docs.ackee.electerious.com/" }, - "tags": [ - "analytics", - "self-hosted" - ] + "tags": ["analytics", "self-hosted"] }, { "id": "adguardhome", @@ -2296,12 +1837,7 @@ "website": "https://adguard.com", "docs": "https://github.com/AdguardTeam/AdGuardHome/wiki" }, - "tags": [ - "privacy", - "security", - "dns", - "ad-blocking" - ] + "tags": ["privacy", "security", "dns", "ad-blocking"] }, { "id": "adminer", @@ -2314,12 +1850,7 @@ "website": "https://www.adminer.org/", "docs": "https://www.adminer.org/en/plugins/" }, - "tags": [ - "databases", - "developer-tools", - "mysql", - "postgresql" - ] + "tags": ["databases", "developer-tools", "mysql", "postgresql"] }, { "id": "affinepro", @@ -2350,11 +1881,7 @@ "website": "https://github.com/Rudloff/alltube", "docs": "https://github.com/Rudloff/alltube/wiki" }, - "tags": [ - "media", - "video", - "downloader" - ] + "tags": ["media", "video", "downloader"] }, { "id": "ampache", @@ -2367,11 +1894,7 @@ "website": "http://ampache.org/", "docs": "https://github.com/ampache/ampache/wiki" }, - "tags": [ - "media", - "music", - "streaming" - ] + "tags": ["media", "music", "streaming"] }, { "id": "anythingllm", @@ -2384,11 +1907,7 @@ "website": "https://useanything.com", "docs": "https://github.com/Mintplex-Labs/anything-llm/tree/master/docs" }, - "tags": [ - "ai", - "llm", - "chatbot" - ] + "tags": ["ai", "llm", "chatbot"] }, { "id": "apprise-api", @@ -2401,10 +1920,7 @@ "website": "https://github.com/caronc/apprise-api", "docs": "https://github.com/caronc/apprise-api/wiki" }, - "tags": [ - "notifications", - "api" - ] + "tags": ["notifications", "api"] }, { "id": "arangodb", @@ -2417,11 +1933,7 @@ "website": "https://www.arangodb.com/", "docs": "https://www.arangodb.com/docs/" }, - "tags": [ - "database", - "graph-database", - "nosql" - ] + "tags": ["database", "graph-database", "nosql"] }, { "id": "anonupload", @@ -2434,10 +1946,7 @@ "docs": "https://github.com/Supernova3339/anonupload/blob/main/env.md", "website": "https://anonupload.com/" }, - "tags": [ - "file-sharing", - "privacy" - ] + "tags": ["file-sharing", "privacy"] }, { "id": "argilla", @@ -2450,11 +1959,7 @@ "website": "https://www.argilla.io/", "docs": "https://docs.argilla.io/" }, - "tags": [ - "machine-learning", - "data-labeling", - "ai" - ] + "tags": ["machine-learning", "data-labeling", "ai"] }, { "id": "audiobookshelf", @@ -2467,11 +1972,7 @@ "website": "https://www.audiobookshelf.org", "docs": "https://www.audiobookshelf.org/docs" }, - "tags": [ - "media", - "audiobooks", - "podcasts" - ] + "tags": ["media", "audiobooks", "podcasts"] }, { "id": "authorizer", @@ -2484,11 +1985,7 @@ "website": "https://authorizer.dev", "docs": "https://docs.authorizer.dev/" }, - "tags": [ - "authentication", - "authorization", - "security" - ] + "tags": ["authentication", "authorization", "security"] }, { "id": "automatisch", @@ -2501,11 +1998,7 @@ "website": "https://automatisch.io/docs", "docs": "https://automatisch.io/docs" }, - "tags": [ - "automation", - "workflow", - "integration" - ] + "tags": ["automation", "workflow", "integration"] }, { "id": "babybuddy", @@ -2518,11 +2011,7 @@ "website": "https://babybuddy.app", "docs": "https://docs.babybuddy.app" }, - "tags": [ - "parenting", - "tracking", - "family" - ] + "tags": ["parenting", "tracking", "family"] }, { "id": "baikal", @@ -2535,12 +2024,7 @@ "github": "https://sabre.io/baikal/", "docs": "https://sabre.io/baikal/install/" }, - "tags": [ - "calendar", - "contacts", - "caldav", - "carddav" - ] + "tags": ["calendar", "contacts", "caldav", "carddav"] }, { "id": "barrage", @@ -2553,11 +2037,7 @@ "website": "https://github.com/maulik9898/barrage", "docs": "https://github.com/maulik9898/barrage/blob/main/README.md" }, - "tags": [ - "torrents", - "deluge", - "mobile" - ] + "tags": ["torrents", "deluge", "mobile"] }, { "id": "bazarr", @@ -2570,11 +2050,7 @@ "website": "https://www.bazarr.media/", "docs": "https://www.bazarr.media/docs" }, - "tags": [ - "subtitles", - "sonarr", - "radarr" - ] + "tags": ["subtitles", "sonarr", "radarr"] }, { "id": "beszel", @@ -2587,11 +2063,7 @@ "website": "https://beszel.dev", "docs": "https://beszel.dev/guide/getting-started" }, - "tags": [ - "monitoring", - "docker", - "alerts" - ] + "tags": ["monitoring", "docker", "alerts"] }, { "id": "bytestash", @@ -2604,10 +2076,7 @@ "website": "https://bytestash.com", "docs": "https://bytestash.com/docs" }, - "tags": [ - "file-storage", - "self-hosted" - ] + "tags": ["file-storage", "self-hosted"] }, { "id": "bookstack", @@ -2620,10 +2089,7 @@ "website": "https://www.bookstackapp.com", "docs": "https://www.bookstackapp.com/docs" }, - "tags": [ - "documentation", - "self-hosted" - ] + "tags": ["documentation", "self-hosted"] }, { "id": "bytebase", @@ -2636,10 +2102,7 @@ "website": "https://www.bytebase.com", "docs": "https://www.bytebase.com/docs" }, - "tags": [ - "database", - "self-hosted" - ] + "tags": ["database", "self-hosted"] }, { "id": "botpress", @@ -2652,10 +2115,7 @@ "website": "https://botpress.com", "docs": "https://botpress.com/docs" }, - "tags": [ - "ai", - "self-hosted" - ] + "tags": ["ai", "self-hosted"] }, { "id": "calibre", @@ -2668,10 +2128,7 @@ "website": "https://calibre-ebook.com/", "docs": "https://manual.calibre-ebook.com/" }, - "tags": [ - "Documents", - "E-Commerce" - ] + "tags": ["Documents", "E-Commerce"] }, { "id": "carbone", @@ -2684,12 +2141,7 @@ "website": "https://carbone.io/", "docs": "https://carbone.io/documentation/design/overview/getting-started.html" }, - "tags": [ - "Document Generation", - "Automation", - "Reporting", - "Productivity" - ] + "tags": ["Document Generation", "Automation", "Reporting", "Productivity"] }, { "id": "casdoor", @@ -2725,11 +2177,7 @@ "website": "https://changedetection.io", "docs": "https://github.com/dgtlmoon/changedetection.io/wiki" }, - "tags": [ - "Monitoring", - "Data", - "Notifications" - ] + "tags": ["Monitoring", "Data", "Notifications"] }, { "id": "chevereto", @@ -2780,11 +2228,7 @@ "website": "https://www.classicpress.net/", "docs": "https://docs.classicpress.net/" }, - "tags": [ - "cms", - "wordpress", - "content-management" - ] + "tags": ["cms", "wordpress", "content-management"] }, { "id": "cloud9", @@ -2797,11 +2241,7 @@ "website": "https://aws.amazon.com/cloud9/", "docs": "https://docs.aws.amazon.com/cloud9/" }, - "tags": [ - "ide", - "development", - "cloud" - ] + "tags": ["ide", "development", "cloud"] }, { "id": "cloudcommander", @@ -2814,11 +2254,7 @@ "website": "https://cloudcmd.io", "docs": "https://cloudcmd.io/#install" }, - "tags": [ - "file-manager", - "web-based", - "console" - ] + "tags": ["file-manager", "web-based", "console"] }, { "id": "cockpit", @@ -2831,11 +2267,7 @@ "website": "https://getcockpit.com", "docs": "https://getcockpit.com/documentation" }, - "tags": [ - "cms", - "content-management", - "api" - ] + "tags": ["cms", "content-management", "api"] }, { "id": "chromium", @@ -2848,11 +2280,7 @@ "docs": "https://docs.linuxserver.io/images/docker-chromium", "website": "https://docs.linuxserver.io/images/docker-chromium" }, - "tags": [ - "browser", - "development", - "web" - ] + "tags": ["browser", "development", "web"] }, { "id": "codex-docs", @@ -2865,11 +2293,7 @@ "website": "https://codex.so", "docs": "https://docs.codex.so" }, - "tags": [ - "documentation", - "development", - "collaboration" - ] + "tags": ["documentation", "development", "collaboration"] }, { "id": "colanode", @@ -2882,11 +2306,7 @@ "website": "https://colanode.com", "docs": "https://colanode.com/docs/" }, - "tags": [ - "documentation", - "knowledge-base", - "collaboration" - ] + "tags": ["documentation", "knowledge-base", "collaboration"] }, { "id": "collabora-office", @@ -2899,11 +2319,7 @@ "website": "https://collaboraonline.com", "docs": "https://sdk.collaboraonline.com/docs" }, - "tags": [ - "office", - "documents", - "collaboration" - ] + "tags": ["office", "documents", "collaboration"] }, { "id": "confluence", @@ -2934,11 +2350,7 @@ "github": "https://github.com/souramoo/commentoplusplus" }, "logo": "logo.png", - "tags": [ - "comments", - "discussion", - "website" - ] + "tags": ["comments", "discussion", "website"] }, { "id": "commentoplusplus", @@ -2951,11 +2363,7 @@ "github": "https://github.com/souramoo/commentoplusplus" }, "logo": "logo.png", - "tags": [ - "comments", - "website", - "open-source" - ] + "tags": ["comments", "website", "open-source"] }, { "id": "coralproject", @@ -2968,11 +2376,7 @@ "github": "https://github.com/coralproject/talk" }, "logo": "logo.png", - "tags": [ - "communication", - "community", - "privacy" - ] + "tags": ["communication", "community", "privacy"] }, { "id": "rsshub", @@ -2985,11 +2389,7 @@ "website": "https://rsshub.app/", "docs": "https://docs.rsshub.app/" }, - "tags": [ - "rss", - "api", - "self-hosted" - ] + "tags": ["rss", "api", "self-hosted"] }, { "id": "tailscale-exitnode", @@ -3002,9 +2402,7 @@ "website": "https://tailscale.com/", "docs": "https://tailscale.com/kb/1408/quick-guide-exit-nodes" }, - "tags": [ - "network" - ] + "tags": ["network"] }, { "id": "homebridge", @@ -3017,13 +2415,7 @@ "website": "https://homebridge.io/", "docs": "https://github.com/homebridge/homebridge/wiki" }, - "tags": [ - "iot", - "homekit", - "internet-of-things", - "self-hosted", - "server" - ] + "tags": ["iot", "homekit", "internet-of-things", "self-hosted", "server"] }, { "id": "homeassistant", @@ -3055,11 +2447,7 @@ "website": "https://tooljet.ai/", "docs": "https://docs.tooljet.ai/" }, - "tags": [ - "file-sync", - "file-sharing", - "self-hosted" - ] + "tags": ["file-sync", "file-sharing", "self-hosted"] }, { "id": "onetimesecret", @@ -3072,12 +2460,7 @@ "website": "https://onetimesecret.com", "docs": "https://docs.onetimesecret.com" }, - "tags": [ - "auth", - "password", - "secret", - "secure" - ] + "tags": ["auth", "password", "secret", "secure"] }, { "id": "bugsink", @@ -3090,11 +2473,7 @@ "website": "https://www.bugsink.com/", "docs": "https://www.bugsink.com/docs/" }, - "tags": [ - "hosting", - "self-hosted", - "development" - ] + "tags": ["hosting", "self-hosted", "development"] }, { "id": "bolt.diy", @@ -3107,14 +2486,7 @@ "website": "https://stackblitz-labs.github.io/bolt.diy/", "docs": "https://stackblitz-labs.github.io/bolt.diy/" }, - "tags": [ - "ai", - "self-hosted", - "development", - "chatbot", - "ide", - "llm" - ] + "tags": ["ai", "self-hosted", "development", "chatbot", "ide", "llm"] }, { "id": "qdrant", @@ -3127,11 +2499,7 @@ "website": "https://qdrant.tech/", "docs": "https://qdrant.tech/documentation/" }, - "tags": [ - "vector-db", - "database", - "search" - ] + "tags": ["vector-db", "database", "search"] }, { "id": "trmnl-byos-laravel", @@ -3144,9 +2512,7 @@ "website": "https://docs.usetrmnl.com/go/diy/byos", "docs": "https://github.com/usetrmnl/byos_laravel/blob/main/README.md" }, - "tags": [ - "e-ink" - ] + "tags": ["e-ink"] }, { "id": "chibisafe", @@ -3159,11 +2525,7 @@ "website": "https://chibisafe.app", "docs": "https://chibisafe.app/docs/intro" }, - "tags": [ - "media system", - "storage", - "file-sharing" - ] + "tags": ["media system", "storage", "file-sharing"] }, { "id": "rybbit", @@ -3176,9 +2538,7 @@ "website": "https://rybbit.io", "docs": "https://www.rybbit.io/docs" }, - "tags": [ - "analytics" - ] + "tags": ["analytics"] }, { "id": "seafile", @@ -3191,11 +2551,7 @@ "website": "https://seafile.com", "docs": "https://manual.seafile.com/12.0" }, - "tags": [ - "file-manager", - "file-sharing", - "storage" - ] + "tags": ["file-manager", "file-sharing", "storage"] }, { "id": "flagsmith", @@ -3226,9 +2582,7 @@ "website": "https://www.docuseal.com/", "docs": "https://www.docuseal.com/" }, - "tags": [ - "document-signing" - ] + "tags": ["document-signing"] }, { "id": "kutt", @@ -3241,10 +2595,7 @@ "website": "https://kutt.it", "docs": "https://github.com/thedevs-network/kutt#kuttit" }, - "tags": [ - "link-shortener", - "link-sharing" - ] + "tags": ["link-shortener", "link-sharing"] }, { "id": "kener", @@ -3257,12 +2608,7 @@ "website": "https://kener.ing/", "docs": "https://kener.ing/docs/" }, - "tags": [ - "monitoring", - "status-page", - "alerting", - "self-hosted" - ] + "tags": ["monitoring", "status-page", "alerting", "self-hosted"] }, { "id": "palmr", @@ -3275,11 +2621,7 @@ "website": "https://palmr.kyantech.com.br/", "docs": "https://palmr.kyantech.com.br/docs/3.0-beta" }, - "tags": [ - "file-sharing", - "self-hosted", - "open-source" - ] + "tags": ["file-sharing", "self-hosted", "open-source"] }, { "id": "karakeep", @@ -3361,12 +2703,7 @@ "website": "https://github.com/aldinokemal/go-whatsapp-web-multidevice", "docs": "https://github.com/aldinokemal/go-whatsapp-web-multidevice" }, - "tags": [ - "whatsapp", - "self-hosted", - "open-source", - "api" - ] + "tags": ["whatsapp", "self-hosted", "open-source", "api"] }, { "id": "rabbitmq", @@ -3379,11 +2716,7 @@ "website": "https://www.rabbitmq.com/", "docs": "https://www.rabbitmq.com/documentation.html" }, - "tags": [ - "message-broker", - "queue", - "rabbitmq" - ] + "tags": ["message-broker", "queue", "rabbitmq"] }, { "id": "ezbookkeeping", @@ -3439,11 +2772,7 @@ "website": "https://gchq.github.io/CyberChef/", "docs": "https://github.com/gchq/CyberChef/wiki" }, - "tags": [ - "security", - "encryption", - "data-analysis" - ] + "tags": ["security", "encryption", "data-analysis"] }, { "id": "filestash", @@ -3469,13 +2798,7 @@ "website": "https://github.com/civilblur/mazanoke", "docs": "https://github.com/civilblur/mazanoke" }, - "tags": [ - "image-hosting", - "file-sharing", - "self-hosted", - "media", - "gallery" - ] + "tags": ["image-hosting", "file-sharing", "self-hosted", "media", "gallery"] }, { "id": "ihatemoney", @@ -3553,12 +2876,7 @@ "website": "https://github.com/thomiceli/opengist", "docs": "https://github.com/thomiceli/opengist" }, - "tags": [ - "pastebin", - "code", - "snippets", - "self-hosted" - ] + "tags": ["pastebin", "code", "snippets", "self-hosted"] }, { "id": "snapp", @@ -3571,12 +2889,7 @@ "website": "https://github.com/UraniaDev/snapp", "docs": "https://github.com/UraniaDev/snapp" }, - "tags": [ - "screenshot", - "sharing", - "self-hosted", - "authentication" - ] + "tags": ["screenshot", "sharing", "self-hosted", "authentication"] }, { "id": "commafeed", @@ -3589,11 +2902,7 @@ "website": "https://www.commafeed.com/", "docs": "https://github.com/Athou/commafeed/wiki" }, - "tags": [ - "feed-reader", - "news-aggregator", - "rss" - ] + "tags": ["feed-reader", "news-aggregator", "rss"] }, { "id": "convertx", @@ -3606,11 +2915,7 @@ "website": "https://github.com/c4illin/ConvertX", "docs": "https://github.com/c4illin/ConvertX#environment-variables" }, - "tags": [ - "media", - "converter", - "ffmpeg" - ] + "tags": ["media", "converter", "ffmpeg"] }, { "id": "metube", @@ -3623,11 +2928,7 @@ "website": "https://github.com/alexta69/metube", "docs": "https://github.com/alexta69/metube/wiki" }, - "tags": [ - "downloader", - "youtube", - "media" - ] + "tags": ["downloader", "youtube", "media"] }, { "id": "pinchflat", @@ -3640,11 +2941,7 @@ "website": "https://github.com/kieraneglin/pinchflat", "docs": "https://github.com/kieraneglin/pinchflat" }, - "tags": [ - "youtube", - "downloader", - "media" - ] + "tags": ["youtube", "downloader", "media"] }, { "id": "yt-dlp-webui", @@ -3657,12 +2954,7 @@ "website": "https://github.com/marcopiovanello/yt-dlp-web-ui", "docs": "https://github.com/marcopiovanello/yt-dlp-web-ui" }, - "tags": [ - "downloader", - "youtube", - "media", - "webui" - ] + "tags": ["downloader", "youtube", "media", "webui"] }, { "id": "flaresolverr", @@ -3675,12 +2967,7 @@ "website": "https://github.com/FlareSolverr/FlareSolverr", "docs": "https://github.com/FlareSolverr/FlareSolverr" }, - "tags": [ - "proxy", - "cloudflare", - "bypass", - "ddos-guard" - ] + "tags": ["proxy", "cloudflare", "bypass", "ddos-guard"] }, { "id": "neko", @@ -3693,12 +2980,7 @@ "website": "https://github.com/m1k1o/neko", "docs": "https://github.com/m1k1o/neko" }, - "tags": [ - "browser", - "virtual", - "sharing", - "remote" - ] + "tags": ["browser", "virtual", "sharing", "remote"] }, { "id": "omni-tools", @@ -3711,12 +2993,7 @@ "website": "https://github.com/iib0011/omni-tools", "docs": "https://github.com/iib0011/omni-tools" }, - "tags": [ - "tools", - "utilities", - "collection", - "self-hosted" - ] + "tags": ["tools", "utilities", "collection", "self-hosted"] }, { "id": "openhands", @@ -3729,12 +3006,7 @@ "website": "https://github.com/all-hands-ai/OpenHands", "docs": "https://github.com/all-hands-ai/OpenHands" }, - "tags": [ - "ai", - "agents", - "llm", - "openai" - ] + "tags": ["ai", "agents", "llm", "openai"] }, { "id": "web-check", @@ -3747,12 +3019,7 @@ "website": "https://github.com/lissy93/web-check", "docs": "https://github.com/lissy93/web-check" }, - "tags": [ - "website-analyzer", - "security", - "performance", - "seo" - ] + "tags": ["website-analyzer", "security", "performance", "seo"] }, { "id": "dumbdrop", @@ -3765,11 +3032,7 @@ "website": "https://www.dumbware.io/software/DumbDrop/", "docs": "https://github.com/dumbwareio/dumbdrop" }, - "tags": [ - "file-sharing", - "self-hosted", - "simple" - ] + "tags": ["file-sharing", "self-hosted", "simple"] }, { "id": "dumbassets", @@ -3782,11 +3045,7 @@ "website": "https://www.dumbware.io/software/DumbAssets/", "docs": "https://github.com/dumbwareio/dumbassets" }, - "tags": [ - "asset-tracking", - "self-hosted", - "simple" - ] + "tags": ["asset-tracking", "self-hosted", "simple"] }, { "id": "dumbpad", @@ -3799,11 +3058,7 @@ "website": "https://www.dumbware.io/software/DumbPad/", "docs": "https://github.com/dumbwareio/dumbpad" }, - "tags": [ - "notepad", - "self-hosted", - "simple" - ] + "tags": ["notepad", "self-hosted", "simple"] }, { "id": "dumbbudget", @@ -3816,12 +3071,7 @@ "website": "https://www.dumbware.io/software/DumbBudget/", "docs": "https://github.com/dumbwareio/dumbbudget" }, - "tags": [ - "budget", - "finance", - "self-hosted", - "simple" - ] + "tags": ["budget", "finance", "self-hosted", "simple"] }, { "id": "tianji", @@ -3834,12 +3084,7 @@ "website": "https://github.com/msgbyte/tianji", "docs": "https://github.com/msgbyte/tianji" }, - "tags": [ - "analytics", - "monitoring", - "web", - "uptime" - ] + "tags": ["analytics", "monitoring", "web", "uptime"] }, { "id": "directory-lister", @@ -3852,11 +3097,7 @@ "website": "https://www.directorylister.com/", "docs": "https://docs.directorylister.com/" }, - "tags": [ - "file-manager", - "directory-listing", - "php" - ] + "tags": ["file-manager", "directory-listing", "php"] }, { "id": "grimoire", @@ -3869,11 +3110,7 @@ "website": "https://github.com/goniszewski/grimoire", "docs": "https://github.com/goniszewski/grimoire" }, - "tags": [ - "bookmarks", - "self-hosted", - "knowledge-management" - ] + "tags": ["bookmarks", "self-hosted", "knowledge-management"] }, { "id": "keycloak", @@ -3886,13 +3123,7 @@ "website": "https://www.keycloak.org/", "docs": "https://www.keycloak.org/documentation" }, - "tags": [ - "authentication", - "identity", - "sso", - "oauth2", - "openid-connect" - ] + "tags": ["authentication", "identity", "sso", "oauth2", "openid-connect"] }, { "id": "openpanel", @@ -3905,8 +3136,19 @@ "website": "https://openpanel.dev/", "docs": "https://openpanel.dev/docs" }, - "tags": [ - "analytics" - ] + "tags": ["analytics"] + }, + { + "id": "scrypted", + "name": "Scrypted", + "version": "latest", + "description": "Scrypted is a home automation platform that integrates with various smart home devices and provides NVR capabilities for video surveillance.", + "logo": "image.png", + "links": { + "github": "https://github.com/koush/scrypted", + "website": "https://www.scrypted.app/", + "docs": "https://docs.scrypted.app/" + }, + "tags": ["home-automation", "nvr", "smart-home", "surveillance"] } ]