From dbed6c270e70443f86b5de6214d524a58f5010b4 Mon Sep 17 00:00:00 2001 From: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com> Date: Mon, 18 Aug 2025 17:28:20 +0200 Subject: [PATCH] feat: generate category for services --- app/Console/Commands/Generate/Services.php | 3 + templates/service-templates-latest.json | 263 +++++++++++++++++++++ templates/service-templates.json | 263 +++++++++++++++++++++ 3 files changed, 529 insertions(+) diff --git a/app/Console/Commands/Generate/Services.php b/app/Console/Commands/Generate/Services.php index 86a025c94..42f9360bb 100644 --- a/app/Console/Commands/Generate/Services.php +++ b/app/Console/Commands/Generate/Services.php @@ -74,6 +74,7 @@ class Services extends Command 'slogan' => $data->get('slogan', str($file)->headline()), 'compose' => $compose, 'tags' => $tags, + 'category' => $data->get('category'), 'logo' => $data->get('logo', 'svgs/default.webp'), 'minversion' => $data->get('minversion', '0.0.0'), ]; @@ -143,6 +144,7 @@ class Services extends Command 'slogan' => $data->get('slogan', str($file)->headline()), 'compose' => $compose, 'tags' => $tags, + 'category' => $data->get('category'), 'logo' => $data->get('logo', 'svgs/default.webp'), 'minversion' => $data->get('minversion', '0.0.0'), ]; @@ -211,6 +213,7 @@ class Services extends Command 'slogan' => $data->get('slogan', str($file)->headline()), 'compose' => $compose, 'tags' => $tags, + 'category' => $data->get('category'), 'logo' => $data->get('logo', 'svgs/default.webp'), 'minversion' => $data->get('minversion', '0.0.0'), ]; diff --git a/templates/service-templates-latest.json b/templates/service-templates-latest.json index b5dc3989c..9835e94a9 100644 --- a/templates/service-templates-latest.json +++ b/templates/service-templates-latest.json @@ -9,6 +9,7 @@ "no code", "open source" ], + "category": "automation", "logo": "svgs/activepieces.png", "minversion": "0.0.0", "port": "80" @@ -26,6 +27,7 @@ "expenses", "income" ], + "category": "productivity", "logo": "svgs/actualbudget.png", "minversion": "0.0.0", "port": "5006" @@ -40,6 +42,7 @@ "miro", "workspace" ], + "category": "productivity", "logo": "svgs/affine.svg", "minversion": "0.0.0", "port": "3010" @@ -62,6 +65,7 @@ "team", "bot" ], + "category": "ai", "logo": "svgs/anythingllm.svg", "minversion": "0.0.0", "port": "3001" @@ -74,6 +78,7 @@ "api", "apprise" ], + "category": "automation", "logo": "svgs/apprise.png", "minversion": "0.0.0", "port": "8000" @@ -89,6 +94,7 @@ "low", "platform" ], + "category": "productivity", "logo": "svgs/appsmith.svg", "minversion": "0.0.0" }, @@ -101,6 +107,7 @@ "backend-as-a-service", "platform" ], + "category": "backend", "logo": "svgs/appwrite.svg", "minversion": "0.0.0" }, @@ -122,6 +129,7 @@ "data-science", "nlp" ], + "category": "productivity", "logo": "svgs/argilla.png", "minversion": "0.0.0", "port": "6900" @@ -137,6 +145,7 @@ "server", "self-hosted" ], + "category": "media", "logo": "svgs/audiobookshelf.svg", "minversion": "0.0.0", "port": "80" @@ -157,6 +166,7 @@ "auth0", "okta" ], + "category": "auth", "logo": "svgs/authentik.png", "minversion": "0.0.0", "port": "9000" @@ -172,6 +182,7 @@ "growth", "activities" ], + "category": "productivity", "logo": "svgs/babybuddy.png", "minversion": "0.0.0" }, @@ -186,6 +197,7 @@ "stats", "alerts" ], + "category": "monitoring", "logo": "svgs/beszel.svg", "minversion": "0.0.0", "port": "8090" @@ -200,6 +212,7 @@ "blockchain", "bitcoin" ], + "category": "backend", "logo": "svgs/bitcoin.svg", "minversion": "0.0.0" }, @@ -212,6 +225,7 @@ "pds", "platform" ], + "category": "backend", "logo": "svgs/bluesky.svg", "minversion": "0.0.0", "port": "3000" @@ -230,6 +244,7 @@ "diagramms", "notes" ], + "category": "cms", "logo": "svgs/bookstack.png", "minversion": "0.0.0", "port": "80" @@ -244,6 +259,7 @@ "browser", "service" ], + "category": "devtools", "logo": "svgs/browserless.svg", "minversion": "0.0.0", "port": "3000" @@ -257,6 +273,7 @@ "budgeting", "expense tracking" ], + "category": "productivity", "logo": "svgs/budge.png", "minversion": "0.0.0" }, @@ -277,6 +294,7 @@ "docker", "kubernetes" ], + "category": "automation", "logo": "svgs/budibase.svg", "minversion": "0.0.0", "port": "10000" @@ -291,6 +309,7 @@ "django", "mysql" ], + "category": "monitoring", "logo": "svgs/bugsink.svg", "minversion": "0.0.0", "port": "8000" @@ -306,6 +325,7 @@ "open", "source" ], + "category": "productivity", "logo": "svgs/calcom.svg", "minversion": "0.0.0", "port": "3000" @@ -325,6 +345,7 @@ "book", "reader" ], + "category": "media", "logo": "svgs/calibre-web.svg", "minversion": "0.0.0", "port": "8083" @@ -343,6 +364,7 @@ "platform", "castopod" ], + "category": "media", "logo": "svgs/castopod.svg", "minversion": "0.0.0", "port": "8000" @@ -356,6 +378,7 @@ "alert", "monitor" ], + "category": "monitoring", "logo": "svgs/changedetection.png", "minversion": "0.0.0", "port": "5000" @@ -378,6 +401,7 @@ "postgresql", "sidekiq" ], + "category": "cms", "logo": "svgs/chaskiq.png", "minversion": "0.0.0", "port": "3000" @@ -397,6 +421,7 @@ "postgresql", "sidekiq" ], + "category": "cms", "logo": "svgs/chatwoot.svg", "minversion": "0.0.0", "port": "3000" @@ -411,6 +436,7 @@ "uptime", "healthcheck" ], + "category": "monitoring", "logo": "svgs/checkmate.png", "minversion": "0.0.0", "port": "80" @@ -428,6 +454,7 @@ "embeddings", "llm" ], + "category": "ai", "logo": "svgs/chroma.svg", "minversion": "0.0.0", "port": "8000" @@ -442,6 +469,7 @@ "content", "management" ], + "category": "cms", "logo": "svgs/classicpress.svg", "minversion": "0.0.0" }, @@ -455,6 +483,7 @@ "content", "management" ], + "category": "cms", "logo": "svgs/classicpress.svg", "minversion": "0.0.0" }, @@ -468,6 +497,7 @@ "content", "management" ], + "category": "cms", "logo": "svgs/classicpress.svg", "minversion": "0.0.0" }, @@ -486,6 +516,7 @@ "sql", "mongodb" ], + "category": "devtools", "logo": "svgs/cloudbeaver.svg", "minversion": "0.0.0", "port": "8978" @@ -495,6 +526,7 @@ "slogan": "Client for Cloudflare Tunnel, a daemon that exposes private services through the Cloudflare edge.", "compose": "c2VydmljZXM6CiAgY2xvdWRmbGFyZWQ6CiAgICBjb250YWluZXJfbmFtZTogY2xvdWRmbGFyZS10dW5uZWwKICAgIGltYWdlOiAnY2xvdWRmbGFyZS9jbG91ZGZsYXJlZDpsYXRlc3QnCiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZAogICAgbmV0d29ya19tb2RlOiBob3N0CiAgICBjb21tYW5kOiAndHVubmVsIC0tbm8tYXV0b3VwZGF0ZSBydW4nCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnVFVOTkVMX1RPS0VOPSR7Q0xPVURGTEFSRV9UVU5ORUxfVE9LRU59JwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQKICAgICAgICAtIGNsb3VkZmxhcmVkCiAgICAgICAgLSAnLS12ZXJzaW9uJwogICAgICBpbnRlcnZhbDogNXMKICAgICAgdGltZW91dDogMjBzCiAgICAgIHJldHJpZXM6IDEwCg==", "tags": null, + "category": "proxy", "logo": "svgs/cloudflared.svg", "minversion": "0.0.0" }, @@ -509,6 +541,7 @@ "database", "nosql" ], + "category": "cms", "logo": "svgs/cockpit.svg", "minversion": "0.0.0", "port": "80" @@ -523,6 +556,7 @@ "remote", "collaboration" ], + "category": "devtools", "logo": "svgs/code-server.svg", "minversion": "0.0.0", "port": "8443" @@ -540,6 +574,7 @@ "realtime-collaboration", "notes" ], + "category": "productivity", "logo": "svgs/codimd.png", "minversion": "0.0.0", "port": "3000" @@ -560,6 +595,7 @@ "bot", "flows" ], + "category": "backend", "logo": "svgs/convex.svg", "minversion": "0.0.0", "port": "6791" @@ -577,6 +613,7 @@ "file", "sharing" ], + "category": "security", "logo": "svgs/cryptgeon.png", "minversion": "0.0.0", "port": "8000" @@ -593,6 +630,7 @@ "tools", "development" ], + "category": "security", "logo": "svgs/cyberchef.jpeg", "minversion": "0.0.0", "port": "80" @@ -606,6 +644,7 @@ "personal", "self-hostable" ], + "category": "productivity", "logo": "svgs/dashy.png", "minversion": "0.0.0", "port": "8080" @@ -620,6 +659,7 @@ "key-value", "database" ], + "category": "database", "logo": "svgs/denokv.svg", "minversion": "0.0.0", "port": "4512" @@ -634,6 +674,7 @@ "database", "sql" ], + "category": "cms", "logo": "svgs/directus.svg", "minversion": "0.0.0", "port": "8055" @@ -648,6 +689,7 @@ "database", "sql" ], + "category": "cms", "logo": "svgs/directus.svg", "minversion": "0.0.0", "port": "8055" @@ -661,6 +703,7 @@ "notifier", "slack" ], + "category": "automation", "logo": "svgs/diun.svg", "minversion": "0.0.0" }, @@ -673,6 +716,7 @@ "images", "docker" ], + "category": "devtools", "logo": "svgs/docker-registry.png", "minversion": "0.0.0", "port": "5000" @@ -691,6 +735,7 @@ "realtime-collaboration", "notion-alternative" ], + "category": "productivity", "logo": "svgs/docmost.png", "minversion": "0.0.0", "port": "3000" @@ -710,6 +755,7 @@ "pdf-signing", "docusign" ], + "category": "productivity", "logo": "svgs/documenso.png", "minversion": "0.0.0", "port": "3000" @@ -721,6 +767,7 @@ "tags": [ "documentation" ], + "category": "productivity", "logo": "svgs/docuseal.png", "minversion": "0.0.0", "port": "3000" @@ -732,6 +779,7 @@ "tags": [ "documentation" ], + "category": "productivity", "logo": "svgs/docuseal.png", "minversion": "0.0.0", "port": "3000" @@ -746,6 +794,7 @@ "knowledge", "base" ], + "category": "cms", "logo": "svgs/dokuwiki.png", "minversion": "0.0.0" }, @@ -757,6 +806,7 @@ "crm", "erp" ], + "category": "cms", "logo": "svgs/dolibarr.png", "minversion": "0.0.0", "port": "80" @@ -771,6 +821,7 @@ "logs", "web-ui" ], + "category": "devtools", "logo": "svgs/dozzle.svg", "minversion": "0.0.0", "port": "8080" @@ -785,6 +836,7 @@ "logs", "web-ui" ], + "category": "devtools", "logo": "svgs/dozzle.svg", "minversion": "0.0.0", "port": "8080" @@ -800,6 +852,7 @@ "open-source", "low-code" ], + "category": "backend", "logo": "svgs/drizzle.jpeg", "minversion": "0.0.0", "port": "4983" @@ -815,6 +868,7 @@ "management", "postgresql" ], + "category": "cms", "logo": "svgs/drupal.svg", "minversion": "0.0.0" }, @@ -826,6 +880,7 @@ "backup", "encryption" ], + "category": "storage", "logo": "svgs/duplicati.webp", "minversion": "0.0.0", "port": "8200" @@ -839,6 +894,7 @@ "scheduling", "database" ], + "category": "productivity", "logo": "svgs/easyappointments.png", "minversion": "0.0.0", "port": "80" @@ -854,6 +910,7 @@ "tv", "music" ], + "category": "media", "logo": "svgs/emby.png", "minversion": "0.0.0", "port": "8096" @@ -869,6 +926,7 @@ "tv", "music" ], + "category": "media", "logo": "svgs/default.webp", "minversion": "0.0.0", "port": "6555" @@ -886,6 +944,7 @@ "postgres", "redis" ], + "category": "backend", "logo": "svgs/evolution-api.svg", "minversion": "0.0.0", "port": "8080" @@ -901,6 +960,7 @@ "productivity", "whiteboard" ], + "category": "productivity", "logo": "svgs/excalidraw.svg", "minversion": "0.0.0", "port": "80" @@ -914,6 +974,7 @@ "management", "tool" ], + "category": "security", "logo": "svgs/faraday.png", "minversion": "0.0.0", "port": "5985" @@ -926,6 +987,7 @@ "feedback", "user-feedback" ], + "category": "productivity", "logo": "svgs/fider.svg", "minversion": "0.0.0", "port": "3000" @@ -941,6 +1003,7 @@ "file-utilization", "administration-tool" ], + "category": "storage", "logo": "svgs/filebrowser.svg", "minversion": "0.0.0", "port": "80" @@ -955,6 +1018,7 @@ "convert", "h265" ], + "category": "media", "logo": "svgs/fileflows.svg", "minversion": "0.0.0", "port": "5000" @@ -969,6 +1033,7 @@ "personal", "manager" ], + "category": "productivity", "logo": "svgs/firefly.svg", "minversion": "0.0.0", "port": "8080" @@ -982,6 +1047,7 @@ "web", "privacy" ], + "category": "productivity", "logo": "svgs/firefox.svg", "minversion": "0.0.0", "port": "5800" @@ -996,6 +1062,7 @@ "ci", "cd" ], + "category": "backend", "logo": "svgs/flipt.svg", "minversion": "0.0.0", "port": "8080" @@ -1020,6 +1087,7 @@ "bot", "flows" ], + "category": "ai", "logo": "svgs/flowise.png", "minversion": "0.0.0", "port": "3001" @@ -1044,6 +1112,7 @@ "bot", "flows" ], + "category": "ai", "logo": "svgs/flowise.png", "minversion": "0.0.0", "port": "3001" @@ -1060,6 +1129,7 @@ "lightweight", "mariadb" ], + "category": "git", "logo": "svgs/forgejo.svg", "minversion": "0.0.0", "port": "3000" @@ -1076,6 +1146,7 @@ "lightweight", "mysql" ], + "category": "git", "logo": "svgs/forgejo.svg", "minversion": "0.0.0", "port": "3000" @@ -1092,6 +1163,7 @@ "lightweight", "postgresql" ], + "category": "git", "logo": "svgs/forgejo.svg", "minversion": "0.0.0", "port": "3000" @@ -1107,6 +1179,7 @@ "hosting", "lightweight" ], + "category": "git", "logo": "svgs/forgejo.svg", "minversion": "0.0.0", "port": "3000" @@ -1126,6 +1199,7 @@ "self-hosted", "docker" ], + "category": "analytics", "logo": "svgs/formbricks.png", "minversion": "0.0.0", "port": "3000" @@ -1141,6 +1215,7 @@ "ttrpg", "roleplaying" ], + "category": "media", "logo": "svgs/foundryvtt.png", "minversion": "0.0.0", "port": "30000" @@ -1155,6 +1230,7 @@ "ticketing", "customer-support" ], + "category": "cms", "logo": "svgs/freescout.png", "minversion": "0.0.0", "port": "80" @@ -1167,6 +1243,7 @@ "rss", "feed" ], + "category": "cms", "logo": "svgs/freshrss.png", "minversion": "0.0.0", "port": "80" @@ -1179,6 +1256,7 @@ "rss", "feed" ], + "category": "cms", "logo": "svgs/freshrss.png", "minversion": "0.0.0", "port": "80" @@ -1191,6 +1269,7 @@ "rss", "feed" ], + "category": "cms", "logo": "svgs/freshrss.png", "minversion": "0.0.0", "port": "80" @@ -1203,6 +1282,7 @@ "rss", "feed" ], + "category": "cms", "logo": "svgs/freshrss.png", "minversion": "0.0.0", "port": "80" @@ -1215,6 +1295,7 @@ "knowledge base", "documentation" ], + "category": "productivity", "logo": "svgs/getoutline.jpeg", "minversion": "0.0.0", "port": "3000" @@ -1230,6 +1311,7 @@ "management", "system" ], + "category": "cms", "logo": "svgs/ghost.svg", "minversion": "0.0.0", "port": "2368" @@ -1246,6 +1328,7 @@ "lightweight", "mariadb" ], + "category": "git", "logo": "svgs/gitea.svg", "minversion": "0.0.0" }, @@ -1261,6 +1344,7 @@ "lightweight", "mysql" ], + "category": "git", "logo": "svgs/gitea.svg", "minversion": "0.0.0" }, @@ -1276,6 +1360,7 @@ "lightweight", "postgresql" ], + "category": "git", "logo": "svgs/gitea.svg", "minversion": "0.0.0" }, @@ -1290,6 +1375,7 @@ "hosting", "lightweight" ], + "category": "git", "logo": "svgs/gitea.svg", "minversion": "0.0.0" }, @@ -1303,6 +1389,7 @@ "runner", "docker" ], + "category": "devtools", "logo": "svgs/github-runner.png", "minversion": "0.0.0" }, @@ -1333,6 +1420,7 @@ "deploymentautomation", "securityintegration" ], + "category": "git", "logo": "svgs/gitlab.svg", "minversion": "0.0.0", "port": "80" @@ -1348,6 +1436,7 @@ "interface", "rrss" ], + "category": "monitoring", "logo": "svgs/glance.png", "minversion": "0.0.0", "port": "8080" @@ -1359,6 +1448,7 @@ "tags": [ "monitoring tool python cross platform" ], + "category": "monitoring", "logo": "svgs/glances.png", "minversion": "0.0.0", "port": "61208" @@ -1374,6 +1464,7 @@ "self-hosted", "sentry" ], + "category": "monitoring", "logo": "svgs/glitchtip.png", "minversion": "0.0.0", "port": "8080" @@ -1388,6 +1479,7 @@ "pdf", "tool" ], + "category": "devtools", "logo": "svgs/gotenberg.png", "minversion": "0.0.0", "port": "3000" @@ -1403,6 +1495,7 @@ "api", "go-whatsapp" ], + "category": "cms", "logo": "svgs/gowa.svg", "minversion": "0.0.0", "port": "3000" @@ -1417,6 +1510,7 @@ "monitoring", "dashboard" ], + "category": "monitoring", "logo": "svgs/grafana.svg", "minversion": "0.0.0", "port": "3000" @@ -1431,6 +1525,7 @@ "monitoring", "dashboard" ], + "category": "monitoring", "logo": "svgs/grafana.svg", "minversion": "0.0.0", "port": "3000" @@ -1446,6 +1541,7 @@ "database", "relational" ], + "category": "productivity", "logo": "svgs/grist.svg", "minversion": "0.0.0", "port": "443" @@ -1461,6 +1557,7 @@ "grocery", "shopping" ], + "category": "productivity", "logo": "svgs/grocy.svg", "minversion": "0.0.0" }, @@ -1474,6 +1571,7 @@ "applications", "interface" ], + "category": "productivity", "logo": "svgs/heimdall.svg", "minversion": "0.0.0" }, @@ -1491,6 +1589,7 @@ "self-hosted", "docker" ], + "category": "productivity", "logo": "svgs/heyform.svg", "minversion": "0.0.0", "port": "8000" @@ -1504,6 +1603,7 @@ "self-hosted", "homepage" ], + "category": "productivity", "logo": "svgs/homarr.svg", "minversion": "0.0.0", "port": "7575" @@ -1517,6 +1617,7 @@ "home", "organize" ], + "category": "storage", "logo": "svgs/homebox.svg", "minversion": "0.0.0", "port": "7745" @@ -1529,6 +1630,7 @@ "dashboard", "homepage" ], + "category": "productivity", "logo": "svgs/homepage.png", "minversion": "0.0.0", "port": "3000" @@ -1542,6 +1644,7 @@ "development", "platform" ], + "category": "devtools", "logo": "svgs/hoppscotch.png", "minversion": "0.0.0", "port": "80" @@ -1562,6 +1665,7 @@ "face", "recognition" ], + "category": "media", "logo": "svgs/immich.svg", "minversion": "0.0.0", "port": "2283" @@ -1583,6 +1687,7 @@ "auth", "encryption" ], + "category": "security", "logo": "svgs/infisical.png", "minversion": "0.0.0", "port": "8080" @@ -1598,6 +1703,7 @@ "finance", "self-hosted" ], + "category": "productivity", "logo": "svgs/invoiceninja.png", "minversion": "0.0.0", "port": "9000" @@ -1611,6 +1717,7 @@ "management", "self-hosted" ], + "category": "devtools", "logo": "svgs/it-tools.svg", "minversion": "0.0.0", "port": "80" @@ -1626,6 +1733,7 @@ "tv", "music" ], + "category": "media", "logo": "svgs/jellyfin.svg", "minversion": "0.0.0", "port": "8096" @@ -1639,6 +1747,7 @@ "automation", "open-source" ], + "category": "ci", "logo": "svgs/jenkins.svg", "minversion": "0.0.0", "port": "8080" @@ -1654,6 +1763,7 @@ "management", "mariadb" ], + "category": "cms", "logo": "svgs/joomla.svg", "minversion": "0.0.0", "port": "80" @@ -1665,6 +1775,7 @@ "tags": [ "joplin" ], + "category": "productivity", "logo": "svgs/joplin.png", "minversion": "0.0.0", "port": "22300" @@ -1679,6 +1790,7 @@ "data", "analysis" ], + "category": "devtools", "logo": "svgs/jupyter.svg", "minversion": "0.0.0", "port": "8888" @@ -1694,6 +1806,7 @@ "omnivore-alternative", "instapaper-alternative" ], + "category": "productivity", "logo": "svgs/karakeep.svg", "minversion": "0.0.0", "port": "3000" @@ -1721,6 +1834,7 @@ "jwt", "social-login" ], + "category": "auth", "logo": "svgs/keycloak.svg", "minversion": "0.0.0", "port": "8080" @@ -1748,6 +1862,7 @@ "jwt", "social-login" ], + "category": "auth", "logo": "svgs/keycloak.svg", "minversion": "0.0.0", "port": "8080" @@ -1760,6 +1875,7 @@ "time-tracking", "open-source" ], + "category": "productivity", "logo": "svgs/kimai.svg", "minversion": "0.0.0", "port": "8001" @@ -1780,6 +1896,7 @@ "geofencing", "low-code" ], + "category": "backend", "logo": "svgs/kuzzle.png", "minversion": "0.0.0", "port": "7512" @@ -1804,6 +1921,7 @@ "images", "vision" ], + "category": "ai", "logo": "svgs/labelstudio.png", "minversion": "0.0.0", "port": "8080" @@ -1827,6 +1945,7 @@ "observation", "metrics" ], + "category": "ai", "logo": "svgs/langfuse.svg", "minversion": "0.0.0", "port": "3000" @@ -1843,6 +1962,7 @@ "laravel", "open source" ], + "category": "productivity", "logo": "svgs/leantime.svg", "minversion": "0.0.0", "port": "8080" @@ -1864,6 +1984,7 @@ "ollama", "llm" ], + "category": "ai", "logo": "svgs/librechat.svg", "minversion": "0.0.0", "port": "3080" @@ -1879,6 +2000,7 @@ "presentation", "open-source" ], + "category": "productivity", "logo": "svgs/libreoffice.svg", "minversion": "0.0.0", "port": "3000" @@ -1891,6 +2013,7 @@ "translate", "api" ], + "category": "ai", "logo": "svgs/libretranslate.svg", "minversion": "0.0.0", "port": "5000" @@ -1905,6 +2028,7 @@ "no code", "open source" ], + "category": "productivity", "logo": "svgs/limesurvey.svg", "minversion": "0.0.0", "port": "80" @@ -1919,6 +2043,7 @@ "self-hosted", "open source" ], + "category": "email", "logo": "svgs/listmonk.svg", "minversion": "0.0.0", "port": "9000" @@ -1944,6 +2069,7 @@ "replicate", "groq" ], + "category": "ai", "logo": "svgs/litellm.svg", "minversion": "0.0.0", "port": "4000" @@ -1959,6 +2085,7 @@ "vps", "database" ], + "category": "database", "logo": "svgs/litequeen.svg", "minversion": "0.0.0", "port": "8000" @@ -1976,6 +2103,7 @@ "oidc", "openid" ], + "category": "auth", "logo": "svgs/logto_dark.svg", "minversion": "0.0.0" }, @@ -1994,6 +2122,7 @@ "low", "code" ], + "category": "productivity", "logo": "svgs/lowcoder.svg", "minversion": "0.0.0", "port": "3000" @@ -2008,6 +2137,7 @@ "testing", "smtp" ], + "category": "email", "logo": "svgs/mailpit.svg", "minversion": "0.0.0", "port": "8025" @@ -2021,6 +2151,7 @@ "vector", "tiles" ], + "category": "backend", "logo": "svgs/martin.png", "minversion": "0.0.0", "port": "3000" @@ -2037,6 +2168,7 @@ "video", "call" ], + "category": "messaging", "logo": "svgs/matrix.svg", "minversion": "0.0.0", "port": "8008" @@ -2050,6 +2182,7 @@ "slack", "alternative" ], + "category": "mattermost", "logo": "svgs/mattermost.svg", "minversion": "0.0.0", "port": "8065" @@ -2070,6 +2203,7 @@ "source", "crm" ], + "category": "analytics", "logo": "svgs/mautic.svg", "minversion": "0.0.0", "port": "80" @@ -2087,6 +2221,7 @@ "open", "source" ], + "category": "productivity", "logo": "svgs/maybe.svg", "minversion": "0.0.0", "port": "3000" @@ -2101,6 +2236,7 @@ "cooking", "food" ], + "category": "productivity", "logo": "svgs/mealie.png", "minversion": "0.0.0", "port": "9000" @@ -2114,6 +2250,7 @@ "collaboration", "documentation" ], + "category": "cms", "logo": "svgs/mediawiki.ico", "minversion": "0.0.0", "port": "80" @@ -2130,6 +2267,7 @@ "text", "meilisearch" ], + "category": "search", "logo": "svgs/meilisearch.svg", "minversion": "0.0.0", "port": "7700" @@ -2144,6 +2282,7 @@ "social-network", "markdown" ], + "category": "productivity", "logo": "svgs/memos.png", "minversion": "0.0.0", "port": "5230" @@ -2158,6 +2297,7 @@ "business", "intelligence" ], + "category": "analytics", "logo": "svgs/metabase.svg", "minversion": "0.0.0", "port": "3000" @@ -2172,6 +2312,7 @@ "videos", "playlist" ], + "category": "media", "logo": "svgs/default.webp", "minversion": "0.0.0", "port": "8081" @@ -2186,6 +2327,7 @@ "machine-learning", "ai" ], + "category": "ai", "logo": "svgs/mindsdb.svg", "minversion": "0.0.0", "port": "47334" @@ -2197,6 +2339,7 @@ "tags": [ "minecraft" ], + "category": "media", "logo": "svgs/minecraft.svg", "minversion": "0.0.0", "port": "25565" @@ -2212,6 +2355,7 @@ "self", "hosted" ], + "category": "cms", "logo": "svgs/miniflux.svg", "minversion": "0.0.0", "port": "8080" @@ -2227,6 +2371,7 @@ "s3", "api" ], + "category": "storage", "logo": "svgs/minio.svg", "minversion": "0.0.0" }, @@ -2242,6 +2387,7 @@ "automation", "self-hosted" ], + "category": "analytics", "logo": "svgs/mixpost.svg", "minversion": "0.0.0", "port": "80" @@ -2261,6 +2407,7 @@ "low", "code" ], + "category": "cms", "logo": "svgs/moodle.png", "minversion": "0.0.0", "port": "8080" @@ -2274,6 +2421,7 @@ "mqtt", "open-source" ], + "category": "messaging", "logo": "svgs/mosquitto.svg", "minversion": "0.0.0", "port": "1883" @@ -2291,6 +2439,7 @@ "low", "code" ], + "category": "automation", "logo": "svgs/n8n.png", "minversion": "0.0.0", "port": "5678" @@ -2308,6 +2457,7 @@ "low", "code" ], + "category": "automation", "logo": "svgs/n8n.png", "minversion": "0.0.0", "port": "5678" @@ -2322,6 +2472,7 @@ "music", "subsonic" ], + "category": "media", "logo": "svgs/navidrome.svg", "minversion": "0.0.0", "port": "4533" @@ -2335,6 +2486,7 @@ "neon", "postgresql" ], + "category": "proxy", "logo": "svgs/neon.svg", "minversion": "0.0.0", "port": "80, 2112" @@ -2350,6 +2502,7 @@ "zero-trust-network-access", "open source" ], + "category": "vpn", "logo": "svgs/netbird.png", "minversion": "0.0.0" }, @@ -2363,6 +2516,7 @@ "transformation", "service" ], + "category": "media", "logo": "coolify-logo.svg", "minversion": "0.0.0", "port": "3000" @@ -2378,6 +2532,7 @@ "filestorage", "data" ], + "category": "storage", "logo": "svgs/nextcloud.svg", "minversion": "0.0.0", "port": "80" @@ -2393,6 +2548,7 @@ "filestorage", "data" ], + "category": "storage", "logo": "svgs/nextcloud.svg", "minversion": "0.0.0", "port": "80" @@ -2408,6 +2564,7 @@ "filestorage", "data" ], + "category": "storage", "logo": "svgs/nextcloud.svg", "minversion": "0.0.0", "port": "80" @@ -2423,6 +2580,7 @@ "filestorage", "data" ], + "category": "storage", "logo": "svgs/nextcloud.svg", "minversion": "0.0.0", "port": "80" @@ -2440,6 +2598,7 @@ "registry", "container" ], + "category": "devtools", "logo": "svgs/nexus.png", "minversion": "0.0.0", "port": "8081" @@ -2457,6 +2616,7 @@ "registry", "container" ], + "category": "devtools", "logo": "svgs/nexus.png", "minversion": "0.0.0", "port": "8081" @@ -2474,6 +2634,7 @@ "content", "management" ], + "category": "cms", "logo": "svgs/nitropage.svg", "minversion": "0.0.0", "port": "3000" @@ -2491,6 +2652,7 @@ "content", "management" ], + "category": "cms", "logo": "svgs/nitropage.svg", "minversion": "0.0.0", "port": "3000" @@ -2508,6 +2670,7 @@ "sqlite", "mariadb" ], + "category": "automation", "logo": "svgs/nocodb.svg", "minversion": "0.0.0", "port": "8080" @@ -2521,6 +2684,7 @@ "forums", "discussion" ], + "category": "messaging", "logo": "svgs/nodebb.svg", "minversion": "0.0.0", "port": "4567" @@ -2536,6 +2700,7 @@ "pub-sub", "notify" ], + "category": "messaging", "logo": "svgs/ntfy.svg", "minversion": "0.0.0", "port": "80" @@ -2548,6 +2713,7 @@ "networking", "monitoring" ], + "category": "monitoring", "logo": "svgs/observium.webp", "minversion": "0.0.0", "port": "80" @@ -2567,6 +2733,7 @@ "project management", "open-source" ], + "category": "cms", "logo": "svgs/odoo.svg", "minversion": "0.0.0", "port": "8069" @@ -2583,6 +2750,7 @@ "open-web-ui", "integration" ], + "category": "ai", "logo": "svgs/ollama.svg", "minversion": "0.0.0" }, @@ -2603,6 +2771,7 @@ "repository", "management" ], + "category": "git", "logo": "svgs/onedev.svg", "minversion": "0.0.0", "port": "6610" @@ -2617,6 +2786,7 @@ "secret", "secure" ], + "category": "security", "logo": "svgs/onetimesecret.svg", "minversion": "0.0.0", "port": "3000" @@ -2632,6 +2802,7 @@ "open-web-ui", "integration" ], + "category": "ai", "logo": "svgs/openwebui.svg", "minversion": "0.0.0", "port": "8080" @@ -2649,6 +2820,7 @@ "google", "alternative" ], + "category": "devtools", "logo": "svgs/openpanel.svg", "minversion": "0.0.0", "port": "3000" @@ -2665,6 +2837,7 @@ "orangehrm", "hr management" ], + "category": "cms", "logo": "svgs/orangehrm.svg", "minversion": "0.0.0", "port": "80" @@ -2676,6 +2849,7 @@ "tags": [ "tool" ], + "category": "productivity", "logo": "svgs/organizr.png", "minversion": "0.0.0", "port": "80" @@ -2690,6 +2864,7 @@ "support", "open-source" ], + "category": "cms", "logo": "svgs/osticket.png", "minversion": "0.0.0", "port": "80" @@ -2705,6 +2880,7 @@ "sonarr", "radarr" ], + "category": "media", "logo": "svgs/overseerr.svg", "minversion": "0.0.0", "port": "5055" @@ -2720,6 +2896,7 @@ "integration", "cloud" ], + "category": "storage", "logo": "svgs/owncloud.svg", "minversion": "0.0.0", "port": "8080" @@ -2734,6 +2911,7 @@ "collaboration", "teamwork" ], + "category": "productivity", "logo": "svgs/pairdrop.png", "minversion": "0.0.0", "port": "3000" @@ -2743,6 +2921,7 @@ "slogan": "Paperless-ngx is a community-supported open-source document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.", "compose": "c2VydmljZXM6CiAgcmVkaXM6CiAgICBpbWFnZTogJ3JlZGlzOjcuNCcKICAgIHZvbHVtZXM6CiAgICAgIC0gJ3BhcGVybGVzcy1yZWRpczovZGF0YScKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ECiAgICAgICAgLSByZWRpcy1jbGkKICAgICAgICAtIHBpbmcKICAgICAgdGltZW91dDogMTBzCiAgICAgIHJldHJpZXM6IDMKICBwYXBlcmxlc3M6CiAgICBpbWFnZTogJ3BhcGVybGVzc25neC9wYXBlcmxlc3Mtbmd4OmxhdGVzdCcKICAgIGRlcGVuZHNfb246CiAgICAgIHJlZGlzOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRAogICAgICAgIC0gY3VybAogICAgICAgIC0gJy1mcycKICAgICAgICAtICctUycKICAgICAgICAtICctLW1heC10aW1lJwogICAgICAgIC0gJzInCiAgICAgICAgLSAnaHR0cDovL2xvY2FsaG9zdDo4MDAwJwogICAgICBpbnRlcnZhbDogMzBzCiAgICAgIHRpbWVvdXQ6IDEwcwogICAgICByZXRyaWVzOiA1CiAgICB2b2x1bWVzOgogICAgICAtICdwYXBlcmxlc3MtZGF0YTovdXNyL3NyYy9wYXBlcmxlc3MvZGF0YScKICAgICAgLSAncGFwZXJsZXNzLW1lZGlhOi91c3Ivc3JjL3BhcGVybGVzcy9tZWRpYScKICAgICAgLQogICAgICAgIHR5cGU6IGJpbmQKICAgICAgICBzb3VyY2U6IC4vZXhwb3J0CiAgICAgICAgdGFyZ2V0OiAvdXNyL3NyYy9wYXBlcmxlc3MvZXhwb3J0CiAgICAgICAgaXNfZGlyZWN0b3J5OiB0cnVlCiAgICAgIC0KICAgICAgICB0eXBlOiBiaW5kCiAgICAgICAgc291cmNlOiAuL2NvbnN1bWUKICAgICAgICB0YXJnZXQ6IC91c3Ivc3JjL3BhcGVybGVzcy9jb25zdW1lCiAgICAgICAgaXNfZGlyZWN0b3J5OiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRVJWSUNFX1VSTF9QQVBFUkxFU1NfODAwMAogICAgICAtIFBBUEVSTEVTU19VUkw9JFNFUlZJQ0VfVVJMX1BBUEVSTEVTU184MDAwCiAgICAgIC0gJ1BBUEVSTEVTU19BRE1JTl9QQVNTV09SRD0ke1NFUlZJQ0VfUEFTU1dPUkRfUEFQRVJMRVNTfScKICAgICAgLSAnUEFQRVJMRVNTX0FETUlOX1VTRVI9JHtTRVJWSUNFX1VTRVJfUEFQRVJMRVNTfScKICAgICAgLSAnUEFQRVJMRVNTX1JFRElTPXJlZGlzOi8vcmVkaXM6NjM3OScKICAgICAgLSAnUEFQRVJMRVNTX1NFQ1JFVF9LRVk9JHtTRVJWSUNFX1JFQUxCQVNFNjRfNjRfUEFQRVJMRVNTfScK", "tags": null, + "category": "productivity", "logo": "svgs/paperless.svg", "minversion": "0.0.0", "port": "8000" @@ -2757,6 +2936,7 @@ "password-manager", "open source" ], + "category": "auth", "logo": "svgs/passbolt.svg", "minversion": "0.0.0", "port": "80" @@ -2770,6 +2950,7 @@ "billing", "open source" ], + "category": "cms", "logo": "svgs/paymenter.svg", "minversion": "0.0.0", "port": "80" @@ -2786,6 +2967,7 @@ "open", "source" ], + "category": "productivity", "logo": "svgs/penpot.svg", "minversion": "0.0.0", "port": "8080" @@ -2799,6 +2981,7 @@ "postgresql", "web-interface" ], + "category": "devtools", "logo": "svgs/pgbackweb.svg", "minversion": "0.0.0", "port": "8085" @@ -2810,6 +2993,7 @@ "tags": [ "database management" ], + "category": "database", "logo": "svgs/phpmyadmin.svg", "minversion": "0.0.0" }, @@ -2824,6 +3008,7 @@ "ntp", "dhcp" ], + "category": "proxy", "logo": "svgs/pihole.svg", "minversion": "0.0.0", "port": "80" @@ -2839,6 +3024,7 @@ "cloud", "sharing" ], + "category": "storage", "logo": "svgs/pingvinshare.svg", "minversion": "0.0.0", "port": "3000" @@ -2854,6 +3040,7 @@ "cloud", "sharing" ], + "category": "storage", "logo": "svgs/pingvinshare.svg", "minversion": "0.0.0", "port": "3000" @@ -2875,6 +3062,7 @@ "django", "pm" ], + "category": "productivity", "logo": "svgs/plane.svg", "minversion": "0.0.0" }, @@ -2889,6 +3077,7 @@ "tv", "music" ], + "category": "media", "logo": "svgs/plex.svg", "minversion": "0.0.0", "port": "32400" @@ -2903,6 +3092,7 @@ "automation", "aws" ], + "category": "automation", "logo": "svgs/plunk.svg", "minversion": "0.0.0", "port": "3000" @@ -2918,6 +3108,7 @@ "mobile", "api" ], + "category": "backend", "logo": "svgs/pocketbase.svg", "minversion": "0.0.0", "port": "8080" @@ -2931,6 +3122,7 @@ "management", "ui" ], + "category": "devtools", "logo": "svgs/portainer.png", "minversion": "0.0.0", "port": "9000" @@ -2947,6 +3139,7 @@ "ab-testing", "event-tracking" ], + "category": "analytics", "logo": "svgs/posthog.svg", "minversion": "4.0.0-beta.222" }, @@ -2959,6 +3152,7 @@ "social media", "planning" ], + "category": "analytics", "logo": "svgs/postiz.svg", "minversion": "0.0.0", "port": "5000" @@ -2977,6 +3171,7 @@ "data-integration", "etl" ], + "category": "automation", "logo": "svgs/prefect.png", "minversion": "0.0.0", "port": "4200" @@ -2989,6 +3184,7 @@ "text", "sharing" ], + "category": "security", "logo": "svgs/privatebin.svg", "minversion": "0.0.0", "port": "8080" @@ -3007,6 +3203,7 @@ "nzb", "usenet" ], + "category": "media", "logo": "svgs/prowlarr.svg", "minversion": "0.0.0", "port": "9696" @@ -3022,6 +3219,7 @@ "panel", "minecraft" ], + "category": "media", "logo": "svgs/pterodactyl.png", "minversion": "0.0.0", "port": "80, 8443" @@ -3037,6 +3235,7 @@ "panel", "minecraft" ], + "category": "media", "logo": "svgs/pterodactyl.png", "minversion": "0.0.0", "port": "80" @@ -3050,6 +3249,7 @@ "streaming", "webui" ], + "category": "media", "logo": "svgs/qbittorrent.svg", "minversion": "0.0.0", "port": "8080" @@ -3067,6 +3267,7 @@ "embeddings", "llm" ], + "category": "database", "logo": "svgs/qdrant.png", "minversion": "0.0.0", "port": "6333" @@ -3085,6 +3286,7 @@ "stomp", "messaging" ], + "category": "messaging", "logo": "svgs/rabbitmq.svg", "minversion": "0.0.0", "port": "15672" @@ -3098,6 +3300,7 @@ "server", "movies" ], + "category": "media", "logo": "svgs/radarr.svg", "minversion": "0.0.0", "port": "7878" @@ -3113,6 +3316,7 @@ "meeting", "doodle" ], + "category": "productivity", "logo": "svgs/rallly.svg", "minversion": "0.0.0", "port": "3000" @@ -3127,6 +3331,7 @@ "open-source", "2fa" ], + "category": "productivity", "logo": "svgs/rxresume.svg", "minversion": "0.0.0", "port": "3000" @@ -3141,6 +3346,7 @@ "omnivore-alternative", "instapaper-alternative" ], + "category": "productivity", "logo": "svgs/readeck.svg", "minversion": "0.0.0", "port": "8000" @@ -3153,6 +3359,7 @@ "frontend", "feed" ], + "category": "productivity", "logo": "svgs/redlib.svg", "minversion": "0.0.0", "port": "8080" @@ -3170,6 +3377,7 @@ "open", "source" ], + "category": "messaging", "logo": "svgs/rocketchat.svg", "minversion": "0.0.0", "port": "3000" @@ -3187,6 +3395,7 @@ "media", "fitness" ], + "category": "productivity", "logo": "svgs/ryot.svg", "minversion": "0.0.0", "port": "8000" @@ -3200,6 +3409,7 @@ "file-sharing", "storage" ], + "category": "storage", "logo": "svgs/seafile.svg", "minversion": "0.0.0", "port": "80" @@ -3220,6 +3430,7 @@ "web", "api" ], + "category": "search", "logo": "svgs/searxng.svg", "minversion": "0.0.0", "port": "8080" @@ -3233,6 +3444,7 @@ "sync", "data" ], + "category": "analytics", "logo": "svgs/sequin.svg", "minversion": "0.0.0", "port": "7376" @@ -3250,6 +3462,7 @@ "link", "sharing" ], + "category": "productivity", "logo": "svgs/default.webp", "minversion": "0.0.0", "port": "8080" @@ -3267,6 +3480,7 @@ "link", "sharing" ], + "category": "productivity", "logo": "svgs/default.webp", "minversion": "0.0.0", "port": "5231" @@ -3283,6 +3497,7 @@ "network", "internet" ], + "category": "productivity", "logo": "svgs/default.webp", "minversion": "0.0.0" }, @@ -3296,6 +3511,7 @@ "source", "messaging" ], + "category": "messaging", "logo": "svgs/soketi.jpeg", "minversion": "0.0.0", "port": "6001" @@ -3309,6 +3525,7 @@ "server", "tv" ], + "category": "media", "logo": "svgs/sonarr.svg", "minversion": "0.0.0", "port": "8989" @@ -3330,6 +3547,7 @@ "smtp", "slack" ], + "category": "monitoring", "logo": "svgs/statusnook.svg", "minversion": "0.0.0", "port": "8000" @@ -3344,6 +3562,7 @@ "web", "tool" ], + "category": "productivity", "logo": "svgs/stirling.png", "minversion": "0.0.0", "port": "8080" @@ -3358,6 +3577,7 @@ "mysql", "api" ], + "category": "backend", "logo": "svgs/strapi.svg", "minversion": "0.0.0", "port": "1337" @@ -3371,6 +3591,7 @@ "alternative", "open-source" ], + "category": "backend", "logo": "svgs/supabase.svg", "minversion": "4.0.0-beta.228", "port": "8000" @@ -3387,6 +3608,7 @@ "sql", "unofficial" ], + "category": "analytics", "logo": "svgs/superset.svg", "minversion": "0.0.0", "port": "8088" @@ -3408,6 +3630,7 @@ "magic-link", "passwordless" ], + "category": "auth", "logo": "svgs/supertokens.svg", "minversion": "0.0.0", "port": "3567" @@ -3429,6 +3652,7 @@ "magic-link", "passwordless" ], + "category": "auth", "logo": "svgs/supertokens.svg", "minversion": "0.0.0", "port": "3567" @@ -3442,6 +3666,7 @@ "data", "synchronization" ], + "category": "storage", "logo": "svgs/syncthing.svg", "minversion": "0.0.0", "port": "8384" @@ -3459,6 +3684,7 @@ "relational", "postgresql" ], + "category": "productivity", "logo": "svgs/teable.png", "minversion": "0.0.0", "port": "3000" @@ -3473,6 +3699,7 @@ "management", "platform" ], + "category": "productivity", "logo": "svgs/tolgee.svg", "minversion": "0.0.0", "port": "8080" @@ -3488,6 +3715,7 @@ "open", "source" ], + "category": "monitoring", "logo": "svgs/traccar.png", "minversion": "0.0.0", "port": "8082" @@ -3501,6 +3729,7 @@ "torrent", "peer-to-peer" ], + "category": "media", "logo": "svgs/transmission.svg", "minversion": "0.0.0", "port": "9091" @@ -3518,6 +3747,7 @@ "cron", "scheduler" ], + "category": "automation", "logo": "svgs/trigger.png", "minversion": "0.0.0", "port": "3000" @@ -3535,6 +3765,7 @@ "cron", "scheduler" ], + "category": "automation", "logo": "svgs/trigger.png", "minversion": "0.0.0", "port": "3000" @@ -3551,6 +3782,7 @@ "markdown", "wiki" ], + "category": "productivity", "logo": "svgs/triliumnext.svg", "minversion": "0.0.0", "port": "8080" @@ -3565,6 +3797,7 @@ "search-api", "elasticsearch-alternative" ], + "category": "search", "logo": "svgs/typesense.png", "minversion": "0.0.0", "port": "8108" @@ -3578,6 +3811,7 @@ "insights", "privacy" ], + "category": "analytics", "logo": "svgs/umami.svg", "minversion": "0.0.0", "port": "3000" @@ -3593,6 +3827,7 @@ "ab testing", "open source" ], + "category": "productivity", "logo": "svgs/unleash.svg", "minversion": "0.0.0", "port": "4242" @@ -3608,6 +3843,7 @@ "ab testing", "open source" ], + "category": "productivity", "logo": "svgs/unleash.svg", "minversion": "0.0.0", "port": "4242" @@ -3624,6 +3860,7 @@ "self-hosting", "postmark" ], + "category": "messaging", "logo": "svgs/unsend.svg", "minversion": "0.0.0", "port": "3000" @@ -3645,6 +3882,7 @@ "ocr", "data-extraction" ], + "category": "ai", "logo": "svgs/unstructured.png", "minversion": "0.0.0", "port": "8000" @@ -3662,6 +3900,7 @@ "applications", "real-time" ], + "category": "monitoring", "logo": "svgs/uptime-kuma.svg", "minversion": "0.0.0", "port": "3001" @@ -3674,6 +3913,7 @@ "password manager", "security" ], + "category": "auth", "logo": "svgs/bitwarden.svg", "minversion": "0.0.0", "port": "80" @@ -3690,6 +3930,7 @@ "ffmpeg", "wasm" ], + "category": "devtools", "logo": "svgs/vert.png", "minversion": "0.0.0", "port": "80" @@ -3702,6 +3943,7 @@ "productivity", "todo" ], + "category": "productivity", "logo": "svgs/vikunja.svg", "minversion": "0.0.0", "port": "3456" @@ -3714,6 +3956,7 @@ "productivity", "todo" ], + "category": "productivity", "logo": "svgs/vikunja.svg", "minversion": "0.0.0", "port": "3456" @@ -3734,6 +3977,7 @@ "sqlite", "pgsql" ], + "category": "cms", "logo": "svgs/vvveb.svg", "minversion": "0.0.0", "port": "80" @@ -3754,6 +3998,7 @@ "sqlite", "pgsql" ], + "category": "cms", "logo": "svgs/vvveb.svg", "minversion": "0.0.0", "port": "80" @@ -3774,6 +4019,7 @@ "sqlite", "pgsql" ], + "category": "cms", "logo": "svgs/vvveb.svg", "minversion": "0.0.0", "port": "80" @@ -3794,6 +4040,7 @@ "timetracking", "analytics" ], + "category": "analytics", "logo": "svgs/wakapi.svg", "minversion": "0.0.0", "port": "3000" @@ -3811,6 +4058,7 @@ "embeddings", "llm" ], + "category": "ai", "logo": "svgs/weaviate.png", "minversion": "0.0.0", "port": "8080" @@ -3824,6 +4072,7 @@ "website", "analysis" ], + "category": "monitoring", "logo": "svgs/web-check.png", "minversion": "0.0.0", "port": "3000" @@ -3841,6 +4090,7 @@ "libre", "software" ], + "category": "productivity", "logo": "svgs/weblate.webp", "minversion": "0.0.0", "port": "8080" @@ -3853,6 +4103,7 @@ "privacy", "search engine" ], + "category": "search", "logo": "svgs/whoogle.png", "minversion": "0.0.0", "port": "5000" @@ -3866,6 +4117,7 @@ "collaboration", "documentation" ], + "category": "cms", "logo": "svgs/wikijs.svg", "minversion": "0.0.0", "port": "80" @@ -3881,6 +4133,7 @@ "developer", "platform" ], + "category": "automation", "logo": "svgs/windmill.svg", "minversion": "0.0.0", "port": "8000" @@ -3896,6 +4149,7 @@ "panel", "minecraft" ], + "category": "devtools", "logo": "svgs/pterodactyl.png", "minversion": "0.0.0", "port": "8443" @@ -3910,6 +4164,7 @@ "web", "admin" ], + "category": "vps", "logo": "svgs/wireguard.svg", "minversion": "0.0.0", "port": "8000" @@ -3925,6 +4180,7 @@ "management", "mariadb" ], + "category": "cms", "logo": "svgs/wordpress.svg", "minversion": "0.0.0" }, @@ -3939,6 +4195,7 @@ "management", "mysql" ], + "category": "cms", "logo": "svgs/wordpress.svg", "minversion": "0.0.0" }, @@ -3952,6 +4209,7 @@ "content", "management" ], + "category": "cms", "logo": "svgs/wordpress.svg", "minversion": "0.0.0" }, @@ -3972,6 +4230,7 @@ "books", "comics" ], + "category": "productivity", "logo": "svgs/yamtrack.svg", "minversion": "0.0.0", "port": "8000" @@ -3993,6 +4252,7 @@ "books", "comics" ], + "category": "productivity", "logo": "svgs/yamtrack.svg", "minversion": "0.0.0", "port": "8000" @@ -4007,6 +4267,7 @@ "upload", "sharing" ], + "category": "media", "logo": "svgs/zipline.png", "minversion": "0.0.0", "port": "3000" @@ -4022,6 +4283,7 @@ "files", "directories" ], + "category": "backend", "logo": "svgs/convertx.png", "minversion": "0.0.0", "port": "3000" @@ -4036,6 +4298,7 @@ "data", "analysis" ], + "category": "devtools", "logo": "svgs/marimo.svg", "minversion": "0.0.0", "port": "8080" diff --git a/templates/service-templates.json b/templates/service-templates.json index 375c136b8..ccbf2b91c 100644 --- a/templates/service-templates.json +++ b/templates/service-templates.json @@ -9,6 +9,7 @@ "no code", "open source" ], + "category": "automation", "logo": "svgs/activepieces.png", "minversion": "0.0.0", "port": "80" @@ -26,6 +27,7 @@ "expenses", "income" ], + "category": "productivity", "logo": "svgs/actualbudget.png", "minversion": "0.0.0", "port": "5006" @@ -40,6 +42,7 @@ "miro", "workspace" ], + "category": "productivity", "logo": "svgs/affine.svg", "minversion": "0.0.0", "port": "3010" @@ -62,6 +65,7 @@ "team", "bot" ], + "category": "ai", "logo": "svgs/anythingllm.svg", "minversion": "0.0.0", "port": "3001" @@ -74,6 +78,7 @@ "api", "apprise" ], + "category": "automation", "logo": "svgs/apprise.png", "minversion": "0.0.0", "port": "8000" @@ -89,6 +94,7 @@ "low", "platform" ], + "category": "productivity", "logo": "svgs/appsmith.svg", "minversion": "0.0.0" }, @@ -101,6 +107,7 @@ "backend-as-a-service", "platform" ], + "category": "backend", "logo": "svgs/appwrite.svg", "minversion": "0.0.0" }, @@ -122,6 +129,7 @@ "data-science", "nlp" ], + "category": "productivity", "logo": "svgs/argilla.png", "minversion": "0.0.0", "port": "6900" @@ -137,6 +145,7 @@ "server", "self-hosted" ], + "category": "media", "logo": "svgs/audiobookshelf.svg", "minversion": "0.0.0", "port": "80" @@ -157,6 +166,7 @@ "auth0", "okta" ], + "category": "auth", "logo": "svgs/authentik.png", "minversion": "0.0.0", "port": "9000" @@ -172,6 +182,7 @@ "growth", "activities" ], + "category": "productivity", "logo": "svgs/babybuddy.png", "minversion": "0.0.0" }, @@ -186,6 +197,7 @@ "stats", "alerts" ], + "category": "monitoring", "logo": "svgs/beszel.svg", "minversion": "0.0.0", "port": "8090" @@ -200,6 +212,7 @@ "blockchain", "bitcoin" ], + "category": "backend", "logo": "svgs/bitcoin.svg", "minversion": "0.0.0" }, @@ -212,6 +225,7 @@ "pds", "platform" ], + "category": "backend", "logo": "svgs/bluesky.svg", "minversion": "0.0.0", "port": "3000" @@ -230,6 +244,7 @@ "diagramms", "notes" ], + "category": "cms", "logo": "svgs/bookstack.png", "minversion": "0.0.0", "port": "80" @@ -244,6 +259,7 @@ "browser", "service" ], + "category": "devtools", "logo": "svgs/browserless.svg", "minversion": "0.0.0", "port": "3000" @@ -257,6 +273,7 @@ "budgeting", "expense tracking" ], + "category": "productivity", "logo": "svgs/budge.png", "minversion": "0.0.0" }, @@ -277,6 +294,7 @@ "docker", "kubernetes" ], + "category": "automation", "logo": "svgs/budibase.svg", "minversion": "0.0.0", "port": "10000" @@ -291,6 +309,7 @@ "django", "mysql" ], + "category": "monitoring", "logo": "svgs/bugsink.svg", "minversion": "0.0.0", "port": "8000" @@ -306,6 +325,7 @@ "open", "source" ], + "category": "productivity", "logo": "svgs/calcom.svg", "minversion": "0.0.0", "port": "3000" @@ -325,6 +345,7 @@ "book", "reader" ], + "category": "media", "logo": "svgs/calibre-web.svg", "minversion": "0.0.0", "port": "8083" @@ -343,6 +364,7 @@ "platform", "castopod" ], + "category": "media", "logo": "svgs/castopod.svg", "minversion": "0.0.0", "port": "8000" @@ -356,6 +378,7 @@ "alert", "monitor" ], + "category": "monitoring", "logo": "svgs/changedetection.png", "minversion": "0.0.0", "port": "5000" @@ -378,6 +401,7 @@ "postgresql", "sidekiq" ], + "category": "cms", "logo": "svgs/chaskiq.png", "minversion": "0.0.0", "port": "3000" @@ -397,6 +421,7 @@ "postgresql", "sidekiq" ], + "category": "cms", "logo": "svgs/chatwoot.svg", "minversion": "0.0.0", "port": "3000" @@ -411,6 +436,7 @@ "uptime", "healthcheck" ], + "category": "monitoring", "logo": "svgs/checkmate.png", "minversion": "0.0.0", "port": "80" @@ -428,6 +454,7 @@ "embeddings", "llm" ], + "category": "ai", "logo": "svgs/chroma.svg", "minversion": "0.0.0", "port": "8000" @@ -442,6 +469,7 @@ "content", "management" ], + "category": "cms", "logo": "svgs/classicpress.svg", "minversion": "0.0.0" }, @@ -455,6 +483,7 @@ "content", "management" ], + "category": "cms", "logo": "svgs/classicpress.svg", "minversion": "0.0.0" }, @@ -468,6 +497,7 @@ "content", "management" ], + "category": "cms", "logo": "svgs/classicpress.svg", "minversion": "0.0.0" }, @@ -486,6 +516,7 @@ "sql", "mongodb" ], + "category": "devtools", "logo": "svgs/cloudbeaver.svg", "minversion": "0.0.0", "port": "8978" @@ -495,6 +526,7 @@ "slogan": "Client for Cloudflare Tunnel, a daemon that exposes private services through the Cloudflare edge.", "compose": "c2VydmljZXM6CiAgY2xvdWRmbGFyZWQ6CiAgICBjb250YWluZXJfbmFtZTogY2xvdWRmbGFyZS10dW5uZWwKICAgIGltYWdlOiAnY2xvdWRmbGFyZS9jbG91ZGZsYXJlZDpsYXRlc3QnCiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZAogICAgbmV0d29ya19tb2RlOiBob3N0CiAgICBjb21tYW5kOiAndHVubmVsIC0tbm8tYXV0b3VwZGF0ZSBydW4nCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnVFVOTkVMX1RPS0VOPSR7Q0xPVURGTEFSRV9UVU5ORUxfVE9LRU59JwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQKICAgICAgICAtIGNsb3VkZmxhcmVkCiAgICAgICAgLSAnLS12ZXJzaW9uJwogICAgICBpbnRlcnZhbDogNXMKICAgICAgdGltZW91dDogMjBzCiAgICAgIHJldHJpZXM6IDEwCg==", "tags": null, + "category": "proxy", "logo": "svgs/cloudflared.svg", "minversion": "0.0.0" }, @@ -509,6 +541,7 @@ "database", "nosql" ], + "category": "cms", "logo": "svgs/cockpit.svg", "minversion": "0.0.0", "port": "80" @@ -523,6 +556,7 @@ "remote", "collaboration" ], + "category": "devtools", "logo": "svgs/code-server.svg", "minversion": "0.0.0", "port": "8443" @@ -540,6 +574,7 @@ "realtime-collaboration", "notes" ], + "category": "productivity", "logo": "svgs/codimd.png", "minversion": "0.0.0", "port": "3000" @@ -560,6 +595,7 @@ "bot", "flows" ], + "category": "backend", "logo": "svgs/convex.svg", "minversion": "0.0.0", "port": "6791" @@ -577,6 +613,7 @@ "file", "sharing" ], + "category": "security", "logo": "svgs/cryptgeon.png", "minversion": "0.0.0", "port": "8000" @@ -593,6 +630,7 @@ "tools", "development" ], + "category": "security", "logo": "svgs/cyberchef.jpeg", "minversion": "0.0.0", "port": "80" @@ -606,6 +644,7 @@ "personal", "self-hostable" ], + "category": "productivity", "logo": "svgs/dashy.png", "minversion": "0.0.0", "port": "8080" @@ -620,6 +659,7 @@ "key-value", "database" ], + "category": "database", "logo": "svgs/denokv.svg", "minversion": "0.0.0", "port": "4512" @@ -634,6 +674,7 @@ "database", "sql" ], + "category": "cms", "logo": "svgs/directus.svg", "minversion": "0.0.0", "port": "8055" @@ -648,6 +689,7 @@ "database", "sql" ], + "category": "cms", "logo": "svgs/directus.svg", "minversion": "0.0.0", "port": "8055" @@ -661,6 +703,7 @@ "notifier", "slack" ], + "category": "automation", "logo": "svgs/diun.svg", "minversion": "0.0.0" }, @@ -673,6 +716,7 @@ "images", "docker" ], + "category": "devtools", "logo": "svgs/docker-registry.png", "minversion": "0.0.0", "port": "5000" @@ -691,6 +735,7 @@ "realtime-collaboration", "notion-alternative" ], + "category": "productivity", "logo": "svgs/docmost.png", "minversion": "0.0.0", "port": "3000" @@ -710,6 +755,7 @@ "pdf-signing", "docusign" ], + "category": "productivity", "logo": "svgs/documenso.png", "minversion": "0.0.0", "port": "3000" @@ -721,6 +767,7 @@ "tags": [ "documentation" ], + "category": "productivity", "logo": "svgs/docuseal.png", "minversion": "0.0.0", "port": "3000" @@ -732,6 +779,7 @@ "tags": [ "documentation" ], + "category": "productivity", "logo": "svgs/docuseal.png", "minversion": "0.0.0", "port": "3000" @@ -746,6 +794,7 @@ "knowledge", "base" ], + "category": "cms", "logo": "svgs/dokuwiki.png", "minversion": "0.0.0" }, @@ -757,6 +806,7 @@ "crm", "erp" ], + "category": "cms", "logo": "svgs/dolibarr.png", "minversion": "0.0.0", "port": "80" @@ -771,6 +821,7 @@ "logs", "web-ui" ], + "category": "devtools", "logo": "svgs/dozzle.svg", "minversion": "0.0.0", "port": "8080" @@ -785,6 +836,7 @@ "logs", "web-ui" ], + "category": "devtools", "logo": "svgs/dozzle.svg", "minversion": "0.0.0", "port": "8080" @@ -800,6 +852,7 @@ "open-source", "low-code" ], + "category": "backend", "logo": "svgs/drizzle.jpeg", "minversion": "0.0.0", "port": "4983" @@ -815,6 +868,7 @@ "management", "postgresql" ], + "category": "cms", "logo": "svgs/drupal.svg", "minversion": "0.0.0" }, @@ -826,6 +880,7 @@ "backup", "encryption" ], + "category": "storage", "logo": "svgs/duplicati.webp", "minversion": "0.0.0", "port": "8200" @@ -839,6 +894,7 @@ "scheduling", "database" ], + "category": "productivity", "logo": "svgs/easyappointments.png", "minversion": "0.0.0", "port": "80" @@ -854,6 +910,7 @@ "tv", "music" ], + "category": "media", "logo": "svgs/emby.png", "minversion": "0.0.0", "port": "8096" @@ -869,6 +926,7 @@ "tv", "music" ], + "category": "media", "logo": "svgs/default.webp", "minversion": "0.0.0", "port": "6555" @@ -886,6 +944,7 @@ "postgres", "redis" ], + "category": "backend", "logo": "svgs/evolution-api.svg", "minversion": "0.0.0", "port": "8080" @@ -901,6 +960,7 @@ "productivity", "whiteboard" ], + "category": "productivity", "logo": "svgs/excalidraw.svg", "minversion": "0.0.0", "port": "80" @@ -914,6 +974,7 @@ "management", "tool" ], + "category": "security", "logo": "svgs/faraday.png", "minversion": "0.0.0", "port": "5985" @@ -926,6 +987,7 @@ "feedback", "user-feedback" ], + "category": "productivity", "logo": "svgs/fider.svg", "minversion": "0.0.0", "port": "3000" @@ -941,6 +1003,7 @@ "file-utilization", "administration-tool" ], + "category": "storage", "logo": "svgs/filebrowser.svg", "minversion": "0.0.0", "port": "80" @@ -955,6 +1018,7 @@ "convert", "h265" ], + "category": "media", "logo": "svgs/fileflows.svg", "minversion": "0.0.0", "port": "5000" @@ -969,6 +1033,7 @@ "personal", "manager" ], + "category": "productivity", "logo": "svgs/firefly.svg", "minversion": "0.0.0", "port": "8080" @@ -982,6 +1047,7 @@ "web", "privacy" ], + "category": "productivity", "logo": "svgs/firefox.svg", "minversion": "0.0.0", "port": "5800" @@ -996,6 +1062,7 @@ "ci", "cd" ], + "category": "backend", "logo": "svgs/flipt.svg", "minversion": "0.0.0", "port": "8080" @@ -1020,6 +1087,7 @@ "bot", "flows" ], + "category": "ai", "logo": "svgs/flowise.png", "minversion": "0.0.0", "port": "3001" @@ -1044,6 +1112,7 @@ "bot", "flows" ], + "category": "ai", "logo": "svgs/flowise.png", "minversion": "0.0.0", "port": "3001" @@ -1060,6 +1129,7 @@ "lightweight", "mariadb" ], + "category": "git", "logo": "svgs/forgejo.svg", "minversion": "0.0.0", "port": "3000" @@ -1076,6 +1146,7 @@ "lightweight", "mysql" ], + "category": "git", "logo": "svgs/forgejo.svg", "minversion": "0.0.0", "port": "3000" @@ -1092,6 +1163,7 @@ "lightweight", "postgresql" ], + "category": "git", "logo": "svgs/forgejo.svg", "minversion": "0.0.0", "port": "3000" @@ -1107,6 +1179,7 @@ "hosting", "lightweight" ], + "category": "git", "logo": "svgs/forgejo.svg", "minversion": "0.0.0", "port": "3000" @@ -1126,6 +1199,7 @@ "self-hosted", "docker" ], + "category": "analytics", "logo": "svgs/formbricks.png", "minversion": "0.0.0", "port": "3000" @@ -1141,6 +1215,7 @@ "ttrpg", "roleplaying" ], + "category": "media", "logo": "svgs/foundryvtt.png", "minversion": "0.0.0", "port": "30000" @@ -1155,6 +1230,7 @@ "ticketing", "customer-support" ], + "category": "cms", "logo": "svgs/freescout.png", "minversion": "0.0.0", "port": "80" @@ -1167,6 +1243,7 @@ "rss", "feed" ], + "category": "cms", "logo": "svgs/freshrss.png", "minversion": "0.0.0", "port": "80" @@ -1179,6 +1256,7 @@ "rss", "feed" ], + "category": "cms", "logo": "svgs/freshrss.png", "minversion": "0.0.0", "port": "80" @@ -1191,6 +1269,7 @@ "rss", "feed" ], + "category": "cms", "logo": "svgs/freshrss.png", "minversion": "0.0.0", "port": "80" @@ -1203,6 +1282,7 @@ "rss", "feed" ], + "category": "cms", "logo": "svgs/freshrss.png", "minversion": "0.0.0", "port": "80" @@ -1215,6 +1295,7 @@ "knowledge base", "documentation" ], + "category": "productivity", "logo": "svgs/getoutline.jpeg", "minversion": "0.0.0", "port": "3000" @@ -1230,6 +1311,7 @@ "management", "system" ], + "category": "cms", "logo": "svgs/ghost.svg", "minversion": "0.0.0", "port": "2368" @@ -1246,6 +1328,7 @@ "lightweight", "mariadb" ], + "category": "git", "logo": "svgs/gitea.svg", "minversion": "0.0.0" }, @@ -1261,6 +1344,7 @@ "lightweight", "mysql" ], + "category": "git", "logo": "svgs/gitea.svg", "minversion": "0.0.0" }, @@ -1276,6 +1360,7 @@ "lightweight", "postgresql" ], + "category": "git", "logo": "svgs/gitea.svg", "minversion": "0.0.0" }, @@ -1290,6 +1375,7 @@ "hosting", "lightweight" ], + "category": "git", "logo": "svgs/gitea.svg", "minversion": "0.0.0" }, @@ -1303,6 +1389,7 @@ "runner", "docker" ], + "category": "devtools", "logo": "svgs/github-runner.png", "minversion": "0.0.0" }, @@ -1333,6 +1420,7 @@ "deploymentautomation", "securityintegration" ], + "category": "git", "logo": "svgs/gitlab.svg", "minversion": "0.0.0", "port": "80" @@ -1348,6 +1436,7 @@ "interface", "rrss" ], + "category": "monitoring", "logo": "svgs/glance.png", "minversion": "0.0.0", "port": "8080" @@ -1359,6 +1448,7 @@ "tags": [ "monitoring tool python cross platform" ], + "category": "monitoring", "logo": "svgs/glances.png", "minversion": "0.0.0", "port": "61208" @@ -1374,6 +1464,7 @@ "self-hosted", "sentry" ], + "category": "monitoring", "logo": "svgs/glitchtip.png", "minversion": "0.0.0", "port": "8080" @@ -1388,6 +1479,7 @@ "pdf", "tool" ], + "category": "devtools", "logo": "svgs/gotenberg.png", "minversion": "0.0.0", "port": "3000" @@ -1403,6 +1495,7 @@ "api", "go-whatsapp" ], + "category": "cms", "logo": "svgs/gowa.svg", "minversion": "0.0.0", "port": "3000" @@ -1417,6 +1510,7 @@ "monitoring", "dashboard" ], + "category": "monitoring", "logo": "svgs/grafana.svg", "minversion": "0.0.0", "port": "3000" @@ -1431,6 +1525,7 @@ "monitoring", "dashboard" ], + "category": "monitoring", "logo": "svgs/grafana.svg", "minversion": "0.0.0", "port": "3000" @@ -1446,6 +1541,7 @@ "database", "relational" ], + "category": "productivity", "logo": "svgs/grist.svg", "minversion": "0.0.0", "port": "443" @@ -1461,6 +1557,7 @@ "grocery", "shopping" ], + "category": "productivity", "logo": "svgs/grocy.svg", "minversion": "0.0.0" }, @@ -1474,6 +1571,7 @@ "applications", "interface" ], + "category": "productivity", "logo": "svgs/heimdall.svg", "minversion": "0.0.0" }, @@ -1491,6 +1589,7 @@ "self-hosted", "docker" ], + "category": "productivity", "logo": "svgs/heyform.svg", "minversion": "0.0.0", "port": "8000" @@ -1504,6 +1603,7 @@ "self-hosted", "homepage" ], + "category": "productivity", "logo": "svgs/homarr.svg", "minversion": "0.0.0", "port": "7575" @@ -1517,6 +1617,7 @@ "home", "organize" ], + "category": "storage", "logo": "svgs/homebox.svg", "minversion": "0.0.0", "port": "7745" @@ -1529,6 +1630,7 @@ "dashboard", "homepage" ], + "category": "productivity", "logo": "svgs/homepage.png", "minversion": "0.0.0", "port": "3000" @@ -1542,6 +1644,7 @@ "development", "platform" ], + "category": "devtools", "logo": "svgs/hoppscotch.png", "minversion": "0.0.0", "port": "80" @@ -1562,6 +1665,7 @@ "face", "recognition" ], + "category": "media", "logo": "svgs/immich.svg", "minversion": "0.0.0", "port": "2283" @@ -1583,6 +1687,7 @@ "auth", "encryption" ], + "category": "security", "logo": "svgs/infisical.png", "minversion": "0.0.0", "port": "8080" @@ -1598,6 +1703,7 @@ "finance", "self-hosted" ], + "category": "productivity", "logo": "svgs/invoiceninja.png", "minversion": "0.0.0", "port": "9000" @@ -1611,6 +1717,7 @@ "management", "self-hosted" ], + "category": "devtools", "logo": "svgs/it-tools.svg", "minversion": "0.0.0", "port": "80" @@ -1626,6 +1733,7 @@ "tv", "music" ], + "category": "media", "logo": "svgs/jellyfin.svg", "minversion": "0.0.0", "port": "8096" @@ -1639,6 +1747,7 @@ "automation", "open-source" ], + "category": "ci", "logo": "svgs/jenkins.svg", "minversion": "0.0.0", "port": "8080" @@ -1654,6 +1763,7 @@ "management", "mariadb" ], + "category": "cms", "logo": "svgs/joomla.svg", "minversion": "0.0.0", "port": "80" @@ -1665,6 +1775,7 @@ "tags": [ "joplin" ], + "category": "productivity", "logo": "svgs/joplin.png", "minversion": "0.0.0", "port": "22300" @@ -1679,6 +1790,7 @@ "data", "analysis" ], + "category": "devtools", "logo": "svgs/jupyter.svg", "minversion": "0.0.0", "port": "8888" @@ -1694,6 +1806,7 @@ "omnivore-alternative", "instapaper-alternative" ], + "category": "productivity", "logo": "svgs/karakeep.svg", "minversion": "0.0.0", "port": "3000" @@ -1721,6 +1834,7 @@ "jwt", "social-login" ], + "category": "auth", "logo": "svgs/keycloak.svg", "minversion": "0.0.0", "port": "8080" @@ -1748,6 +1862,7 @@ "jwt", "social-login" ], + "category": "auth", "logo": "svgs/keycloak.svg", "minversion": "0.0.0", "port": "8080" @@ -1760,6 +1875,7 @@ "time-tracking", "open-source" ], + "category": "productivity", "logo": "svgs/kimai.svg", "minversion": "0.0.0", "port": "8001" @@ -1780,6 +1896,7 @@ "geofencing", "low-code" ], + "category": "backend", "logo": "svgs/kuzzle.png", "minversion": "0.0.0", "port": "7512" @@ -1804,6 +1921,7 @@ "images", "vision" ], + "category": "ai", "logo": "svgs/labelstudio.png", "minversion": "0.0.0", "port": "8080" @@ -1827,6 +1945,7 @@ "observation", "metrics" ], + "category": "ai", "logo": "svgs/langfuse.svg", "minversion": "0.0.0", "port": "3000" @@ -1843,6 +1962,7 @@ "laravel", "open source" ], + "category": "productivity", "logo": "svgs/leantime.svg", "minversion": "0.0.0", "port": "8080" @@ -1864,6 +1984,7 @@ "ollama", "llm" ], + "category": "ai", "logo": "svgs/librechat.svg", "minversion": "0.0.0", "port": "3080" @@ -1879,6 +2000,7 @@ "presentation", "open-source" ], + "category": "productivity", "logo": "svgs/libreoffice.svg", "minversion": "0.0.0", "port": "3000" @@ -1891,6 +2013,7 @@ "translate", "api" ], + "category": "ai", "logo": "svgs/libretranslate.svg", "minversion": "0.0.0", "port": "5000" @@ -1905,6 +2028,7 @@ "no code", "open source" ], + "category": "productivity", "logo": "svgs/limesurvey.svg", "minversion": "0.0.0", "port": "80" @@ -1919,6 +2043,7 @@ "self-hosted", "open source" ], + "category": "email", "logo": "svgs/listmonk.svg", "minversion": "0.0.0", "port": "9000" @@ -1944,6 +2069,7 @@ "replicate", "groq" ], + "category": "ai", "logo": "svgs/litellm.svg", "minversion": "0.0.0", "port": "4000" @@ -1959,6 +2085,7 @@ "vps", "database" ], + "category": "database", "logo": "svgs/litequeen.svg", "minversion": "0.0.0", "port": "8000" @@ -1976,6 +2103,7 @@ "oidc", "openid" ], + "category": "auth", "logo": "svgs/logto_dark.svg", "minversion": "0.0.0" }, @@ -1994,6 +2122,7 @@ "low", "code" ], + "category": "productivity", "logo": "svgs/lowcoder.svg", "minversion": "0.0.0", "port": "3000" @@ -2008,6 +2137,7 @@ "testing", "smtp" ], + "category": "email", "logo": "svgs/mailpit.svg", "minversion": "0.0.0", "port": "8025" @@ -2021,6 +2151,7 @@ "vector", "tiles" ], + "category": "backend", "logo": "svgs/martin.png", "minversion": "0.0.0", "port": "3000" @@ -2037,6 +2168,7 @@ "video", "call" ], + "category": "messaging", "logo": "svgs/matrix.svg", "minversion": "0.0.0", "port": "8008" @@ -2050,6 +2182,7 @@ "slack", "alternative" ], + "category": "mattermost", "logo": "svgs/mattermost.svg", "minversion": "0.0.0", "port": "8065" @@ -2070,6 +2203,7 @@ "source", "crm" ], + "category": "analytics", "logo": "svgs/mautic.svg", "minversion": "0.0.0", "port": "80" @@ -2087,6 +2221,7 @@ "open", "source" ], + "category": "productivity", "logo": "svgs/maybe.svg", "minversion": "0.0.0", "port": "3000" @@ -2101,6 +2236,7 @@ "cooking", "food" ], + "category": "productivity", "logo": "svgs/mealie.png", "minversion": "0.0.0", "port": "9000" @@ -2114,6 +2250,7 @@ "collaboration", "documentation" ], + "category": "cms", "logo": "svgs/mediawiki.ico", "minversion": "0.0.0", "port": "80" @@ -2130,6 +2267,7 @@ "text", "meilisearch" ], + "category": "search", "logo": "svgs/meilisearch.svg", "minversion": "0.0.0", "port": "7700" @@ -2144,6 +2282,7 @@ "social-network", "markdown" ], + "category": "productivity", "logo": "svgs/memos.png", "minversion": "0.0.0", "port": "5230" @@ -2158,6 +2297,7 @@ "business", "intelligence" ], + "category": "analytics", "logo": "svgs/metabase.svg", "minversion": "0.0.0", "port": "3000" @@ -2172,6 +2312,7 @@ "videos", "playlist" ], + "category": "media", "logo": "svgs/default.webp", "minversion": "0.0.0", "port": "8081" @@ -2186,6 +2327,7 @@ "machine-learning", "ai" ], + "category": "ai", "logo": "svgs/mindsdb.svg", "minversion": "0.0.0", "port": "47334" @@ -2197,6 +2339,7 @@ "tags": [ "minecraft" ], + "category": "media", "logo": "svgs/minecraft.svg", "minversion": "0.0.0", "port": "25565" @@ -2212,6 +2355,7 @@ "self", "hosted" ], + "category": "cms", "logo": "svgs/miniflux.svg", "minversion": "0.0.0", "port": "8080" @@ -2227,6 +2371,7 @@ "s3", "api" ], + "category": "storage", "logo": "svgs/minio.svg", "minversion": "0.0.0" }, @@ -2242,6 +2387,7 @@ "automation", "self-hosted" ], + "category": "analytics", "logo": "svgs/mixpost.svg", "minversion": "0.0.0", "port": "80" @@ -2261,6 +2407,7 @@ "low", "code" ], + "category": "cms", "logo": "svgs/moodle.png", "minversion": "0.0.0", "port": "8080" @@ -2274,6 +2421,7 @@ "mqtt", "open-source" ], + "category": "messaging", "logo": "svgs/mosquitto.svg", "minversion": "0.0.0", "port": "1883" @@ -2291,6 +2439,7 @@ "low", "code" ], + "category": "automation", "logo": "svgs/n8n.png", "minversion": "0.0.0", "port": "5678" @@ -2308,6 +2457,7 @@ "low", "code" ], + "category": "automation", "logo": "svgs/n8n.png", "minversion": "0.0.0", "port": "5678" @@ -2322,6 +2472,7 @@ "music", "subsonic" ], + "category": "media", "logo": "svgs/navidrome.svg", "minversion": "0.0.0", "port": "4533" @@ -2335,6 +2486,7 @@ "neon", "postgresql" ], + "category": "proxy", "logo": "svgs/neon.svg", "minversion": "0.0.0", "port": "80, 2112" @@ -2350,6 +2502,7 @@ "zero-trust-network-access", "open source" ], + "category": "vpn", "logo": "svgs/netbird.png", "minversion": "0.0.0" }, @@ -2363,6 +2516,7 @@ "transformation", "service" ], + "category": "media", "logo": "coolify-logo.svg", "minversion": "0.0.0", "port": "3000" @@ -2378,6 +2532,7 @@ "filestorage", "data" ], + "category": "storage", "logo": "svgs/nextcloud.svg", "minversion": "0.0.0", "port": "80" @@ -2393,6 +2548,7 @@ "filestorage", "data" ], + "category": "storage", "logo": "svgs/nextcloud.svg", "minversion": "0.0.0", "port": "80" @@ -2408,6 +2564,7 @@ "filestorage", "data" ], + "category": "storage", "logo": "svgs/nextcloud.svg", "minversion": "0.0.0", "port": "80" @@ -2423,6 +2580,7 @@ "filestorage", "data" ], + "category": "storage", "logo": "svgs/nextcloud.svg", "minversion": "0.0.0", "port": "80" @@ -2440,6 +2598,7 @@ "registry", "container" ], + "category": "devtools", "logo": "svgs/nexus.png", "minversion": "0.0.0", "port": "8081" @@ -2457,6 +2616,7 @@ "registry", "container" ], + "category": "devtools", "logo": "svgs/nexus.png", "minversion": "0.0.0", "port": "8081" @@ -2474,6 +2634,7 @@ "content", "management" ], + "category": "cms", "logo": "svgs/nitropage.svg", "minversion": "0.0.0", "port": "3000" @@ -2491,6 +2652,7 @@ "content", "management" ], + "category": "cms", "logo": "svgs/nitropage.svg", "minversion": "0.0.0", "port": "3000" @@ -2508,6 +2670,7 @@ "sqlite", "mariadb" ], + "category": "automation", "logo": "svgs/nocodb.svg", "minversion": "0.0.0", "port": "8080" @@ -2521,6 +2684,7 @@ "forums", "discussion" ], + "category": "messaging", "logo": "svgs/nodebb.svg", "minversion": "0.0.0", "port": "4567" @@ -2536,6 +2700,7 @@ "pub-sub", "notify" ], + "category": "messaging", "logo": "svgs/ntfy.svg", "minversion": "0.0.0", "port": "80" @@ -2548,6 +2713,7 @@ "networking", "monitoring" ], + "category": "monitoring", "logo": "svgs/observium.webp", "minversion": "0.0.0", "port": "80" @@ -2567,6 +2733,7 @@ "project management", "open-source" ], + "category": "cms", "logo": "svgs/odoo.svg", "minversion": "0.0.0", "port": "8069" @@ -2583,6 +2750,7 @@ "open-web-ui", "integration" ], + "category": "ai", "logo": "svgs/ollama.svg", "minversion": "0.0.0" }, @@ -2603,6 +2771,7 @@ "repository", "management" ], + "category": "git", "logo": "svgs/onedev.svg", "minversion": "0.0.0", "port": "6610" @@ -2617,6 +2786,7 @@ "secret", "secure" ], + "category": "security", "logo": "svgs/onetimesecret.svg", "minversion": "0.0.0", "port": "3000" @@ -2632,6 +2802,7 @@ "open-web-ui", "integration" ], + "category": "ai", "logo": "svgs/openwebui.svg", "minversion": "0.0.0", "port": "8080" @@ -2649,6 +2820,7 @@ "google", "alternative" ], + "category": "devtools", "logo": "svgs/openpanel.svg", "minversion": "0.0.0", "port": "3000" @@ -2665,6 +2837,7 @@ "orangehrm", "hr management" ], + "category": "cms", "logo": "svgs/orangehrm.svg", "minversion": "0.0.0", "port": "80" @@ -2676,6 +2849,7 @@ "tags": [ "tool" ], + "category": "productivity", "logo": "svgs/organizr.png", "minversion": "0.0.0", "port": "80" @@ -2690,6 +2864,7 @@ "support", "open-source" ], + "category": "cms", "logo": "svgs/osticket.png", "minversion": "0.0.0", "port": "80" @@ -2705,6 +2880,7 @@ "sonarr", "radarr" ], + "category": "media", "logo": "svgs/overseerr.svg", "minversion": "0.0.0", "port": "5055" @@ -2720,6 +2896,7 @@ "integration", "cloud" ], + "category": "storage", "logo": "svgs/owncloud.svg", "minversion": "0.0.0", "port": "8080" @@ -2734,6 +2911,7 @@ "collaboration", "teamwork" ], + "category": "productivity", "logo": "svgs/pairdrop.png", "minversion": "0.0.0", "port": "3000" @@ -2743,6 +2921,7 @@ "slogan": "Paperless-ngx is a community-supported open-source document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.", "compose": "c2VydmljZXM6CiAgcmVkaXM6CiAgICBpbWFnZTogJ3JlZGlzOjcuNCcKICAgIHZvbHVtZXM6CiAgICAgIC0gJ3BhcGVybGVzcy1yZWRpczovZGF0YScKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ECiAgICAgICAgLSByZWRpcy1jbGkKICAgICAgICAtIHBpbmcKICAgICAgdGltZW91dDogMTBzCiAgICAgIHJldHJpZXM6IDMKICBwYXBlcmxlc3M6CiAgICBpbWFnZTogJ3BhcGVybGVzc25neC9wYXBlcmxlc3Mtbmd4OmxhdGVzdCcKICAgIGRlcGVuZHNfb246CiAgICAgIHJlZGlzOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRAogICAgICAgIC0gY3VybAogICAgICAgIC0gJy1mcycKICAgICAgICAtICctUycKICAgICAgICAtICctLW1heC10aW1lJwogICAgICAgIC0gJzInCiAgICAgICAgLSAnaHR0cDovL2xvY2FsaG9zdDo4MDAwJwogICAgICBpbnRlcnZhbDogMzBzCiAgICAgIHRpbWVvdXQ6IDEwcwogICAgICByZXRyaWVzOiA1CiAgICB2b2x1bWVzOgogICAgICAtICdwYXBlcmxlc3MtZGF0YTovdXNyL3NyYy9wYXBlcmxlc3MvZGF0YScKICAgICAgLSAncGFwZXJsZXNzLW1lZGlhOi91c3Ivc3JjL3BhcGVybGVzcy9tZWRpYScKICAgICAgLQogICAgICAgIHR5cGU6IGJpbmQKICAgICAgICBzb3VyY2U6IC4vZXhwb3J0CiAgICAgICAgdGFyZ2V0OiAvdXNyL3NyYy9wYXBlcmxlc3MvZXhwb3J0CiAgICAgICAgaXNfZGlyZWN0b3J5OiB0cnVlCiAgICAgIC0KICAgICAgICB0eXBlOiBiaW5kCiAgICAgICAgc291cmNlOiAuL2NvbnN1bWUKICAgICAgICB0YXJnZXQ6IC91c3Ivc3JjL3BhcGVybGVzcy9jb25zdW1lCiAgICAgICAgaXNfZGlyZWN0b3J5OiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRVJWSUNFX0ZRRE5fUEFQRVJMRVNTXzgwMDAKICAgICAgLSBQQVBFUkxFU1NfVVJMPSRTRVJWSUNFX0ZRRE5fUEFQRVJMRVNTXzgwMDAKICAgICAgLSAnUEFQRVJMRVNTX0FETUlOX1BBU1NXT1JEPSR7U0VSVklDRV9QQVNTV09SRF9QQVBFUkxFU1N9JwogICAgICAtICdQQVBFUkxFU1NfQURNSU5fVVNFUj0ke1NFUlZJQ0VfVVNFUl9QQVBFUkxFU1N9JwogICAgICAtICdQQVBFUkxFU1NfUkVESVM9cmVkaXM6Ly9yZWRpczo2Mzc5JwogICAgICAtICdQQVBFUkxFU1NfU0VDUkVUX0tFWT0ke1NFUlZJQ0VfUkVBTEJBU0U2NF82NF9QQVBFUkxFU1N9Jwo=", "tags": null, + "category": "productivity", "logo": "svgs/paperless.svg", "minversion": "0.0.0", "port": "8000" @@ -2757,6 +2936,7 @@ "password-manager", "open source" ], + "category": "auth", "logo": "svgs/passbolt.svg", "minversion": "0.0.0", "port": "80" @@ -2770,6 +2950,7 @@ "billing", "open source" ], + "category": "cms", "logo": "svgs/paymenter.svg", "minversion": "0.0.0", "port": "80" @@ -2786,6 +2967,7 @@ "open", "source" ], + "category": "productivity", "logo": "svgs/penpot.svg", "minversion": "0.0.0", "port": "8080" @@ -2799,6 +2981,7 @@ "postgresql", "web-interface" ], + "category": "devtools", "logo": "svgs/pgbackweb.svg", "minversion": "0.0.0", "port": "8085" @@ -2810,6 +2993,7 @@ "tags": [ "database management" ], + "category": "database", "logo": "svgs/phpmyadmin.svg", "minversion": "0.0.0" }, @@ -2824,6 +3008,7 @@ "ntp", "dhcp" ], + "category": "proxy", "logo": "svgs/pihole.svg", "minversion": "0.0.0", "port": "80" @@ -2839,6 +3024,7 @@ "cloud", "sharing" ], + "category": "storage", "logo": "svgs/pingvinshare.svg", "minversion": "0.0.0", "port": "3000" @@ -2854,6 +3040,7 @@ "cloud", "sharing" ], + "category": "storage", "logo": "svgs/pingvinshare.svg", "minversion": "0.0.0", "port": "3000" @@ -2875,6 +3062,7 @@ "django", "pm" ], + "category": "productivity", "logo": "svgs/plane.svg", "minversion": "0.0.0" }, @@ -2889,6 +3077,7 @@ "tv", "music" ], + "category": "media", "logo": "svgs/plex.svg", "minversion": "0.0.0", "port": "32400" @@ -2903,6 +3092,7 @@ "automation", "aws" ], + "category": "automation", "logo": "svgs/plunk.svg", "minversion": "0.0.0", "port": "3000" @@ -2918,6 +3108,7 @@ "mobile", "api" ], + "category": "backend", "logo": "svgs/pocketbase.svg", "minversion": "0.0.0", "port": "8080" @@ -2931,6 +3122,7 @@ "management", "ui" ], + "category": "devtools", "logo": "svgs/portainer.png", "minversion": "0.0.0", "port": "9000" @@ -2947,6 +3139,7 @@ "ab-testing", "event-tracking" ], + "category": "analytics", "logo": "svgs/posthog.svg", "minversion": "4.0.0-beta.222" }, @@ -2959,6 +3152,7 @@ "social media", "planning" ], + "category": "analytics", "logo": "svgs/postiz.svg", "minversion": "0.0.0", "port": "5000" @@ -2977,6 +3171,7 @@ "data-integration", "etl" ], + "category": "automation", "logo": "svgs/prefect.png", "minversion": "0.0.0", "port": "4200" @@ -2989,6 +3184,7 @@ "text", "sharing" ], + "category": "security", "logo": "svgs/privatebin.svg", "minversion": "0.0.0", "port": "8080" @@ -3007,6 +3203,7 @@ "nzb", "usenet" ], + "category": "media", "logo": "svgs/prowlarr.svg", "minversion": "0.0.0", "port": "9696" @@ -3022,6 +3219,7 @@ "panel", "minecraft" ], + "category": "media", "logo": "svgs/pterodactyl.png", "minversion": "0.0.0", "port": "80, 8443" @@ -3037,6 +3235,7 @@ "panel", "minecraft" ], + "category": "media", "logo": "svgs/pterodactyl.png", "minversion": "0.0.0", "port": "80" @@ -3050,6 +3249,7 @@ "streaming", "webui" ], + "category": "media", "logo": "svgs/qbittorrent.svg", "minversion": "0.0.0", "port": "8080" @@ -3067,6 +3267,7 @@ "embeddings", "llm" ], + "category": "database", "logo": "svgs/qdrant.png", "minversion": "0.0.0", "port": "6333" @@ -3085,6 +3286,7 @@ "stomp", "messaging" ], + "category": "messaging", "logo": "svgs/rabbitmq.svg", "minversion": "0.0.0", "port": "15672" @@ -3098,6 +3300,7 @@ "server", "movies" ], + "category": "media", "logo": "svgs/radarr.svg", "minversion": "0.0.0", "port": "7878" @@ -3113,6 +3316,7 @@ "meeting", "doodle" ], + "category": "productivity", "logo": "svgs/rallly.svg", "minversion": "0.0.0", "port": "3000" @@ -3127,6 +3331,7 @@ "open-source", "2fa" ], + "category": "productivity", "logo": "svgs/rxresume.svg", "minversion": "0.0.0", "port": "3000" @@ -3141,6 +3346,7 @@ "omnivore-alternative", "instapaper-alternative" ], + "category": "productivity", "logo": "svgs/readeck.svg", "minversion": "0.0.0", "port": "8000" @@ -3153,6 +3359,7 @@ "frontend", "feed" ], + "category": "productivity", "logo": "svgs/redlib.svg", "minversion": "0.0.0", "port": "8080" @@ -3170,6 +3377,7 @@ "open", "source" ], + "category": "messaging", "logo": "svgs/rocketchat.svg", "minversion": "0.0.0", "port": "3000" @@ -3187,6 +3395,7 @@ "media", "fitness" ], + "category": "productivity", "logo": "svgs/ryot.svg", "minversion": "0.0.0", "port": "8000" @@ -3200,6 +3409,7 @@ "file-sharing", "storage" ], + "category": "storage", "logo": "svgs/seafile.svg", "minversion": "0.0.0", "port": "80" @@ -3220,6 +3430,7 @@ "web", "api" ], + "category": "search", "logo": "svgs/searxng.svg", "minversion": "0.0.0", "port": "8080" @@ -3233,6 +3444,7 @@ "sync", "data" ], + "category": "analytics", "logo": "svgs/sequin.svg", "minversion": "0.0.0", "port": "7376" @@ -3250,6 +3462,7 @@ "link", "sharing" ], + "category": "productivity", "logo": "svgs/default.webp", "minversion": "0.0.0", "port": "8080" @@ -3267,6 +3480,7 @@ "link", "sharing" ], + "category": "productivity", "logo": "svgs/default.webp", "minversion": "0.0.0", "port": "5231" @@ -3283,6 +3497,7 @@ "network", "internet" ], + "category": "productivity", "logo": "svgs/default.webp", "minversion": "0.0.0" }, @@ -3296,6 +3511,7 @@ "source", "messaging" ], + "category": "messaging", "logo": "svgs/soketi.jpeg", "minversion": "0.0.0", "port": "6001" @@ -3309,6 +3525,7 @@ "server", "tv" ], + "category": "media", "logo": "svgs/sonarr.svg", "minversion": "0.0.0", "port": "8989" @@ -3330,6 +3547,7 @@ "smtp", "slack" ], + "category": "monitoring", "logo": "svgs/statusnook.svg", "minversion": "0.0.0", "port": "8000" @@ -3344,6 +3562,7 @@ "web", "tool" ], + "category": "productivity", "logo": "svgs/stirling.png", "minversion": "0.0.0", "port": "8080" @@ -3358,6 +3577,7 @@ "mysql", "api" ], + "category": "backend", "logo": "svgs/strapi.svg", "minversion": "0.0.0", "port": "1337" @@ -3371,6 +3591,7 @@ "alternative", "open-source" ], + "category": "backend", "logo": "svgs/supabase.svg", "minversion": "4.0.0-beta.228", "port": "8000" @@ -3387,6 +3608,7 @@ "sql", "unofficial" ], + "category": "analytics", "logo": "svgs/superset.svg", "minversion": "0.0.0", "port": "8088" @@ -3408,6 +3630,7 @@ "magic-link", "passwordless" ], + "category": "auth", "logo": "svgs/supertokens.svg", "minversion": "0.0.0", "port": "3567" @@ -3429,6 +3652,7 @@ "magic-link", "passwordless" ], + "category": "auth", "logo": "svgs/supertokens.svg", "minversion": "0.0.0", "port": "3567" @@ -3442,6 +3666,7 @@ "data", "synchronization" ], + "category": "storage", "logo": "svgs/syncthing.svg", "minversion": "0.0.0", "port": "8384" @@ -3459,6 +3684,7 @@ "relational", "postgresql" ], + "category": "productivity", "logo": "svgs/teable.png", "minversion": "0.0.0", "port": "3000" @@ -3473,6 +3699,7 @@ "management", "platform" ], + "category": "productivity", "logo": "svgs/tolgee.svg", "minversion": "0.0.0", "port": "8080" @@ -3488,6 +3715,7 @@ "open", "source" ], + "category": "monitoring", "logo": "svgs/traccar.png", "minversion": "0.0.0", "port": "8082" @@ -3501,6 +3729,7 @@ "torrent", "peer-to-peer" ], + "category": "media", "logo": "svgs/transmission.svg", "minversion": "0.0.0", "port": "9091" @@ -3518,6 +3747,7 @@ "cron", "scheduler" ], + "category": "automation", "logo": "svgs/trigger.png", "minversion": "0.0.0", "port": "3000" @@ -3535,6 +3765,7 @@ "cron", "scheduler" ], + "category": "automation", "logo": "svgs/trigger.png", "minversion": "0.0.0", "port": "3000" @@ -3551,6 +3782,7 @@ "markdown", "wiki" ], + "category": "productivity", "logo": "svgs/triliumnext.svg", "minversion": "0.0.0", "port": "8080" @@ -3565,6 +3797,7 @@ "search-api", "elasticsearch-alternative" ], + "category": "search", "logo": "svgs/typesense.png", "minversion": "0.0.0", "port": "8108" @@ -3578,6 +3811,7 @@ "insights", "privacy" ], + "category": "analytics", "logo": "svgs/umami.svg", "minversion": "0.0.0", "port": "3000" @@ -3593,6 +3827,7 @@ "ab testing", "open source" ], + "category": "productivity", "logo": "svgs/unleash.svg", "minversion": "0.0.0", "port": "4242" @@ -3608,6 +3843,7 @@ "ab testing", "open source" ], + "category": "productivity", "logo": "svgs/unleash.svg", "minversion": "0.0.0", "port": "4242" @@ -3624,6 +3860,7 @@ "self-hosting", "postmark" ], + "category": "messaging", "logo": "svgs/unsend.svg", "minversion": "0.0.0", "port": "3000" @@ -3645,6 +3882,7 @@ "ocr", "data-extraction" ], + "category": "ai", "logo": "svgs/unstructured.png", "minversion": "0.0.0", "port": "8000" @@ -3662,6 +3900,7 @@ "applications", "real-time" ], + "category": "monitoring", "logo": "svgs/uptime-kuma.svg", "minversion": "0.0.0", "port": "3001" @@ -3674,6 +3913,7 @@ "password manager", "security" ], + "category": "auth", "logo": "svgs/bitwarden.svg", "minversion": "0.0.0", "port": "80" @@ -3690,6 +3930,7 @@ "ffmpeg", "wasm" ], + "category": "devtools", "logo": "svgs/vert.png", "minversion": "0.0.0", "port": "80" @@ -3702,6 +3943,7 @@ "productivity", "todo" ], + "category": "productivity", "logo": "svgs/vikunja.svg", "minversion": "0.0.0", "port": "3456" @@ -3714,6 +3956,7 @@ "productivity", "todo" ], + "category": "productivity", "logo": "svgs/vikunja.svg", "minversion": "0.0.0", "port": "3456" @@ -3734,6 +3977,7 @@ "sqlite", "pgsql" ], + "category": "cms", "logo": "svgs/vvveb.svg", "minversion": "0.0.0", "port": "80" @@ -3754,6 +3998,7 @@ "sqlite", "pgsql" ], + "category": "cms", "logo": "svgs/vvveb.svg", "minversion": "0.0.0", "port": "80" @@ -3774,6 +4019,7 @@ "sqlite", "pgsql" ], + "category": "cms", "logo": "svgs/vvveb.svg", "minversion": "0.0.0", "port": "80" @@ -3794,6 +4040,7 @@ "timetracking", "analytics" ], + "category": "analytics", "logo": "svgs/wakapi.svg", "minversion": "0.0.0", "port": "3000" @@ -3811,6 +4058,7 @@ "embeddings", "llm" ], + "category": "ai", "logo": "svgs/weaviate.png", "minversion": "0.0.0", "port": "8080" @@ -3824,6 +4072,7 @@ "website", "analysis" ], + "category": "monitoring", "logo": "svgs/web-check.png", "minversion": "0.0.0", "port": "3000" @@ -3841,6 +4090,7 @@ "libre", "software" ], + "category": "productivity", "logo": "svgs/weblate.webp", "minversion": "0.0.0", "port": "8080" @@ -3853,6 +4103,7 @@ "privacy", "search engine" ], + "category": "search", "logo": "svgs/whoogle.png", "minversion": "0.0.0", "port": "5000" @@ -3866,6 +4117,7 @@ "collaboration", "documentation" ], + "category": "cms", "logo": "svgs/wikijs.svg", "minversion": "0.0.0", "port": "80" @@ -3881,6 +4133,7 @@ "developer", "platform" ], + "category": "automation", "logo": "svgs/windmill.svg", "minversion": "0.0.0", "port": "8000" @@ -3896,6 +4149,7 @@ "panel", "minecraft" ], + "category": "devtools", "logo": "svgs/pterodactyl.png", "minversion": "0.0.0", "port": "8443" @@ -3910,6 +4164,7 @@ "web", "admin" ], + "category": "vps", "logo": "svgs/wireguard.svg", "minversion": "0.0.0", "port": "8000" @@ -3925,6 +4180,7 @@ "management", "mariadb" ], + "category": "cms", "logo": "svgs/wordpress.svg", "minversion": "0.0.0" }, @@ -3939,6 +4195,7 @@ "management", "mysql" ], + "category": "cms", "logo": "svgs/wordpress.svg", "minversion": "0.0.0" }, @@ -3952,6 +4209,7 @@ "content", "management" ], + "category": "cms", "logo": "svgs/wordpress.svg", "minversion": "0.0.0" }, @@ -3972,6 +4230,7 @@ "books", "comics" ], + "category": "productivity", "logo": "svgs/yamtrack.svg", "minversion": "0.0.0", "port": "8000" @@ -3993,6 +4252,7 @@ "books", "comics" ], + "category": "productivity", "logo": "svgs/yamtrack.svg", "minversion": "0.0.0", "port": "8000" @@ -4007,6 +4267,7 @@ "upload", "sharing" ], + "category": "media", "logo": "svgs/zipline.png", "minversion": "0.0.0", "port": "3000" @@ -4022,6 +4283,7 @@ "files", "directories" ], + "category": "backend", "logo": "svgs/convertx.png", "minversion": "0.0.0", "port": "3000" @@ -4036,6 +4298,7 @@ "data", "analysis" ], + "category": "devtools", "logo": "svgs/marimo.svg", "minversion": "0.0.0", "port": "8080"