From f81b676abee31ff4d5b01e753e95e51944c4cb2d Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 20 Feb 2024 15:07:12 +0100 Subject: [PATCH] ui: updates --- app/Console/Commands/ServicesGenerate.php | 5 + app/Livewire/Project/New/Select.php | 5 +- app/Livewire/Source/Github/Change.php | 35 +++ app/View/Components/ResourceView.php | 30 +++ public/svgs/appsmith.svg | 19 ++ public/svgs/appwrite.svg | 1 + public/svgs/babybuddy.png | Bin 0 -> 27699 bytes public/svgs/code-server.svg | 15 ++ public/svgs/directus.svg | 31 +++ public/svgs/docker-registry.png | Bin 0 -> 7191 bytes public/svgs/dokuwiki.png | Bin 0 -> 3744 bytes public/svgs/duplicati.webp | Bin 0 -> 3780 bytes public/svgs/emby.png | Bin 0 -> 869641 bytes public/svgs/fider.svg | 1 + public/svgs/filebrowser.svg | 147 ++++++++++++ public/svgs/formbricks.png | Bin 0 -> 22089 bytes public/svgs/ghost.svg | 9 + public/svgs/gitea.svg | 31 +++ public/svgs/glitchtip.png | Bin 0 -> 16211 bytes public/svgs/grafana.svg | 1 + public/svgs/grocy.svg | 21 ++ .../views/components/resource-view.blade.php | 23 ++ .../livewire/project/new/select.blade.php | 221 ++++++++---------- .../livewire/source/github/change.blade.php | 1 + templates/compose/appsmith.yaml | 3 +- templates/compose/appwrite.yaml | 5 +- templates/compose/babybuddy.yaml | 3 +- templates/compose/code-server.yaml | 5 +- templates/compose/dashboard.yaml | 2 +- .../compose/directus-with-postgresql.yaml | 5 +- templates/compose/directus.yaml | 6 +- templates/compose/docker-registry.yaml | 1 + templates/compose/dokuwiki.yaml | 5 +- templates/compose/duplicati.yaml | 5 +- templates/compose/emby.yaml | 3 +- templates/compose/embystat.yaml | 4 +- templates/compose/fider.yaml | 5 +- templates/compose/filebrowser.yaml | 5 +- templates/compose/formbricks.yaml | 3 +- templates/compose/ghost.yaml | 5 +- templates/compose/gitea-with-mariadb.yaml | 3 +- templates/compose/gitea-with-mysql.yaml | 3 +- templates/compose/gitea-with-postgresql.yaml | 3 +- templates/compose/gitea.yaml | 1 + templates/compose/glitchtip.yaml | 1 + .../compose/grafana-with-postgresql.yaml | 1 + templates/compose/grafana.yaml | 1 + templates/compose/grocy.yaml | 3 +- templates/compose/syncthing.yaml | 3 +- templates/service-templates.json | 220 ++++++++++------- 50 files changed, 662 insertions(+), 238 deletions(-) create mode 100644 app/View/Components/ResourceView.php create mode 100644 public/svgs/appsmith.svg create mode 100644 public/svgs/appwrite.svg create mode 100644 public/svgs/babybuddy.png create mode 100644 public/svgs/code-server.svg create mode 100644 public/svgs/directus.svg create mode 100644 public/svgs/docker-registry.png create mode 100644 public/svgs/dokuwiki.png create mode 100644 public/svgs/duplicati.webp create mode 100644 public/svgs/emby.png create mode 100644 public/svgs/fider.svg create mode 100644 public/svgs/filebrowser.svg create mode 100644 public/svgs/formbricks.png create mode 100644 public/svgs/ghost.svg create mode 100644 public/svgs/gitea.svg create mode 100644 public/svgs/glitchtip.png create mode 100644 public/svgs/grafana.svg create mode 100644 public/svgs/grocy.svg create mode 100644 resources/views/components/resource-view.blade.php diff --git a/app/Console/Commands/ServicesGenerate.php b/app/Console/Commands/ServicesGenerate.php index 802b3180f..5c71a58cf 100644 --- a/app/Console/Commands/ServicesGenerate.php +++ b/app/Console/Commands/ServicesGenerate.php @@ -73,6 +73,10 @@ private function process_file($file) } else { $slogan = str($file)->headline()->value(); } + $logo = collect(preg_grep('/^# logo:/', explode("\n", $content)))->values(); + if ($logo->count() > 0) { + $logo = str($logo[0])->after('# logo:')->trim()->value(); + } $env_file = collect(preg_grep('/^# env_file:/', explode("\n", $content)))->values(); if ($env_file->count() > 0) { $env_file = str($env_file[0])->after('# env_file:')->trim()->value(); @@ -96,6 +100,7 @@ private function process_file($file) 'slogan' => $slogan, 'compose' => $yaml, 'tags' => $tags, + 'logo' => $logo, ]; if ($env_file) { $env_file_content = file_get_contents(base_path("templates/compose/$env_file")); diff --git a/app/Livewire/Project/New/Select.php b/app/Livewire/Project/New/Select.php index 1c49ac7ad..964c3f143 100644 --- a/app/Livewire/Project/New/Select.php +++ b/app/Livewire/Project/New/Select.php @@ -71,10 +71,10 @@ public function updatedSelectedEnvironment() // } // } - public function loadServices() + public function loadServices(bool $force = false) { try { - if (count($this->allServices) > 0) { + if (count($this->allServices) > 0 && !$force) { if (!$this->search) { $this->services = $this->allServices; return; @@ -93,6 +93,7 @@ public function loadServices() });; $this->dispatch('success', 'Successfully loaded services.'); } + ray($this->services); } catch (\Throwable $e) { return handleError($e, $this); } finally { diff --git a/app/Livewire/Source/Github/Change.php b/app/Livewire/Source/Github/Change.php index 020e9c6ad..cdbec6486 100644 --- a/app/Livewire/Source/Github/Change.php +++ b/app/Livewire/Source/Github/Change.php @@ -4,6 +4,7 @@ use App\Models\GithubApp; use App\Models\InstanceSettings; +use Illuminate\Support\Facades\Http; use Livewire\Component; class Change extends Component @@ -36,6 +37,40 @@ class Change extends Component 'github_app.is_system_wide' => 'required|bool', ]; + // public function check() + // { + + // Need administration:read:write permission + // https://docs.github.com/en/rest/actions/self-hosted-runners?apiVersion=2022-11-28#list-self-hosted-runners-for-a-repository + + + // $github_access_token = generate_github_installation_token($this->github_app); + // $repositories = Http::withToken($github_access_token)->get("{$this->github_app->api_url}/installation/repositories?per_page=100"); + // $runners_by_repository = collect([]); + // $repositories = $repositories->json()['repositories']; + // foreach ($repositories as $repository) { + // $runners_downloads = Http::withToken($github_access_token)->get("{$this->github_app->api_url}/repos/{$repository['full_name']}/actions/runners/downloads"); + // $runners = Http::withToken($github_access_token)->get("{$this->github_app->api_url}/repos/{$repository['full_name']}/actions/runners"); + // $token = Http::withHeaders([ + // 'Authorization' => "Bearer $github_access_token", + // 'Accept' => 'application/vnd.github+json' + // ])->withBody(null)->post("{$this->github_app->api_url}/repos/{$repository['full_name']}/actions/runners/registration-token"); + // $token = $token->json(); + // $remove_token = Http::withHeaders([ + // 'Authorization' => "Bearer $github_access_token", + // 'Accept' => 'application/vnd.github+json' + // ])->withBody(null)->post("{$this->github_app->api_url}/repos/{$repository['full_name']}/actions/runners/remove-token"); + // $remove_token = $remove_token->json(); + // $runners_by_repository->put($repository['full_name'], [ + // 'token' => $token, + // 'remove_token' => $remove_token, + // 'runners' => $runners->json(), + // 'runners_downloads' => $runners_downloads->json() + // ]); + // } + + // ray($runners_by_repository); + // } public function mount() { $github_app_uuid = request()->github_app_uuid; diff --git a/app/View/Components/ResourceView.php b/app/View/Components/ResourceView.php new file mode 100644 index 000000000..7135385af --- /dev/null +++ b/app/View/Components/ResourceView.php @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + diff --git a/public/svgs/appwrite.svg b/public/svgs/appwrite.svg new file mode 100644 index 000000000..dc58a8110 --- /dev/null +++ b/public/svgs/appwrite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/svgs/babybuddy.png b/public/svgs/babybuddy.png new file mode 100644 index 0000000000000000000000000000000000000000..36623f744731a73965e0fe6a54bc692bb3f9235a GIT binary patch literal 27699 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 E51&!3yZ`_I literal 0 HcmV?d00001 diff --git a/public/svgs/code-server.svg b/public/svgs/code-server.svg new file mode 100644 index 000000000..8b589eef2 --- /dev/null +++ b/public/svgs/code-server.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/public/svgs/directus.svg b/public/svgs/directus.svg new file mode 100644 index 000000000..13dd08851 --- /dev/null +++ b/public/svgs/directus.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/svgs/docker-registry.png b/public/svgs/docker-registry.png new file mode 100644 index 0000000000000000000000000000000000000000..4fa75b2a7ad30dd168678a322e907a5c373fb8f3 GIT binary patch literal 7191 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 Z_QtO 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 KMNUMnLSTZihC~+t literal 0 HcmV?d00001 diff --git a/public/svgs/duplicati.webp b/public/svgs/duplicati.webp new file mode 100644 index 0000000000000000000000000000000000000000..5bc8037799ee4df4caa71a7dbcbf5b4e0563124b GIT binary patch literal 3780 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 Ld-Vrw6UF`yI}S(b literal 0 HcmV?d00001 diff --git a/public/svgs/emby.png b/public/svgs/emby.png new file mode 100644 index 0000000000000000000000000000000000000000..ca84b69649d0a5f81c73ec56a43a5c6cc7c56f0d GIT binary patch literal 869641 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

As`|3Y@=q6_-jYy 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 diff --git a/public/svgs/filebrowser.svg b/public/svgs/filebrowser.svg new file mode 100644 index 000000000..5e78eccff --- /dev/null +++ b/public/svgs/filebrowser.svg @@ -0,0 +1,147 @@ + +image/svg+xml + + + + + \ No newline at end of file diff --git a/public/svgs/formbricks.png b/public/svgs/formbricks.png new file mode 100644 index 0000000000000000000000000000000000000000..3f2194c209efd8e070866c631a8ca67bd3c9908b GIT binary patch literal 22089 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 Ls>oDInFaj^N&Cs0 literal 0 HcmV?d00001 diff --git a/public/svgs/ghost.svg b/public/svgs/ghost.svg new file mode 100644 index 000000000..682b10eda --- /dev/null +++ b/public/svgs/ghost.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/svgs/gitea.svg b/public/svgs/gitea.svg new file mode 100644 index 000000000..281c748ef --- /dev/null +++ b/public/svgs/gitea.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/public/svgs/glitchtip.png b/public/svgs/glitchtip.png new file mode 100644 index 0000000000000000000000000000000000000000..8663175287508894c3d03c9391358aca7af8b0d8 GIT binary patch literal 16211 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 BO(y^V literal 0 HcmV?d00001 diff --git a/public/svgs/grafana.svg b/public/svgs/grafana.svg new file mode 100644 index 000000000..038701973 --- /dev/null +++ b/public/svgs/grafana.svg @@ -0,0 +1 @@ + diff --git a/public/svgs/grocy.svg b/public/svgs/grocy.svg new file mode 100644 index 000000000..24bb0d252 --- /dev/null +++ b/public/svgs/grocy.svg @@ -0,0 +1,21 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + + + diff --git a/resources/views/components/resource-view.blade.php b/resources/views/components/resource-view.blade.php new file mode 100644 index 000000000..7d90d5dfd --- /dev/null +++ b/resources/views/components/resource-view.blade.php @@ -0,0 +1,23 @@ +

diff --git a/resources/views/livewire/project/new/select.blade.php b/resources/views/livewire/project/new/select.blade.php index ecb1c71ff..6564260b9 100644 --- a/resources/views/livewire/project/new/select.blade.php +++ b/resources/views/livewire/project/new/select.blade.php @@ -19,128 +19,85 @@

Applications

-
-
-
- Public Repository -
-
- You can deploy any kind of public repositories from the supported git providers. -
-
-
-
-
-
- Private Repository (with GitHub App) -
-
- You can deploy public & private repositories through your GitHub Apps. -
-
-
-
-
-
- Private Repository (with deploy key) -
-
- You can deploy public & private repositories with a simple deploy key (SSH key). -
-
-
+ + Public Repository + + You can deploy any kind of public repositories from the supported git providers. + + + + Private Repository (with GitHub App) + + You can deploy public & private repositories through your GitHub Apps. + + + + + Private Repository (with deploy key) + + You can deploy public & private repositories with a simple deploy key (SSH key). + +
-
-
-
- Based on a Dockerfile -
-
- You can deploy a simple Dockerfile, without Git. -
-
-
-
-
-
- Based on a Docker Compose -
-
- You can deploy complex application easily with Docker Compose, without Git. -
-
-
-
-
-
- Based on an existing Docker Image -
-
- You can deploy an existing Docker Image from any Registry, without Git. -
-
-
+ + Based on a Dockerfile + + You can deploy a simple Dockerfile, without Git. + + + + Based on a Docker Compose + + You can deploy complex application easily with Docker Compose, without Git. + + + + Based on an existing Docker Image + + You can deploy an existing Docker Image from any Registry, without Git. + +

Databases

-
-
-
-
- New PostgreSQL -
-
- PostgreSQL is an open-source, object-relational database management system known for its - robustness, advanced features, and strong standards compliance. -
-
-
-
-
-
- New Redis -
-
- Redis is an open-source, in-memory data structure store used as a database, cache, and - message broker, known for its high performance, flexibility, and rich data structures. -
-
-
-
-
-
- New MongoDB -
-
- MongoDB is a source-available, NoSQL database program that uses JSON-like documents with - optional schemas, known for its flexibility, scalability, and wide range of application use - cases. -
-
-
-
-
-
- New MySQL -
-
- MySQL is an open-source relational database management system known for its speed, - reliability, and flexibility in managing and accessing data. -
-
-
-
-
-
- New Mariadb -
-
- MariaDB is an open-source relational database management system that serves as a drop-in - replacement for MySQL, offering more robust, scalable, and reliable SQL server capabilities. -
-
-
- {{--
+
+ + New PostgreSQL + + PostgreSQL is an open-source, object-relational database management system known for its + robustness, advanced features, and strong standards compliance. + + + + New Redis + + Redis is an open-source, in-memory data structure store used as a database, cache, and message + broker, known for its high performance, flexibility, and rich data structures. + + + + New MongoDB + + MongoDB is a source-available, NoSQL database program that uses JSON-like documents with + optional schemas, known for its flexibility and scalability. + + + + New MySQL + + MySQL is an open-source relational database management system known for its speed, reliability, + and flexibility in managing and accessing data. + + + + New Mariadb + + MariaDB is an open-source relational database management system that serves as a drop-in + replacement for MySQL. + + + + {{--
Backup Existing PostgreSQL @@ -153,12 +110,12 @@

Services

- Reload Services List + Reload List
-
+
@if ($loadingServices) @else @@ -173,7 +130,25 @@ class="w-full text-white rounded input input-sm bg-coolgray-200 disabled:bg-cool
@else - + --}} @endif @empty -
No service found. Please try to reload the list!
+
No service found. Please try to reload the list!
@endforelse @endif
diff --git a/resources/views/livewire/source/github/change.blade.php b/resources/views/livewire/source/github/change.blade.php index 941d616c8..769c9cab9 100644 --- a/resources/views/livewire/source/github/change.blade.php +++ b/resources/views/livewire/source/github/change.blade.php @@ -16,6 +16,7 @@ This source will be deleted. It is not reversible.
Please think again.
+ {{-- Check --}}
Your Private GitHub App for private repositories.
diff --git a/templates/compose/appsmith.yaml b/templates/compose/appsmith.yaml index 81ac5fe3d..31c6531e6 100644 --- a/templates/compose/appsmith.yaml +++ b/templates/compose/appsmith.yaml @@ -1,6 +1,7 @@ # documentation: https://docs.appsmith.com -# slogan: Appsmith is an open-source, self-hosted application development platform that enables you to build powerful web applications with ease. +# slogan: Appsmith is an application development platform that enables you to build powerful web applications with ease. # tags: lowcode,nocode,no,low,platform +# logo: svgs/appsmith.svg services: appsmith: diff --git a/templates/compose/appwrite.yaml b/templates/compose/appwrite.yaml index bcb813266..793dacbf4 100644 --- a/templates/compose/appwrite.yaml +++ b/templates/compose/appwrite.yaml @@ -1,7 +1,8 @@ -# documentation: https://appwrite.io/docs -# slogan: Appwrite is a self-hosted backend-as-a-service platform that simplifies the development of web and mobile applications by providing a range of features and APIs. +# documentation: https://appwrite.io +# slogan: Appwrite is backend-as-a-service platform that simplifies the development of web and mobile applications. # env_file: appwrite.env # tags: backend-as-a-service, platform +# logo: svgs/appwrite.svg x-logging: &x-logging diff --git a/templates/compose/babybuddy.yaml b/templates/compose/babybuddy.yaml index 19b17037f..61fbdb5b5 100644 --- a/templates/compose/babybuddy.yaml +++ b/templates/compose/babybuddy.yaml @@ -1,6 +1,7 @@ # documentation: https://docs.baby-buddy.net -# slogan: Baby Buddy is an open-source web application that helps parents track their baby's daily activities, growth, and health with ease. +# slogan: Baby Buddy helps parents track their baby's daily activities, growth, and health with ease. # tags: baby, parents, health, growth, activities +# logo: svgs/babybuddy.png services: babybuddy: diff --git a/templates/compose/code-server.yaml b/templates/compose/code-server.yaml index 19858601a..65bb8872d 100644 --- a/templates/compose/code-server.yaml +++ b/templates/compose/code-server.yaml @@ -1,6 +1,7 @@ -# documentation: https://coder.com/docs/code-server/latest/guide -# slogan: Code-Server is a self-hosted, web-based code editor that enables remote coding and collaboration from any device, anywhere. +# documentation: https://coder.com/docs/code-server/latest +# slogan: Code-Server is a web-based code editor that enables remote coding and collaboration from any device, anywhere. # tags: code, editor, remote, collaboration +# logo: svgs/code-server.svg services: code-server: diff --git a/templates/compose/dashboard.yaml b/templates/compose/dashboard.yaml index ea2ae3489..f5ad26c4b 100644 --- a/templates/compose/dashboard.yaml +++ b/templates/compose/dashboard.yaml @@ -1,4 +1,4 @@ -# documentation: https://github.com/phntxx/dashboard/wiki/Installation#installation-using-docker +# documentation: https://github.com/phntxx/dashboard?tab=readme-ov-file#dashboard # slogan: A dashboard. Inspired by SUI, it offers simple customization through JSON-files and a handy search bar to help you browse the internet more efficiently. # tags: dashboard, web, search, bookmarks diff --git a/templates/compose/directus-with-postgresql.yaml b/templates/compose/directus-with-postgresql.yaml index 431f30f6a..dcd463fcb 100644 --- a/templates/compose/directus-with-postgresql.yaml +++ b/templates/compose/directus-with-postgresql.yaml @@ -1,6 +1,7 @@ -# documentation: https://docs.directus.io/self-hosted/quickstart.html -# slogan: Directus is an open-source tool that wraps custom SQL databases with a dynamic API, and provides an intuitive admin app for managing its content. +# documentation: https://directus.io +# slogan: Directus wraps custom SQL databases with a dynamic API, and provides an intuitive admin app for managing its content. # tags: directus, cms, database, sql +# logo: svgs/directus.svg services: directus: diff --git a/templates/compose/directus.yaml b/templates/compose/directus.yaml index 0dcb88330..0f6d58396 100644 --- a/templates/compose/directus.yaml +++ b/templates/compose/directus.yaml @@ -1,6 +1,8 @@ -# documentation: https://docs.directus.io/self-hosted/quickstart.html -# slogan: Directus is an open-source tool that wraps custom SQL databases with a dynamic API, and provides an intuitive admin app for managing its content. +# documentation: https://directus.io +# slogan: Directus wraps custom SQL databases with a dynamic API, and provides an intuitive admin app for managing its content. # tags: directus, cms, database, sql +# logo: svgs/directus.svg + services: directus: diff --git a/templates/compose/docker-registry.yaml b/templates/compose/docker-registry.yaml index 6874b2358..8929b1006 100644 --- a/templates/compose/docker-registry.yaml +++ b/templates/compose/docker-registry.yaml @@ -1,6 +1,7 @@ # documentation: https://docs.docker.com/registry/ # slogan: The Docker Registry is a stateless, highly scalable server side application that stores and lets you distribute Docker images. # tags: registry,images,docker +# logo: svgs/docker-registry.png services: registry: diff --git a/templates/compose/dokuwiki.yaml b/templates/compose/dokuwiki.yaml index 81f317c42..a3bd30e7b 100644 --- a/templates/compose/dokuwiki.yaml +++ b/templates/compose/dokuwiki.yaml @@ -1,6 +1,7 @@ -# documentation: https://www.dokuwiki.org/faq -# slogan: A lightweight and easy-to-use wiki platform for creating and managing documentation and knowledge bases with simplicity and flexibility. +# documentation: https://www.dokuwiki.org/ +# slogan: A lightweight and easy-to-use wiki platform for creating and managing documentation and knowledge bases. # tags: wiki, documentation, knowledge, base +# logo: svgs/dokuwiki.png services: dokuwiki: diff --git a/templates/compose/duplicati.yaml b/templates/compose/duplicati.yaml index 0314f82e7..435d6d860 100644 --- a/templates/compose/duplicati.yaml +++ b/templates/compose/duplicati.yaml @@ -1,6 +1,7 @@ -# documentation: https://duplicati.readthedocs.io/en/latest/02-installation/ -# slogan: Duplicati is an open-source backup solution, allowing you to safeguard your data with ease through scheduled backups and encryption. +# documentation: https://duplicati.readthedocs.io +# slogan: Duplicati is a backup solution, allowing you to make scheduled backups with encryption. # tags: backup, encryption +# logo: svgs/duplicati.webp services: duplicati: diff --git a/templates/compose/emby.yaml b/templates/compose/emby.yaml index b5e35b4d7..8f0241b66 100644 --- a/templates/compose/emby.yaml +++ b/templates/compose/emby.yaml @@ -1,6 +1,7 @@ # documentation: https://emby.media/support/articles/Home.html -# slogan: A media server software that allows you to organize, stream, and access your multimedia content effortlessly, making it easy to enjoy your favorite movies, TV shows, music, and more. +# slogan: A media server software that allows you to organize, stream, and access your multimedia content effortlessly. # tags: media, server, movies, tv, music +# logo: svgs/emby.png services: emby: diff --git a/templates/compose/embystat.yaml b/templates/compose/embystat.yaml index 0fffd1bf7..c80863645 100644 --- a/templates/compose/embystat.yaml +++ b/templates/compose/embystat.yaml @@ -1,5 +1,5 @@ -# documentation: https://github.com/mregni/EmbyStat/wiki/docker -# slogan: EmyStat is an open-source, self-hosted web analytics tool, designed to provide insight into website traffic and user behavior, of your local Emby deployment, all within your control. +# documentation: https://github.com/mregni/EmbyStat +# slogan: EmnyStat is a web analytics tool, designed to provide insight into website traffic and user behavior. # tags: media, server, movies, tv, music services: diff --git a/templates/compose/fider.yaml b/templates/compose/fider.yaml index b75ba68cd..dce414aef 100644 --- a/templates/compose/fider.yaml +++ b/templates/compose/fider.yaml @@ -1,6 +1,7 @@ -# documentation: https://fider.io/docs -# slogan: Fider is an open-source feedback platform for collecting and managing user feedback, helping you prioritize improvements to your products and services. +# documentation: https://fider.io +# slogan: Fider is a feedback platform for collecting and managing user feedback. # tags: feedback, user-feedback +# logo: svgs/fider.svg services: fider: diff --git a/templates/compose/filebrowser.yaml b/templates/compose/filebrowser.yaml index fb9263c22..81d25cd20 100644 --- a/templates/compose/filebrowser.yaml +++ b/templates/compose/filebrowser.yaml @@ -1,6 +1,7 @@ -# documentation: https://filebrowser.org/configuration -# slogan: FileBrowser is a self-hosted, web-based file manager and file explorer with a user-friendly interface. It allows you to manage and organize your files and directories directly from your web browser. +# documentation: https://filebrowser.org +# slogan: FileBrowser is a web-based file manager and file explorer with a user-friendly interface. # tags: file-management, storage-access, data-organization, file-utilization, administration-tool +# logo: svgs/filebrowser.svg services: filebrowser: diff --git a/templates/compose/formbricks.yaml b/templates/compose/formbricks.yaml index 7beed9de5..ac738f877 100644 --- a/templates/compose/formbricks.yaml +++ b/templates/compose/formbricks.yaml @@ -1,6 +1,7 @@ -# documentation: https://formbricks.com/docs/self-hosting/docker +# documentation: https://formbricks.com # slogan: Open Source Experience Management # tags: form, builder, forms, open source, experience, management, self-hosted, docker +# logo: svgs/formbricks.png services: formbricks: diff --git a/templates/compose/ghost.yaml b/templates/compose/ghost.yaml index d0d9c27a5..9c01e5cb4 100644 --- a/templates/compose/ghost.yaml +++ b/templates/compose/ghost.yaml @@ -1,6 +1,7 @@ -# documentation: https://ghost.org/docs -# slogan: Ghost is a popular open-source content management system (CMS) and blogging platform, known for its simplicity and focus on content creation. +# documentation: https://ghost.org +# slogan: Ghost is a content management system (CMS) and blogging platform. # tags: cms, blog, content, management, system +# logo: svgs/ghost.svg services: ghost: diff --git a/templates/compose/gitea-with-mariadb.yaml b/templates/compose/gitea-with-mariadb.yaml index f00f73ded..929810d94 100644 --- a/templates/compose/gitea-with-mariadb.yaml +++ b/templates/compose/gitea-with-mariadb.yaml @@ -1,6 +1,7 @@ # documentation: https://docs.gitea.com -# slogan: Gitea (with MariaDB) is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting. +# slogan: Gitea is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting. # tags: version control, collaboration, code, hosting, lightweight, mariadb +# logo: svgs/gitea.svg services: gitea: diff --git a/templates/compose/gitea-with-mysql.yaml b/templates/compose/gitea-with-mysql.yaml index d25d4952e..99a5714f1 100644 --- a/templates/compose/gitea-with-mysql.yaml +++ b/templates/compose/gitea-with-mysql.yaml @@ -1,6 +1,7 @@ # documentation: https://docs.gitea.com -# slogan: Gitea (with MySQL) is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting. +# slogan: Gitea is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting. # tags: version control, collaboration, code, hosting, lightweight, mysql +# logo: svgs/gitea.svg services: gitea: diff --git a/templates/compose/gitea-with-postgresql.yaml b/templates/compose/gitea-with-postgresql.yaml index d7e5f2a42..cd993c074 100644 --- a/templates/compose/gitea-with-postgresql.yaml +++ b/templates/compose/gitea-with-postgresql.yaml @@ -1,6 +1,7 @@ # documentation: https://docs.gitea.com -# slogan: Gitea (with PostgreSQL)vis a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting. +# slogan: Gitea is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting. # tags: version control, collaboration, code, hosting, lightweight, postgresql +# logo: svgs/gitea.svg services: gitea: diff --git a/templates/compose/gitea.yaml b/templates/compose/gitea.yaml index 2d75675fa..f42ae9313 100644 --- a/templates/compose/gitea.yaml +++ b/templates/compose/gitea.yaml @@ -1,6 +1,7 @@ # documentation: https://docs.gitea.com # slogan: Gitea is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting. # tags: version control, collaboration, code, hosting, lightweight +# logo: svgs/gitea.svg services: gitea: diff --git a/templates/compose/glitchtip.yaml b/templates/compose/glitchtip.yaml index 1d497eb93..b2bdbf8ff 100644 --- a/templates/compose/glitchtip.yaml +++ b/templates/compose/glitchtip.yaml @@ -1,6 +1,7 @@ # documentation: https://glitchtip.com # slogan: GlitchTip is a self-hosted, open-source error tracking system. # tags: error, tracking, open-source, self-hosted, sentry +# logo: svgs/glitchtip.png version: "3.8" services: diff --git a/templates/compose/grafana-with-postgresql.yaml b/templates/compose/grafana-with-postgresql.yaml index 5e01be07c..cd76c10ce 100644 --- a/templates/compose/grafana-with-postgresql.yaml +++ b/templates/compose/grafana-with-postgresql.yaml @@ -1,6 +1,7 @@ # documentation: https://grafana.com/docs/grafana/latest/installation/docker/ # slogan: Grafana is the open source analytics & monitoring solution for every database. # tags: grafana,analytics,monitoring,dashboard +# logo: svgs/grafana.svg services: grafana: diff --git a/templates/compose/grafana.yaml b/templates/compose/grafana.yaml index b5fcbdf2e..9d8dbfcc4 100644 --- a/templates/compose/grafana.yaml +++ b/templates/compose/grafana.yaml @@ -1,6 +1,7 @@ # documentation: https://grafana.com/docs/grafana/latest/installation/docker/ # slogan: Grafana is the open source analytics & monitoring solution for every database. # tags: grafana,analytics,monitoring,dashboard +# logo: svgs/grafana.svg services: grafana: diff --git a/templates/compose/grocy.yaml b/templates/compose/grocy.yaml index 46edd984e..2b3b7ba2d 100644 --- a/templates/compose/grocy.yaml +++ b/templates/compose/grocy.yaml @@ -1,6 +1,7 @@ # documentation: https://github.com/grocy/grocy -# slogan: Grocy is a self-hosted, web-based household management and grocery list application, designed to simplify your household chores and grocery shopping. +# slogan: Grocy is a web-based household management and grocery list application. # tags: groceries, household, management, grocery, shopping +# logo: svgs/grocy.svg services: grocy: diff --git a/templates/compose/syncthing.yaml b/templates/compose/syncthing.yaml index 50d02b57d..50adea1f9 100644 --- a/templates/compose/syncthing.yaml +++ b/templates/compose/syncthing.yaml @@ -1,6 +1,7 @@ # documentation: https://syncthing.net/ -# slogan: Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers in real time, safely protected from prying eyes. Your data is your data alone and you deserve to choose where it is stored, whether it is shared with some third party, and how it’s transmitted over the internet. +# slogan: Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers in real time. # tags: filestorage, data, synchronization +# logo: svgs/syncthing.svg services: syncthing: diff --git a/templates/service-templates.json b/templates/service-templates.json index 7c28b9956..043ffa813 100644 --- a/templates/service-templates.json +++ b/templates/service-templates.json @@ -1,7 +1,7 @@ { "appsmith": { "documentation": "https:\/\/docs.appsmith.com", - "slogan": "Appsmith is an open-source, self-hosted application development platform that enables you to build powerful web applications with ease.", + "slogan": "Appsmith is an application development platform that enables you to build powerful web applications with ease.", "compose": "c2VydmljZXM6CiAgYXBwc21pdGg6CiAgICBpbWFnZTogJ2luZGV4LmRvY2tlci5pby9hcHBzbWl0aC9hcHBzbWl0aC1jZTpsYXRlc3QnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRVJWSUNFX0ZRRE4KICAgICAgLSBBUFBTTUlUSF9NQUlMX0VOQUJMRUQ9ZmFsc2UKICAgICAgLSBBUFBTTUlUSF9ESVNBQkxFX1RFTEVNRVRSWT10cnVlCiAgICAgIC0gQVBQU01JVEhfRElTQUJMRV9JTlRFUkNPTT10cnVlCiAgICAgIC0gQVBQU01JVEhfU0VOVFJZX0RTTj0KICAgICAgLSBBUFBTTUlUSF9TTUFSVF9MT09LX0lEPQogICAgdm9sdW1lczoKICAgICAgLSAnc3RhY2tzLWRhdGE6L2FwcHNtaXRoLXN0YWNrcycKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gTk9ORQo=", "tags": [ "lowcode", @@ -9,21 +9,23 @@ "no", "low", "platform" - ] + ], + "logo": "svgs\/appsmith.svg" }, "appwrite": { - "documentation": "https:\/\/appwrite.io\/docs", - "slogan": "Appwrite is a self-hosted backend-as-a-service platform that simplifies the development of web and mobile applications by providing a range of features and APIs.", + "documentation": "https:\/\/appwrite.io", + "slogan": "Appwrite is backend-as-a-service platform that simplifies the development of web and mobile applications.", "compose": "eC1sb2dnaW5nOgogIGxvZ2dpbmc6CiAgICBkcml2ZXI6IGpzb24tZmlsZQogICAgb3B0aW9uczoKICAgICAgbWF4LWZpbGU6ICc1JwogICAgICBtYXgtc2l6ZTogMTBtCnZlcnNpb246ICczJwpzZXJ2aWNlczoKICBhcHB3cml0ZToKICAgIGltYWdlOiAnYXBwd3JpdGUvYXBwd3JpdGU6MS40JwogICAgY29udGFpbmVyX25hbWU6IGFwcHdyaXRlCiAgICBsb2dnaW5nOgogICAgICBkcml2ZXI6IGpzb24tZmlsZQogICAgICBvcHRpb25zOgogICAgICAgIG1heC1maWxlOiAnNScKICAgICAgICBtYXgtc2l6ZTogMTBtCiAgICB2b2x1bWVzOgogICAgICAtICdhcHB3cml0ZS11cGxvYWRzOi9zdG9yYWdlL3VwbG9hZHM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWNhY2hlOi9zdG9yYWdlL2NhY2hlOnJ3JwogICAgICAtICdhcHB3cml0ZS1jb25maWc6L3N0b3JhZ2UvY29uZmlnOnJ3JwogICAgICAtICdhcHB3cml0ZS1jZXJ0aWZpY2F0ZXM6L3N0b3JhZ2UvY2VydGlmaWNhdGVzOnJ3JwogICAgICAtICdhcHB3cml0ZS1mdW5jdGlvbnM6L3N0b3JhZ2UvZnVuY3Rpb25zOnJ3JwogICAgZGVwZW5kc19vbjoKICAgICAgLSBhcHB3cml0ZS1tYXJpYWRiCiAgICAgIC0gYXBwd3JpdGUtcmVkaXMKICAgICAgLSBhcHB3cml0ZS1pbmZsdXhkYgogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gU0VSVklDRV9GUUROX0FQUFdSSVRFPS8KICAgICAgLSBfQVBQX0VOVgogICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFCiAgICAgIC0gX0FQUF9MT0NBTEUKICAgICAgLSBfQVBQX0NPTlNPTEVfV0hJVEVMSVNUX1JPT1QKICAgICAgLSBfQVBQX0NPTlNPTEVfV0hJVEVMSVNUX0VNQUlMUwogICAgICAtIF9BUFBfQ09OU09MRV9XSElURUxJU1RfSVBTCiAgICAgIC0gX0FQUF9TWVNURU1fRU1BSUxfTkFNRQogICAgICAtIF9BUFBfU1lTVEVNX0VNQUlMX0FERFJFU1MKICAgICAgLSBfQVBQX1NZU1RFTV9TRUNVUklUWV9FTUFJTF9BRERSRVNTCiAgICAgIC0gX0FQUF9TWVNURU1fUkVTUE9OU0VfRk9STUFUCiAgICAgIC0gX0FQUF9PUFRJT05TX0FCVVNFCiAgICAgIC0gX0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTCiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMQogICAgICAtIF9BUFBfRE9NQUlOPSRTRVJWSUNFX0ZRRE5fQVBQV1JJVEUKICAgICAgLSBfQVBQX0RPTUFJTl9UQVJHRVQ9JFNFUlZJQ0VfRlFETl9BUFBXUklURQogICAgICAtIF9BUFBfRE9NQUlOX0ZVTkNUSU9OUz0kU0VSVklDRV9GUUROX0FQUFdSSVRFCiAgICAgIC0gX0FQUF9SRURJU19IT1NUCiAgICAgIC0gX0FQUF9SRURJU19QT1JUCiAgICAgIC0gX0FQUF9SRURJU19VU0VSCiAgICAgIC0gX0FQUF9SRURJU19QQVNTCiAgICAgIC0gX0FQUF9EQl9IT1NUCiAgICAgIC0gX0FQUF9EQl9QT1JUCiAgICAgIC0gX0FQUF9EQl9TQ0hFTUEKICAgICAgLSBfQVBQX0RCX1VTRVIKICAgICAgLSBfQVBQX0RCX1BBU1MKICAgICAgLSBfQVBQX1NNVFBfSE9TVAogICAgICAtIF9BUFBfU01UUF9QT1JUCiAgICAgIC0gX0FQUF9TTVRQX1NFQ1VSRQogICAgICAtIF9BUFBfU01UUF9VU0VSTkFNRQogICAgICAtIF9BUFBfU01UUF9QQVNTV09SRAogICAgICAtIF9BUFBfVVNBR0VfU1RBVFMKICAgICAgLSBfQVBQX0lORkxVWERCX0hPU1QKICAgICAgLSBfQVBQX0lORkxVWERCX1BPUlQKICAgICAgLSBfQVBQX1NUT1JBR0VfTElNSVQKICAgICAgLSBfQVBQX1NUT1JBR0VfUFJFVklFV19MSU1JVAogICAgICAtIF9BUFBfU1RPUkFHRV9BTlRJVklSVVMKICAgICAgLSBfQVBQX1NUT1JBR0VfQU5USVZJUlVTX0hPU1QKICAgICAgLSBfQVBQX1NUT1JBR0VfQU5USVZJUlVTX1BPUlQKICAgICAgLSBfQVBQX1NUT1JBR0VfREVWSUNFCiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX0FDQ0VTU19LRVkKICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfU0VDUkVUCiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX1JFR0lPTgogICAgICAtIF9BUFBfU1RPUkFHRV9TM19CVUNLRVQKICAgICAgLSBfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0FDQ0VTU19LRVkKICAgICAgLSBfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1NFQ1JFVAogICAgICAtIF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfUkVHSU9OCiAgICAgIC0gX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19CVUNLRVQKICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0FDQ0VTU19LRVkKICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1NFQ1JFVAogICAgICAtIF9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfUkVHSU9OCiAgICAgIC0gX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9CVUNLRVQKICAgICAgLSBfQVBQX1NUT1JBR0VfTElOT0RFX0FDQ0VTU19LRVkKICAgICAgLSBfQVBQX1NUT1JBR0VfTElOT0RFX1NFQ1JFVAogICAgICAtIF9BUFBfU1RPUkFHRV9MSU5PREVfUkVHSU9OCiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9CVUNLRVQKICAgICAgLSBfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVkKICAgICAgLSBfQVBQX1NUT1JBR0VfV0FTQUJJX1NFQ1JFVAogICAgICAtIF9BUFBfU1RPUkFHRV9XQVNBQklfUkVHSU9OCiAgICAgIC0gX0FQUF9TVE9SQUdFX1dBU0FCSV9CVUNLRVQKICAgICAgLSBfQVBQX0ZVTkNUSU9OU19TSVpFX0xJTUlUCiAgICAgIC0gX0FQUF9GVU5DVElPTlNfVElNRU9VVAogICAgICAtIF9BUFBfRlVOQ1RJT05TX0JVSUxEX1RJTUVPVVQKICAgICAgLSBfQVBQX0ZVTkNUSU9OU19DUFVTCiAgICAgIC0gX0FQUF9GVU5DVElPTlNfTUVNT1JZCiAgICAgIC0gX0FQUF9GVU5DVElPTlNfUlVOVElNRVMKICAgICAgLSBfQVBQX0VYRUNVVE9SX1NFQ1JFVAogICAgICAtIF9BUFBfRVhFQ1VUT1JfSE9TVAogICAgICAtIF9BUFBfTE9HR0lOR19QUk9WSURFUgogICAgICAtIF9BUFBfTE9HR0lOR19DT05GSUcKICAgICAgLSBfQVBQX1NUQVRTRF9IT1NUCiAgICAgIC0gX0FQUF9TVEFUU0RfUE9SVAogICAgICAtIF9BUFBfTUFJTlRFTkFOQ0VfSU5URVJWQUwKICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9FWEVDVVRJT04KICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9DQUNIRQogICAgICAtIF9BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FCVVNFCiAgICAgIC0gX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVQKICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9VU0FHRV9IT1VSTFkKICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9TQ0hFRFVMRVMKICAgICAgLSBfQVBQX1NNU19QUk9WSURFUgogICAgICAtIF9BUFBfU01TX0ZST00KICAgICAgLSBfQVBQX0dSQVBIUUxfTUFYX0JBVENIX1NJWkUKICAgICAgLSBfQVBQX0dSQVBIUUxfTUFYX0NPTVBMRVhJVFkKICAgICAgLSBfQVBQX0dSQVBIUUxfTUFYX0RFUFRICiAgICAgIC0gX0FQUF9WQ1NfR0lUSFVCX0FQUF9OQU1FCiAgICAgIC0gX0FQUF9WQ1NfR0lUSFVCX1BSSVZBVEVfS0VZCiAgICAgIC0gX0FQUF9WQ1NfR0lUSFVCX0FQUF9JRAogICAgICAtIF9BUFBfVkNTX0dJVEhVQl9XRUJIT09LX1NFQ1JFVAogICAgICAtIF9BUFBfVkNTX0dJVEhVQl9DTElFTlRfU0VDUkVUCiAgICAgIC0gX0FQUF9WQ1NfR0lUSFVCX0NMSUVOVF9JRAogICAgICAtIF9BUFBfTUlHUkFUSU9OU19GSVJFQkFTRV9DTElFTlRfSUQKICAgICAgLSBfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX1NFQ1JFVAogICAgICAtIF9BUFBfQVNTSVNUQU5UX09QRU5BSV9BUElfS0VZCiAgYXBwd3JpdGUtcmVhbHRpbWU6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjEuNCcKICAgIGVudHJ5cG9pbnQ6IHJlYWx0aW1lCiAgICBsb2dnaW5nOgogICAgICBkcml2ZXI6IGpzb24tZmlsZQogICAgICBvcHRpb25zOgogICAgICAgIG1heC1maWxlOiAnNScKICAgICAgICBtYXgtc2l6ZTogMTBtCiAgICBkZXBlbmRzX29uOgogICAgICAtIGFwcHdyaXRlLW1hcmlhZGIKICAgICAgLSBhcHB3cml0ZS1yZWRpcwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gU0VSVklDRV9GUUROX0FQUFdSSVRFPS92MS9yZWFsdGltZQogICAgICAtIF9BUFBfRU5WCiAgICAgIC0gX0FQUF9XT1JLRVJfUEVSX0NPUkUKICAgICAgLSBfQVBQX09QVElPTlNfQUJVU0UKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxCiAgICAgIC0gX0FQUF9SRURJU19IT1NUCiAgICAgIC0gX0FQUF9SRURJU19QT1JUCiAgICAgIC0gX0FQUF9SRURJU19VU0VSCiAgICAgIC0gX0FQUF9SRURJU19QQVNTCiAgICAgIC0gX0FQUF9EQl9IT1NUCiAgICAgIC0gX0FQUF9EQl9QT1JUCiAgICAgIC0gX0FQUF9EQl9TQ0hFTUEKICAgICAgLSBfQVBQX0RCX1VTRVIKICAgICAgLSBfQVBQX0RCX1BBU1MKICAgICAgLSBfQVBQX1VTQUdFX1NUQVRTCiAgICAgIC0gX0FQUF9MT0dHSU5HX1BST1ZJREVSCiAgICAgIC0gX0FQUF9MT0dHSU5HX0NPTkZJRwogIGFwcHdyaXRlLXdvcmtlci1hdWRpdHM6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjEuNCcKICAgIGVudHJ5cG9pbnQ6IHdvcmtlci1hdWRpdHMKICAgIGxvZ2dpbmc6CiAgICAgIGRyaXZlcjoganNvbi1maWxlCiAgICAgIG9wdGlvbnM6CiAgICAgICAgbWF4LWZpbGU6ICc1JwogICAgICAgIG1heC1zaXplOiAxMG0KICAgIGNvbnRhaW5lcl9uYW1lOiBhcHB3cml0ZS13b3JrZXItYXVkaXRzCiAgICBkZXBlbmRzX29uOgogICAgICAtIGFwcHdyaXRlLXJlZGlzCiAgICAgIC0gYXBwd3JpdGUtbWFyaWFkYgogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gX0FQUF9FTlYKICAgICAgLSBfQVBQX1dPUktFUl9QRVJfQ09SRQogICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjEKICAgICAgLSBfQVBQX1JFRElTX0hPU1QKICAgICAgLSBfQVBQX1JFRElTX1BPUlQKICAgICAgLSBfQVBQX1JFRElTX1VTRVIKICAgICAgLSBfQVBQX1JFRElTX1BBU1MKICAgICAgLSBfQVBQX0RCX0hPU1QKICAgICAgLSBfQVBQX0RCX1BPUlQKICAgICAgLSBfQVBQX0RCX1NDSEVNQQogICAgICAtIF9BUFBfREJfVVNFUgogICAgICAtIF9BUFBfREJfUEFTUwogICAgICAtIF9BUFBfTE9HR0lOR19QUk9WSURFUgogICAgICAtIF9BUFBfTE9HR0lOR19DT05GSUcKICBhcHB3cml0ZS13b3JrZXItd2ViaG9va3M6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjEuNCcKICAgIGVudHJ5cG9pbnQ6IHdvcmtlci13ZWJob29rcwogICAgbG9nZ2luZzoKICAgICAgZHJpdmVyOiBqc29uLWZpbGUKICAgICAgb3B0aW9uczoKICAgICAgICBtYXgtZmlsZTogJzUnCiAgICAgICAgbWF4LXNpemU6IDEwbQogICAgY29udGFpbmVyX25hbWU6IGFwcHdyaXRlLXdvcmtlci13ZWJob29rcwogICAgZGVwZW5kc19vbjoKICAgICAgLSBhcHB3cml0ZS1yZWRpcwogICAgICAtIGFwcHdyaXRlLW1hcmlhZGIKICAgIGVudmlyb25tZW50OgogICAgICAtIF9BUFBfRU5WCiAgICAgIC0gX0FQUF9XT1JLRVJfUEVSX0NPUkUKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxCiAgICAgIC0gX0FQUF9TWVNURU1fU0VDVVJJVFlfRU1BSUxfQUREUkVTUwogICAgICAtIF9BUFBfUkVESVNfSE9TVAogICAgICAtIF9BUFBfUkVESVNfUE9SVAogICAgICAtIF9BUFBfUkVESVNfVVNFUgogICAgICAtIF9BUFBfUkVESVNfUEFTUwogICAgICAtIF9BUFBfTE9HR0lOR19QUk9WSURFUgogICAgICAtIF9BUFBfTE9HR0lOR19DT05GSUcKICBhcHB3cml0ZS13b3JrZXItZGVsZXRlczoKICAgIGltYWdlOiAnYXBwd3JpdGUvYXBwd3JpdGU6MS40JwogICAgZW50cnlwb2ludDogd29ya2VyLWRlbGV0ZXMKICAgIGxvZ2dpbmc6CiAgICAgIGRyaXZlcjoganNvbi1maWxlCiAgICAgIG9wdGlvbnM6CiAgICAgICAgbWF4LWZpbGU6ICc1JwogICAgICAgIG1heC1zaXplOiAxMG0KICAgIGNvbnRhaW5lcl9uYW1lOiBhcHB3cml0ZS13b3JrZXItZGVsZXRlcwogICAgZGVwZW5kc19vbjoKICAgICAgLSBhcHB3cml0ZS1yZWRpcwogICAgICAtIGFwcHdyaXRlLW1hcmlhZGIKICAgIHZvbHVtZXM6CiAgICAgIC0gJ2FwcHdyaXRlLXVwbG9hZHM6L3N0b3JhZ2UvdXBsb2FkczpydycKICAgICAgLSAnYXBwd3JpdGUtY2FjaGU6L3N0b3JhZ2UvY2FjaGU6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWZ1bmN0aW9uczovc3RvcmFnZS9mdW5jdGlvbnM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWJ1aWxkczovc3RvcmFnZS9idWlsZHM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWNlcnRpZmljYXRlczovc3RvcmFnZS9jZXJ0aWZpY2F0ZXM6cncnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBfQVBQX0VOVgogICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFCiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMQogICAgICAtIF9BUFBfUkVESVNfSE9TVAogICAgICAtIF9BUFBfUkVESVNfUE9SVAogICAgICAtIF9BUFBfUkVESVNfVVNFUgogICAgICAtIF9BUFBfUkVESVNfUEFTUwogICAgICAtIF9BUFBfREJfSE9TVAogICAgICAtIF9BUFBfREJfUE9SVAogICAgICAtIF9BUFBfREJfU0NIRU1BCiAgICAgIC0gX0FQUF9EQl9VU0VSCiAgICAgIC0gX0FQUF9EQl9QQVNTCiAgICAgIC0gX0FQUF9TVE9SQUdFX0RFVklDRQogICAgICAtIF9BUFBfU1RPUkFHRV9TM19BQ0NFU1NfS0VZCiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX1NFQ1JFVAogICAgICAtIF9BUFBfU1RPUkFHRV9TM19SRUdJT04KICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfQlVDS0VUCiAgICAgIC0gX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZCiAgICAgIC0gX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19TRUNSRVQKICAgICAgLSBfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1JFR0lPTgogICAgICAtIF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfQlVDS0VUCiAgICAgIC0gX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9BQ0NFU1NfS0VZCiAgICAgIC0gX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9TRUNSRVQKICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1JFR0lPTgogICAgICAtIF9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQlVDS0VUCiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9BQ0NFU1NfS0VZCiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9TRUNSRVQKICAgICAgLSBfQVBQX1NUT1JBR0VfTElOT0RFX1JFR0lPTgogICAgICAtIF9BUFBfU1RPUkFHRV9MSU5PREVfQlVDS0VUCiAgICAgIC0gX0FQUF9TVE9SQUdFX1dBU0FCSV9BQ0NFU1NfS0VZCiAgICAgIC0gX0FQUF9TVE9SQUdFX1dBU0FCSV9TRUNSRVQKICAgICAgLSBfQVBQX1NUT1JBR0VfV0FTQUJJX1JFR0lPTgogICAgICAtIF9BUFBfU1RPUkFHRV9XQVNBQklfQlVDS0VUCiAgICAgIC0gX0FQUF9MT0dHSU5HX1BST1ZJREVSCiAgICAgIC0gX0FQUF9MT0dHSU5HX0NPTkZJRwogICAgICAtIF9BUFBfRVhFQ1VUT1JfU0VDUkVUCiAgICAgIC0gX0FQUF9FWEVDVVRPUl9IT1NUCiAgYXBwd3JpdGUtd29ya2VyLWRhdGFiYXNlczoKICAgIGltYWdlOiAnYXBwd3JpdGUvYXBwd3JpdGU6MS40JwogICAgZW50cnlwb2ludDogd29ya2VyLWRhdGFiYXNlcwogICAgbG9nZ2luZzoKICAgICAgZHJpdmVyOiBqc29uLWZpbGUKICAgICAgb3B0aW9uczoKICAgICAgICBtYXgtZmlsZTogJzUnCiAgICAgICAgbWF4LXNpemU6IDEwbQogICAgY29udGFpbmVyX25hbWU6IGFwcHdyaXRlLXdvcmtlci1kYXRhYmFzZXMKICAgIGRlcGVuZHNfb246CiAgICAgIC0gYXBwd3JpdGUtcmVkaXMKICAgICAgLSBhcHB3cml0ZS1tYXJpYWRiCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBfQVBQX0VOVgogICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFCiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMQogICAgICAtIF9BUFBfUkVESVNfSE9TVAogICAgICAtIF9BUFBfUkVESVNfUE9SVAogICAgICAtIF9BUFBfUkVESVNfVVNFUgogICAgICAtIF9BUFBfUkVESVNfUEFTUwogICAgICAtIF9BUFBfREJfSE9TVAogICAgICAtIF9BUFBfREJfUE9SVAogICAgICAtIF9BUFBfREJfU0NIRU1BCiAgICAgIC0gX0FQUF9EQl9VU0VSCiAgICAgIC0gX0FQUF9EQl9QQVNTCiAgICAgIC0gX0FQUF9MT0dHSU5HX1BST1ZJREVSCiAgICAgIC0gX0FQUF9MT0dHSU5HX0NPTkZJRwogIGFwcHdyaXRlLXdvcmtlci1idWlsZHM6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjEuNCcKICAgIGVudHJ5cG9pbnQ6IHdvcmtlci1idWlsZHMKICAgIGxvZ2dpbmc6CiAgICAgIGRyaXZlcjoganNvbi1maWxlCiAgICAgIG9wdGlvbnM6CiAgICAgICAgbWF4LWZpbGU6ICc1JwogICAgICAgIG1heC1zaXplOiAxMG0KICAgIGNvbnRhaW5lcl9uYW1lOiBhcHB3cml0ZS13b3JrZXItYnVpbGRzCiAgICBkZXBlbmRzX29uOgogICAgICAtIGFwcHdyaXRlLXJlZGlzCiAgICAgIC0gYXBwd3JpdGUtbWFyaWFkYgogICAgdm9sdW1lczoKICAgICAgLSAnYXBwd3JpdGUtZnVuY3Rpb25zOi9zdG9yYWdlL2Z1bmN0aW9uczpydycKICAgICAgLSAnYXBwd3JpdGUtYnVpbGRzOi9zdG9yYWdlL2J1aWxkczpydycKICAgIGVudmlyb25tZW50OgogICAgICAtIF9BUFBfRU5WCiAgICAgIC0gX0FQUF9XT1JLRVJfUEVSX0NPUkUKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxCiAgICAgIC0gX0FQUF9FWEVDVVRPUl9TRUNSRVQKICAgICAgLSBfQVBQX0VYRUNVVE9SX0hPU1QKICAgICAgLSBfQVBQX1JFRElTX0hPU1QKICAgICAgLSBfQVBQX1JFRElTX1BPUlQKICAgICAgLSBfQVBQX1JFRElTX1VTRVIKICAgICAgLSBfQVBQX1JFRElTX1BBU1MKICAgICAgLSBfQVBQX0RCX0hPU1QKICAgICAgLSBfQVBQX0RCX1BPUlQKICAgICAgLSBfQVBQX0RCX1NDSEVNQQogICAgICAtIF9BUFBfREJfVVNFUgogICAgICAtIF9BUFBfREJfUEFTUwogICAgICAtIF9BUFBfTE9HR0lOR19QUk9WSURFUgogICAgICAtIF9BUFBfTE9HR0lOR19DT05GSUcKICAgICAgLSBfQVBQX1ZDU19HSVRIVUJfQVBQX05BTUUKICAgICAgLSBfQVBQX1ZDU19HSVRIVUJfUFJJVkFURV9LRVkKICAgICAgLSBfQVBQX1ZDU19HSVRIVUJfQVBQX0lECiAgICAgIC0gX0FQUF9GVU5DVElPTlNfVElNRU9VVAogICAgICAtIF9BUFBfRlVOQ1RJT05TX0JVSUxEX1RJTUVPVVQKICAgICAgLSBfQVBQX0ZVTkNUSU9OU19DUFVTCiAgICAgIC0gX0FQUF9GVU5DVElPTlNfTUVNT1JZCiAgICAgIC0gX0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTCiAgICAgIC0gX0FQUF9ET01BSU4KICAgICAgLSBfQVBQX1NUT1JBR0VfREVWSUNFCiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX0FDQ0VTU19LRVkKICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfU0VDUkVUCiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX1JFR0lPTgogICAgICAtIF9BUFBfU1RPUkFHRV9TM19CVUNLRVQKICAgICAgLSBfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0FDQ0VTU19LRVkKICAgICAgLSBfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1NFQ1JFVAogICAgICAtIF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfUkVHSU9OCiAgICAgIC0gX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19CVUNLRVQKICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0FDQ0VTU19LRVkKICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1NFQ1JFVAogICAgICAtIF9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfUkVHSU9OCiAgICAgIC0gX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9CVUNLRVQKICAgICAgLSBfQVBQX1NUT1JBR0VfTElOT0RFX0FDQ0VTU19LRVkKICAgICAgLSBfQVBQX1NUT1JBR0VfTElOT0RFX1NFQ1JFVAogICAgICAtIF9BUFBfU1RPUkFHRV9MSU5PREVfUkVHSU9OCiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9CVUNLRVQKICAgICAgLSBfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVkKICAgICAgLSBfQVBQX1NUT1JBR0VfV0FTQUJJX1NFQ1JFVAogICAgICAtIF9BUFBfU1RPUkFHRV9XQVNBQklfUkVHSU9OCiAgICAgIC0gX0FQUF9TVE9SQUdFX1dBU0FCSV9CVUNLRVQKICBhcHB3cml0ZS13b3JrZXItY2VydGlmaWNhdGVzOgogICAgaW1hZ2U6ICdhcHB3cml0ZS9hcHB3cml0ZToxLjQnCiAgICBlbnRyeXBvaW50OiB3b3JrZXItY2VydGlmaWNhdGVzCiAgICBsb2dnaW5nOgogICAgICBkcml2ZXI6IGpzb24tZmlsZQogICAgICBvcHRpb25zOgogICAgICAgIG1heC1maWxlOiAnNScKICAgICAgICBtYXgtc2l6ZTogMTBtCiAgICBjb250YWluZXJfbmFtZTogYXBwd3JpdGUtd29ya2VyLWNlcnRpZmljYXRlcwogICAgZGVwZW5kc19vbjoKICAgICAgLSBhcHB3cml0ZS1yZWRpcwogICAgICAtIGFwcHdyaXRlLW1hcmlhZGIKICAgIHZvbHVtZXM6CiAgICAgIC0gJ2FwcHdyaXRlLWNvbmZpZzovc3RvcmFnZS9jb25maWc6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWNlcnRpZmljYXRlczovc3RvcmFnZS9jZXJ0aWZpY2F0ZXM6cncnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBfQVBQX0VOVgogICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFCiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMQogICAgICAtIF9BUFBfRE9NQUlOCiAgICAgIC0gX0FQUF9ET01BSU5fVEFSR0VUCiAgICAgIC0gX0FQUF9ET01BSU5fRlVOQ1RJT05TCiAgICAgIC0gX0FQUF9TWVNURU1fU0VDVVJJVFlfRU1BSUxfQUREUkVTUwogICAgICAtIF9BUFBfUkVESVNfSE9TVAogICAgICAtIF9BUFBfUkVESVNfUE9SVAogICAgICAtIF9BUFBfUkVESVNfVVNFUgogICAgICAtIF9BUFBfUkVESVNfUEFTUwogICAgICAtIF9BUFBfREJfSE9TVAogICAgICAtIF9BUFBfREJfUE9SVAogICAgICAtIF9BUFBfREJfU0NIRU1BCiAgICAgIC0gX0FQUF9EQl9VU0VSCiAgICAgIC0gX0FQUF9EQl9QQVNTCiAgICAgIC0gX0FQUF9MT0dHSU5HX1BST1ZJREVSCiAgICAgIC0gX0FQUF9MT0dHSU5HX0NPTkZJRwogIGFwcHdyaXRlLXdvcmtlci1mdW5jdGlvbnM6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjEuNCcKICAgIGVudHJ5cG9pbnQ6IHdvcmtlci1mdW5jdGlvbnMKICAgIGxvZ2dpbmc6CiAgICAgIGRyaXZlcjoganNvbi1maWxlCiAgICAgIG9wdGlvbnM6CiAgICAgICAgbWF4LWZpbGU6ICc1JwogICAgICAgIG1heC1zaXplOiAxMG0KICAgIGNvbnRhaW5lcl9uYW1lOiBhcHB3cml0ZS13b3JrZXItZnVuY3Rpb25zCiAgICBkZXBlbmRzX29uOgogICAgICAtIGFwcHdyaXRlLXJlZGlzCiAgICAgIC0gYXBwd3JpdGUtbWFyaWFkYgogICAgICAtIG9wZW5ydW50aW1lcy1leGVjdXRvcgogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gX0FQUF9FTlYKICAgICAgLSBfQVBQX1dPUktFUl9QRVJfQ09SRQogICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjEKICAgICAgLSBfQVBQX1JFRElTX0hPU1QKICAgICAgLSBfQVBQX1JFRElTX1BPUlQKICAgICAgLSBfQVBQX1JFRElTX1VTRVIKICAgICAgLSBfQVBQX1JFRElTX1BBU1MKICAgICAgLSBfQVBQX0RCX0hPU1QKICAgICAgLSBfQVBQX0RCX1BPUlQKICAgICAgLSBfQVBQX0RCX1NDSEVNQQogICAgICAtIF9BUFBfREJfVVNFUgogICAgICAtIF9BUFBfREJfUEFTUwogICAgICAtIF9BUFBfRlVOQ1RJT05TX1RJTUVPVVQKICAgICAgLSBfQVBQX0ZVTkNUSU9OU19CVUlMRF9USU1FT1VUCiAgICAgIC0gX0FQUF9GVU5DVElPTlNfQ1BVUwogICAgICAtIF9BUFBfRlVOQ1RJT05TX01FTU9SWQogICAgICAtIF9BUFBfRVhFQ1VUT1JfU0VDUkVUCiAgICAgIC0gX0FQUF9FWEVDVVRPUl9IT1NUCiAgICAgIC0gX0FQUF9VU0FHRV9TVEFUUwogICAgICAtIF9BUFBfRE9DS0VSX0hVQl9VU0VSTkFNRQogICAgICAtIF9BUFBfRE9DS0VSX0hVQl9QQVNTV09SRAogICAgICAtIF9BUFBfTE9HR0lOR19DT05GSUcKICAgICAgLSBfQVBQX0xPR0dJTkdfUFJPVklERVIKICBhcHB3cml0ZS13b3JrZXItbWFpbHM6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjEuNCcKICAgIGVudHJ5cG9pbnQ6IHdvcmtlci1tYWlscwogICAgbG9nZ2luZzoKICAgICAgZHJpdmVyOiBqc29uLWZpbGUKICAgICAgb3B0aW9uczoKICAgICAgICBtYXgtZmlsZTogJzUnCiAgICAgICAgbWF4LXNpemU6IDEwbQogICAgY29udGFpbmVyX25hbWU6IGFwcHdyaXRlLXdvcmtlci1tYWlscwogICAgZGVwZW5kc19vbjoKICAgICAgLSBhcHB3cml0ZS1yZWRpcwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gX0FQUF9FTlYKICAgICAgLSBfQVBQX1dPUktFUl9QRVJfQ09SRQogICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjEKICAgICAgLSBfQVBQX1NZU1RFTV9FTUFJTF9OQU1FCiAgICAgIC0gX0FQUF9TWVNURU1fRU1BSUxfQUREUkVTUwogICAgICAtIF9BUFBfUkVESVNfSE9TVAogICAgICAtIF9BUFBfUkVESVNfUE9SVAogICAgICAtIF9BUFBfUkVESVNfVVNFUgogICAgICAtIF9BUFBfUkVESVNfUEFTUwogICAgICAtIF9BUFBfU01UUF9IT1NUCiAgICAgIC0gX0FQUF9TTVRQX1BPUlQKICAgICAgLSBfQVBQX1NNVFBfU0VDVVJFCiAgICAgIC0gX0FQUF9TTVRQX1VTRVJOQU1FCiAgICAgIC0gX0FQUF9TTVRQX1BBU1NXT1JECiAgICAgIC0gX0FQUF9MT0dHSU5HX1BST1ZJREVSCiAgICAgIC0gX0FQUF9MT0dHSU5HX0NPTkZJRwogIGFwcHdyaXRlLXdvcmtlci1tZXNzYWdpbmc6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjEuNCcKICAgIGVudHJ5cG9pbnQ6IHdvcmtlci1tZXNzYWdpbmcKICAgIGxvZ2dpbmc6CiAgICAgIGRyaXZlcjoganNvbi1maWxlCiAgICAgIG9wdGlvbnM6CiAgICAgICAgbWF4LWZpbGU6ICc1JwogICAgICAgIG1heC1zaXplOiAxMG0KICAgIGNvbnRhaW5lcl9uYW1lOiBhcHB3cml0ZS13b3JrZXItbWVzc2FnaW5nCiAgICBkZXBlbmRzX29uOgogICAgICAtIGFwcHdyaXRlLXJlZGlzCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBfQVBQX0VOVgogICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFCiAgICAgIC0gX0FQUF9SRURJU19IT1NUCiAgICAgIC0gX0FQUF9SRURJU19QT1JUCiAgICAgIC0gX0FQUF9SRURJU19VU0VSCiAgICAgIC0gX0FQUF9SRURJU19QQVNTCiAgICAgIC0gX0FQUF9TTVNfUFJPVklERVIKICAgICAgLSBfQVBQX1NNU19GUk9NCiAgICAgIC0gX0FQUF9MT0dHSU5HX1BST1ZJREVSCiAgICAgIC0gX0FQUF9MT0dHSU5HX0NPTkZJRwogIGFwcHdyaXRlLXdvcmtlci1taWdyYXRpb25zOgogICAgaW1hZ2U6ICdhcHB3cml0ZS9hcHB3cml0ZToxLjQnCiAgICBlbnRyeXBvaW50OiB3b3JrZXItbWlncmF0aW9ucwogICAgbG9nZ2luZzoKICAgICAgZHJpdmVyOiBqc29uLWZpbGUKICAgICAgb3B0aW9uczoKICAgICAgICBtYXgtZmlsZTogJzUnCiAgICAgICAgbWF4LXNpemU6IDEwbQogICAgY29udGFpbmVyX25hbWU6IGFwcHdyaXRlLXdvcmtlci1taWdyYXRpb25zCiAgICBkZXBlbmRzX29uOgogICAgICAtIGFwcHdyaXRlLW1hcmlhZGIKICAgIGVudmlyb25tZW50OgogICAgICAtIF9BUFBfRU5WCiAgICAgIC0gX0FQUF9XT1JLRVJfUEVSX0NPUkUKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxCiAgICAgIC0gX0FQUF9ET01BSU4KICAgICAgLSBfQVBQX0RPTUFJTl9UQVJHRVQKICAgICAgLSBfQVBQX1NZU1RFTV9TRUNVUklUWV9FTUFJTF9BRERSRVNTCiAgICAgIC0gX0FQUF9SRURJU19IT1NUCiAgICAgIC0gX0FQUF9SRURJU19QT1JUCiAgICAgIC0gX0FQUF9SRURJU19VU0VSCiAgICAgIC0gX0FQUF9SRURJU19QQVNTCiAgICAgIC0gX0FQUF9EQl9IT1NUCiAgICAgIC0gX0FQUF9EQl9QT1JUCiAgICAgIC0gX0FQUF9EQl9TQ0hFTUEKICAgICAgLSBfQVBQX0RCX1VTRVIKICAgICAgLSBfQVBQX0RCX1BBU1MKICAgICAgLSBfQVBQX0xPR0dJTkdfUFJPVklERVIKICAgICAgLSBfQVBQX0xPR0dJTkdfQ09ORklHCiAgICAgIC0gX0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9JRAogICAgICAtIF9BUFBfTUlHUkFUSU9OU19GSVJFQkFTRV9DTElFTlRfU0VDUkVUCiAgYXBwd3JpdGUtbWFpbnRlbmFuY2U6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjEuNCcKICAgIGVudHJ5cG9pbnQ6IG1haW50ZW5hbmNlCiAgICBsb2dnaW5nOgogICAgICBkcml2ZXI6IGpzb24tZmlsZQogICAgICBvcHRpb25zOgogICAgICAgIG1heC1maWxlOiAnNScKICAgICAgICBtYXgtc2l6ZTogMTBtCiAgICBjb250YWluZXJfbmFtZTogYXBwd3JpdGUtbWFpbnRlbmFuY2UKICAgIGRlcGVuZHNfb246CiAgICAgIC0gYXBwd3JpdGUtcmVkaXMKICAgIGVudmlyb25tZW50OgogICAgICAtIF9BUFBfRU5WCiAgICAgIC0gX0FQUF9XT1JLRVJfUEVSX0NPUkUKICAgICAgLSBfQVBQX0RPTUFJTgogICAgICAtIF9BUFBfRE9NQUlOX1RBUkdFVAogICAgICAtIF9BUFBfRE9NQUlOX0ZVTkNUSU9OUwogICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjEKICAgICAgLSBfQVBQX1JFRElTX0hPU1QKICAgICAgLSBfQVBQX1JFRElTX1BPUlQKICAgICAgLSBfQVBQX1JFRElTX1VTRVIKICAgICAgLSBfQVBQX1JFRElTX1BBU1MKICAgICAgLSBfQVBQX0RCX0hPU1QKICAgICAgLSBfQVBQX0RCX1BPUlQKICAgICAgLSBfQVBQX0RCX1NDSEVNQQogICAgICAtIF9BUFBfREJfVVNFUgogICAgICAtIF9BUFBfREJfUEFTUwogICAgICAtIF9BUFBfTUFJTlRFTkFOQ0VfSU5URVJWQUwKICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9FWEVDVVRJT04KICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9DQUNIRQogICAgICAtIF9BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FCVVNFCiAgICAgIC0gX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVQKICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9VU0FHRV9IT1VSTFkKICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9TQ0hFRFVMRVMKICBhcHB3cml0ZS11c2FnZToKICAgIGltYWdlOiAnYXBwd3JpdGUvYXBwd3JpdGU6MS40JwogICAgZW50cnlwb2ludDogdXNhZ2UKICAgIGNvbnRhaW5lcl9uYW1lOiBhcHB3cml0ZS11c2FnZQogICAgbG9nZ2luZzoKICAgICAgZHJpdmVyOiBqc29uLWZpbGUKICAgICAgb3B0aW9uczoKICAgICAgICBtYXgtZmlsZTogJzUnCiAgICAgICAgbWF4LXNpemU6IDEwbQogICAgZGVwZW5kc19vbjoKICAgICAgLSBhcHB3cml0ZS1pbmZsdXhkYgogICAgICAtIGFwcHdyaXRlLW1hcmlhZGIKICAgIGVudmlyb25tZW50OgogICAgICAtIF9BUFBfRU5WCiAgICAgIC0gX0FQUF9XT1JLRVJfUEVSX0NPUkUKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxCiAgICAgIC0gX0FQUF9EQl9IT1NUCiAgICAgIC0gX0FQUF9EQl9QT1JUCiAgICAgIC0gX0FQUF9EQl9TQ0hFTUEKICAgICAgLSBfQVBQX0RCX1VTRVIKICAgICAgLSBfQVBQX0RCX1BBU1MKICAgICAgLSBfQVBQX0lORkxVWERCX0hPU1QKICAgICAgLSBfQVBQX0lORkxVWERCX1BPUlQKICAgICAgLSBfQVBQX1VTQUdFX0FHR1JFR0FUSU9OX0lOVEVSVkFMCiAgICAgIC0gX0FQUF9SRURJU19IT1NUCiAgICAgIC0gX0FQUF9SRURJU19QT1JUCiAgICAgIC0gX0FQUF9SRURJU19VU0VSCiAgICAgIC0gX0FQUF9SRURJU19QQVNTCiAgICAgIC0gX0FQUF9VU0FHRV9TVEFUUwogICAgICAtIF9BUFBfTE9HR0lOR19QUk9WSURFUgogICAgICAtIF9BUFBfTE9HR0lOR19DT05GSUcKICBhcHB3cml0ZS1zY2hlZHVsZToKICAgIGltYWdlOiAnYXBwd3JpdGUvYXBwd3JpdGU6MS40JwogICAgZW50cnlwb2ludDogc2NoZWR1bGUKICAgIGNvbnRhaW5lcl9uYW1lOiBhcHB3cml0ZS1zY2hlZHVsZQogICAgbG9nZ2luZzoKICAgICAgZHJpdmVyOiBqc29uLWZpbGUKICAgICAgb3B0aW9uczoKICAgICAgICBtYXgtZmlsZTogJzUnCiAgICAgICAgbWF4LXNpemU6IDEwbQogICAgZGVwZW5kc19vbjoKICAgICAgLSBhcHB3cml0ZS1tYXJpYWRiCiAgICAgIC0gYXBwd3JpdGUtcmVkaXMKICAgIGVudmlyb25tZW50OgogICAgICAtIF9BUFBfRU5WCiAgICAgIC0gX0FQUF9XT1JLRVJfUEVSX0NPUkUKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxCiAgICAgIC0gX0FQUF9SRURJU19IT1NUCiAgICAgIC0gX0FQUF9SRURJU19QT1JUCiAgICAgIC0gX0FQUF9SRURJU19VU0VSCiAgICAgIC0gX0FQUF9SRURJU19QQVNTCiAgICAgIC0gX0FQUF9EQl9IT1NUCiAgICAgIC0gX0FQUF9EQl9QT1JUCiAgICAgIC0gX0FQUF9EQl9TQ0hFTUEKICAgICAgLSBfQVBQX0RCX1VTRVIKICAgICAgLSBfQVBQX0RCX1BBU1MKICBvcGVucnVudGltZXMtZXhlY3V0b3I6CiAgICBjb250YWluZXJfbmFtZTogb3BlbnJ1bnRpbWVzLWV4ZWN1dG9yCiAgICBob3N0bmFtZTogYXBwd3JpdGUtZXhlY3V0b3IKICAgIGxvZ2dpbmc6CiAgICAgIGRyaXZlcjoganNvbi1maWxlCiAgICAgIG9wdGlvbnM6CiAgICAgICAgbWF4LWZpbGU6ICc1JwogICAgICAgIG1heC1zaXplOiAxMG0KICAgIHN0b3Bfc2lnbmFsOiBTSUdJTlQKICAgIGltYWdlOiAnb3BlbnJ1bnRpbWVzL2V4ZWN1dG9yOjAuNC4xJwogICAgdm9sdW1lczoKICAgICAgLSAnL3Zhci9ydW4vZG9ja2VyLnNvY2s6L3Zhci9ydW4vZG9ja2VyLnNvY2snCiAgICAgIC0gJ2FwcHdyaXRlLWJ1aWxkczovc3RvcmFnZS9idWlsZHM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWZ1bmN0aW9uczovc3RvcmFnZS9mdW5jdGlvbnM6cncnCiAgICAgIC0gJy90bXA6L3RtcDpydycKICAgIGVudmlyb25tZW50OgogICAgICAtIE9QUl9FWEVDVVRPUl9JTkFDVElWRV9UUkVTSE9MRD0kX0FQUF9GVU5DVElPTlNfSU5BQ1RJVkVfVEhSRVNIT0xECiAgICAgIC0gT1BSX0VYRUNVVE9SX01BSU5URU5BTkNFX0lOVEVSVkFMPSRfQVBQX0ZVTkNUSU9OU19NQUlOVEVOQU5DRV9JTlRFUlZBTAogICAgICAtIE9QUl9FWEVDVVRPUl9ORVRXT1JLPSRfQVBQX0ZVTkNUSU9OU19SVU5USU1FU19ORVRXT1JLCiAgICAgIC0gT1BSX0VYRUNVVE9SX0RPQ0tFUl9IVUJfVVNFUk5BTUU9JF9BUFBfRE9DS0VSX0hVQl9VU0VSTkFNRQogICAgICAtIE9QUl9FWEVDVVRPUl9ET0NLRVJfSFVCX1BBU1NXT1JEPSRfQVBQX0RPQ0tFUl9IVUJfUEFTU1dPUkQKICAgICAgLSBPUFJfRVhFQ1VUT1JfRU5WPSRfQVBQX0VOVgogICAgICAtIE9QUl9FWEVDVVRPUl9SVU5USU1FUz0kX0FQUF9GVU5DVElPTlNfUlVOVElNRVMKICAgICAgLSBPUFJfRVhFQ1VUT1JfU0VDUkVUPSRfQVBQX0VYRUNVVE9SX1NFQ1JFVAogICAgICAtIE9QUl9FWEVDVVRPUl9MT0dHSU5HX1BST1ZJREVSPSRfQVBQX0xPR0dJTkdfUFJPVklERVIKICAgICAgLSBPUFJfRVhFQ1VUT1JfTE9HR0lOR19DT05GSUc9JF9BUFBfTE9HR0lOR19DT05GSUcKICAgICAgLSBPUFJfRVhFQ1VUT1JfU1RPUkFHRV9ERVZJQ0U9JF9BUFBfU1RPUkFHRV9ERVZJQ0UKICAgICAgLSBPUFJfRVhFQ1VUT1JfU1RPUkFHRV9TM19BQ0NFU1NfS0VZPSRfQVBQX1NUT1JBR0VfUzNfQUNDRVNTX0tFWQogICAgICAtIE9QUl9FWEVDVVRPUl9TVE9SQUdFX1MzX1NFQ1JFVD0kX0FQUF9TVE9SQUdFX1MzX1NFQ1JFVAogICAgICAtIE9QUl9FWEVDVVRPUl9TVE9SQUdFX1MzX1JFR0lPTj0kX0FQUF9TVE9SQUdFX1MzX1JFR0lPTgogICAgICAtIE9QUl9FWEVDVVRPUl9TVE9SQUdFX1MzX0JVQ0tFVD0kX0FQUF9TVE9SQUdFX1MzX0JVQ0tFVAogICAgICAtIE9QUl9FWEVDVVRPUl9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZPSRfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0FDQ0VTU19LRVkKICAgICAgLSBPUFJfRVhFQ1VUT1JfU1RPUkFHRV9ET19TUEFDRVNfU0VDUkVUPSRfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1NFQ1JFVAogICAgICAtIE9QUl9FWEVDVVRPUl9TVE9SQUdFX0RPX1NQQUNFU19SRUdJT049JF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfUkVHSU9OCiAgICAgIC0gT1BSX0VYRUNVVE9SX1NUT1JBR0VfRE9fU1BBQ0VTX0JVQ0tFVD0kX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19CVUNLRVQKICAgICAgLSBPUFJfRVhFQ1VUT1JfU1RPUkFHRV9CQUNLQkxBWkVfQUNDRVNTX0tFWT0kX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9BQ0NFU1NfS0VZCiAgICAgIC0gT1BSX0VYRUNVVE9SX1NUT1JBR0VfQkFDS0JMQVpFX1NFQ1JFVD0kX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9TRUNSRVQKICAgICAgLSBPUFJfRVhFQ1VUT1JfU1RPUkFHRV9CQUNLQkxBWkVfUkVHSU9OPSRfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1JFR0lPTgogICAgICAtIE9QUl9FWEVDVVRPUl9TVE9SQUdFX0JBQ0tCTEFaRV9CVUNLRVQ9JF9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQlVDS0VUCiAgICAgIC0gT1BSX0VYRUNVVE9SX1NUT1JBR0VfTElOT0RFX0FDQ0VTU19LRVk9JF9BUFBfU1RPUkFHRV9MSU5PREVfQUNDRVNTX0tFWQogICAgICAtIE9QUl9FWEVDVVRPUl9TVE9SQUdFX0xJTk9ERV9TRUNSRVQ9JF9BUFBfU1RPUkFHRV9MSU5PREVfU0VDUkVUCiAgICAgIC0gT1BSX0VYRUNVVE9SX1NUT1JBR0VfTElOT0RFX1JFR0lPTj0kX0FQUF9TVE9SQUdFX0xJTk9ERV9SRUdJT04KICAgICAgLSBPUFJfRVhFQ1VUT1JfU1RPUkFHRV9MSU5PREVfQlVDS0VUPSRfQVBQX1NUT1JBR0VfTElOT0RFX0JVQ0tFVAogICAgICAtIE9QUl9FWEVDVVRPUl9TVE9SQUdFX1dBU0FCSV9BQ0NFU1NfS0VZPSRfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVkKICAgICAgLSBPUFJfRVhFQ1VUT1JfU1RPUkFHRV9XQVNBQklfU0VDUkVUPSRfQVBQX1NUT1JBR0VfV0FTQUJJX1NFQ1JFVAogICAgICAtIE9QUl9FWEVDVVRPUl9TVE9SQUdFX1dBU0FCSV9SRUdJT049JF9BUFBfU1RPUkFHRV9XQVNBQklfUkVHSU9OCiAgICAgIC0gT1BSX0VYRUNVVE9SX1NUT1JBR0VfV0FTQUJJX0JVQ0tFVD0kX0FQUF9TVE9SQUdFX1dBU0FCSV9CVUNLRVQKICBhcHB3cml0ZS1tYXJpYWRiOgogICAgaW1hZ2U6ICdtYXJpYWRiOjEwLjcnCiAgICBjb250YWluZXJfbmFtZTogYXBwd3JpdGUtbWFyaWFkYgogICAgbG9nZ2luZzoKICAgICAgZHJpdmVyOiBqc29uLWZpbGUKICAgICAgb3B0aW9uczoKICAgICAgICBtYXgtZmlsZTogJzUnCiAgICAgICAgbWF4LXNpemU6IDEwbQogICAgdm9sdW1lczoKICAgICAgLSAnYXBwd3JpdGUtbWFyaWFkYjovdmFyL2xpYi9teXNxbDpydycKICAgIGVudmlyb25tZW50OgogICAgICAtICdNWVNRTF9ST09UX1BBU1NXT1JEPSR7X0FQUF9EQl9ST09UX1BBU1N9JwogICAgICAtICdNWVNRTF9EQVRBQkFTRT0ke19BUFBfREJfU0NIRU1BfScKICAgICAgLSAnTVlTUUxfVVNFUj0ke19BUFBfREJfVVNFUn0nCiAgICAgIC0gJ01ZU1FMX1BBU1NXT1JEPSR7X0FQUF9EQl9QQVNTfScKICAgIGNvbW1hbmQ6ICdteXNxbGQgLS1pbm5vZGItZmx1c2gtbWV0aG9kPWZzeW5jJwogIGFwcHdyaXRlLXJlZGlzOgogICAgaW1hZ2U6ICdyZWRpczo3LjAuNC1hbHBpbmUnCiAgICBjb250YWluZXJfbmFtZTogYXBwd3JpdGUtcmVkaXMKICAgIGxvZ2dpbmc6CiAgICAgIGRyaXZlcjoganNvbi1maWxlCiAgICAgIG9wdGlvbnM6CiAgICAgICAgbWF4LWZpbGU6ICc1JwogICAgICAgIG1heC1zaXplOiAxMG0KICAgIGNvbW1hbmQ6ICJyZWRpcy1zZXJ2ZXIgLS1tYXhtZW1vcnkgICAgICAgICAgICA1MTJtYiAtLW1heG1lbW9yeS1wb2xpY3kgICAgIGFsbGtleXMtbHJ1IC0tbWF4bWVtb3J5LXNhbXBsZXMgICAgNVxuIgogICAgdm9sdW1lczoKICAgICAgLSAnYXBwd3JpdGUtcmVkaXM6L2RhdGE6cncnCiAgYXBwd3JpdGUtaW5mbHV4ZGI6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2luZmx1eGRiOjEuNS4wJwogICAgY29udGFpbmVyX25hbWU6IGFwcHdyaXRlLWluZmx1eGRiCiAgICBsb2dnaW5nOgogICAgICBkcml2ZXI6IGpzb24tZmlsZQogICAgICBvcHRpb25zOgogICAgICAgIG1heC1maWxlOiAnNScKICAgICAgICBtYXgtc2l6ZTogMTBtCiAgICB2b2x1bWVzOgogICAgICAtICdhcHB3cml0ZS1pbmZsdXhkYjovdmFyL2xpYi9pbmZsdXhkYjpydycKICBhcHB3cml0ZS10ZWxlZ3JhZjoKICAgIGltYWdlOiAnYXBwd3JpdGUvdGVsZWdyYWY6MS40LjAnCiAgICBjb250YWluZXJfbmFtZTogYXBwd3JpdGUtdGVsZWdyYWYKICAgIGxvZ2dpbmc6CiAgICAgIGRyaXZlcjoganNvbi1maWxlCiAgICAgIG9wdGlvbnM6CiAgICAgICAgbWF4LWZpbGU6ICc1JwogICAgICAgIG1heC1zaXplOiAxMG0KICAgIGVudmlyb25tZW50OgogICAgICAtIF9BUFBfSU5GTFVYREJfSE9TVAogICAgICAtIF9BUFBfSU5GTFVYREJfUE9SVAp2b2x1bWVzOgogIGFwcHdyaXRlLW1hcmlhZGI6IG51bGwKICBhcHB3cml0ZS1yZWRpczogbnVsbAogIGFwcHdyaXRlLWNhY2hlOiBudWxsCiAgYXBwd3JpdGUtdXBsb2FkczogbnVsbAogIGFwcHdyaXRlLWNlcnRpZmljYXRlczogbnVsbAogIGFwcHdyaXRlLWZ1bmN0aW9uczogbnVsbAogIGFwcHdyaXRlLWJ1aWxkczogbnVsbAogIGFwcHdyaXRlLWluZmx1eGRiOiBudWxsCiAgYXBwd3JpdGUtY29uZmlnOiBudWxsCg==", "tags": [ "backend-as-a-service", "platform" ], + "logo": "svgs\/appwrite.svg", "envs": "X0FQUF9FTlY9cHJvZHVjdGlvbgpfQVBQX0xPQ0FMRT1lbgpfQVBQX09QVElPTlNfQUJVU0U9ZW5hYmxlZApfQVBQX09QVElPTlNfRk9SQ0VfSFRUUFM9ZGlzYWJsZWQKX0FQUF9PUEVOU1NMX0tFWV9WMT0KX0FQUF9ET01BSU49Cl9BUFBfRE9NQUlOX1RBUkdFVD0KX0FQUF9ET01BSU5fRlVOQ1RJT05TPQpfQVBQX0NPTlNPTEVfV0hJVEVMSVNUX1JPT1Q9ZW5hYmxlZApfQVBQX0NPTlNPTEVfV0hJVEVMSVNUX0VNQUlMUz0KX0FQUF9DT05TT0xFX1dISVRFTElTVF9JUFM9Cl9BUFBfU1lTVEVNX0VNQUlMX05BTUU9QXBwd3JpdGUKX0FQUF9TWVNURU1fRU1BSUxfQUREUkVTUz10ZWFtQGFwcHdyaXRlLmlvCl9BUFBfU1lTVEVNX1JFU1BPTlNFX0ZPUk1BVD0KX0FQUF9TWVNURU1fU0VDVVJJVFlfRU1BSUxfQUREUkVTUz1jZXJ0c0BhcHB3cml0ZS5pbwpfQVBQX1VTQUdFX1NUQVRTPWVuYWJsZWQKX0FQUF9MT0dHSU5HX1BST1ZJREVSPQpfQVBQX0xPR0dJTkdfQ09ORklHPQpfQVBQX1VTQUdFX0FHR1JFR0FUSU9OX0lOVEVSVkFMPTMwCl9BUFBfVVNBR0VfVElNRVNFUklFU19JTlRFUlZBTD0zMApfQVBQX1VTQUdFX0RBVEFCQVNFX0lOVEVSVkFMPTkwMApfQVBQX1dPUktFUl9QRVJfQ09SRT02Cl9BUFBfUkVESVNfSE9TVD1hcHB3cml0ZS1yZWRpcwpfQVBQX1JFRElTX1BPUlQ9NjM3OQpfQVBQX1JFRElTX1VTRVI9Cl9BUFBfUkVESVNfUEFTUz0KX0FQUF9EQl9IT1NUPWFwcHdyaXRlLW1hcmlhZGIKX0FQUF9EQl9QT1JUPTMzMDYKX0FQUF9EQl9TQ0hFTUE9YXBwd3JpdGUKX0FQUF9EQl9VU0VSPSRTRVJWSUNFX1VTRVJfTVlTUUwKX0FQUF9EQl9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX01ZU1FMCl9BUFBfREJfUk9PVF9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX1JPT1RNWVNRTApfQVBQX0lORkxVWERCX0hPU1Q9YXBwd3JpdGUtaW5mbHV4ZGIKX0FQUF9JTkZMVVhEQl9QT1JUPTgwODYKX0FQUF9TVEFUU0RfSE9TVD1hcHB3cml0ZS10ZWxlZ3JhZgpfQVBQX1NUQVRTRF9QT1JUPTgxMjUKX0FQUF9TTVRQX0hPU1Q9Cl9BUFBfU01UUF9QT1JUPQpfQVBQX1NNVFBfU0VDVVJFPQpfQVBQX1NNVFBfVVNFUk5BTUU9Cl9BUFBfU01UUF9QQVNTV09SRD0KX0FQUF9TTVNfUFJPVklERVI9Cl9BUFBfU01TX0ZST009Cl9BUFBfU1RPUkFHRV9MSU1JVD0zMDAwMDAwMApfQVBQX1NUT1JBR0VfUFJFVklFV19MSU1JVD0yMDAwMDAwMApfQVBQX1NUT1JBR0VfQU5USVZJUlVTPWRpc2FibGVkCl9BUFBfU1RPUkFHRV9BTlRJVklSVVNfSE9TVD1hcHB3cml0ZS1jbGFtYXYKX0FQUF9TVE9SQUdFX0FOVElWSVJVU19QT1JUPTMzMTAKX0FQUF9TVE9SQUdFX0RFVklDRT1sb2NhbApfQVBQX1NUT1JBR0VfUzNfQUNDRVNTX0tFWT0KX0FQUF9TVE9SQUdFX1MzX1NFQ1JFVD0KX0FQUF9TVE9SQUdFX1MzX1JFR0lPTj11cy1lYXN0LTEKX0FQUF9TVE9SQUdFX1MzX0JVQ0tFVD0KX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZPQpfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1NFQ1JFVD0KX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19SRUdJT049dXMtZWFzdC0xCl9BUFBfU1RPUkFHRV9ET19TUEFDRVNfQlVDS0VUPQpfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0FDQ0VTU19LRVk9Cl9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfU0VDUkVUPQpfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1JFR0lPTj11cy13ZXN0LTAwNApfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0JVQ0tFVD0KX0FQUF9TVE9SQUdFX0xJTk9ERV9BQ0NFU1NfS0VZPQpfQVBQX1NUT1JBR0VfTElOT0RFX1NFQ1JFVD0KX0FQUF9TVE9SQUdFX0xJTk9ERV9SRUdJT049ZXUtY2VudHJhbC0xCl9BUFBfU1RPUkFHRV9MSU5PREVfQlVDS0VUPQpfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVk9Cl9BUFBfU1RPUkFHRV9XQVNBQklfU0VDUkVUPQpfQVBQX1NUT1JBR0VfV0FTQUJJX1JFR0lPTj1ldS1jZW50cmFsLTEKX0FQUF9TVE9SQUdFX1dBU0FCSV9CVUNLRVQ9Cl9BUFBfRlVOQ1RJT05TX1NJWkVfTElNSVQ9MzAwMDAwMDAKX0FQUF9GVU5DVElPTlNfVElNRU9VVD05MDAKX0FQUF9GVU5DVElPTlNfQlVJTERfVElNRU9VVD05MDAKX0FQUF9GVU5DVElPTlNfQ09OVEFJTkVSUz0xMApfQVBQX0ZVTkNUSU9OU19DUFVTPTAKX0FQUF9GVU5DVElPTlNfTUVNT1JZPTAKX0FQUF9GVU5DVElPTlNfTUVNT1JZX1NXQVA9MApfQVBQX0ZVTkNUSU9OU19SVU5USU1FUz1ub2RlLTIwLjAscGhwLTguMixweXRob24tMy4xMSxydWJ5LTMuMgpfQVBQX0VYRUNVVE9SX1NFQ1JFVD0kU0VSVklDRV9QQVNTV09SRF82NF9BUFBXUklURQpfQVBQX0VYRUNVVE9SX0hPU1Q9aHR0cDovL2FwcHdyaXRlLWV4ZWN1dG9yL3YxCl9BUFBfRVhFQ1VUT1JfUlVOVElNRV9ORVRXT1JLPWFwcHdyaXRlX3J1bnRpbWVzCl9BUFBfRlVOQ1RJT05TX0lOQUNUSVZFX1RIUkVTSE9MRD02MApET0NLRVJIVUJfUFVMTF9VU0VSTkFNRT0KRE9DS0VSSFVCX1BVTExfUEFTU1dPUkQ9CkRPQ0tFUkhVQl9QVUxMX0VNQUlMPQpPUEVOX1JVTlRJTUVTX05FVFdPUks9YXBwd3JpdGVfcnVudGltZXMKX0FQUF9GVU5DVElPTlNfUlVOVElNRVNfTkVUV09SSz1ydW50aW1lcwpfQVBQX0RPQ0tFUl9IVUJfVVNFUk5BTUU9Cl9BUFBfRE9DS0VSX0hVQl9QQVNTV09SRD0KX0FQUF9GVU5DVElPTlNfTUFJTlRFTkFOQ0VfSU5URVJWQUw9MzYwMApfQVBQX1ZDU19HSVRIVUJfQVBQX05BTUU9Cl9BUFBfVkNTX0dJVEhVQl9QUklWQVRFX0tFWT0KX0FQUF9WQ1NfR0lUSFVCX0FQUF9JRD0KX0FQUF9WQ1NfR0lUSFVCX0NMSUVOVF9JRD0KX0FQUF9WQ1NfR0lUSFVCX0NMSUVOVF9TRUNSRVQ9Cl9BUFBfVkNTX0dJVEhVQl9XRUJIT09LX1NFQ1JFVD0KX0FQUF9NQUlOVEVOQU5DRV9JTlRFUlZBTD04NjQwMApfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9DQUNIRT0yNTkyMDAwCl9BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0VYRUNVVElPTj0xMjA5NjAwCl9BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUPTEyMDk2MDAKX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQUJVU0U9ODY0MDAKX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfSE9VUkxZPTg2NDAwMDAKX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fU0NIRURVTEVTPTg2NDAwCl9BUFBfR1JBUEhRTF9NQVhfQkFUQ0hfU0laRT0xMApfQVBQX0dSQVBIUUxfTUFYX0NPTVBMRVhJVFk9MjUwCl9BUFBfR1JBUEhRTF9NQVhfREVQVEg9MwpfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX0lEPQpfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX1NFQ1JFVD0KX0FQUF9BU1NJU1RBTlRfT1BFTkFJX0FQSV9LRVk9Cg==" }, "babybuddy": { "documentation": "https:\/\/docs.baby-buddy.net", - "slogan": "Baby Buddy is an open-source web application that helps parents track their baby's daily activities, growth, and health with ease.", + "slogan": "Baby Buddy helps parents track their baby's daily activities, growth, and health with ease.", "compose": "c2VydmljZXM6CiAgYmFieWJ1ZGR5OgogICAgaW1hZ2U6ICdsc2NyLmlvL2xpbnV4c2VydmVyL2JhYnlidWRkeTpsYXRlc3QnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRVJWSUNFX0ZRRE5fQkFCWUJVRERZCiAgICAgIC0gUFVJRD0xMDAwCiAgICAgIC0gUEdJRD0xMDAwCiAgICAgIC0gVFo9RXVyb3BlL01hZHJpZAogICAgICAtIENTUkZfVFJVU1RFRF9PUklHSU5TPSRTRVJWSUNFX0ZRRE5fQkFCWUJVRERZCiAgICB2b2x1bWVzOgogICAgICAtICdiYWJ5YnVkZHktY29uZmlnOi9jb25maWcnCiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRAogICAgICAgIC0gY3VybAogICAgICAgIC0gJy1mJwogICAgICAgIC0gJ2h0dHA6Ly9sb2NhbGhvc3Q6ODAwMCcKICAgICAgaW50ZXJ2YWw6IDJzCiAgICAgIHRpbWVvdXQ6IDEwcwogICAgICByZXRyaWVzOiAxNQo=", "tags": [ "baby", @@ -31,7 +33,8 @@ "health", "growth", "activities" - ] + ], + "logo": "svgs\/babybuddy.png" }, "budge": { "documentation": "https:\/\/github.com\/linuxserver\/budge", @@ -41,21 +44,23 @@ "personal finance", "budgeting", "expense tracking" - ] + ], + "logo": [] }, "code-server": { - "documentation": "https:\/\/coder.com\/docs\/code-server\/latest\/guide", - "slogan": "Code-Server is a self-hosted, web-based code editor that enables remote coding and collaboration from any device, anywhere.", + "documentation": "https:\/\/coder.com\/docs\/code-server\/latest", + "slogan": "Code-Server is a web-based code editor that enables remote coding and collaboration from any device, anywhere.", "compose": "c2VydmljZXM6CiAgY29kZS1zZXJ2ZXI6CiAgICBpbWFnZTogJ2xzY3IuaW8vbGludXhzZXJ2ZXIvY29kZS1zZXJ2ZXI6bGF0ZXN0JwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gU0VSVklDRV9GUUROX0NPREVTRVJWRVIKICAgICAgLSBQVUlEPTEwMDAKICAgICAgLSBQR0lEPTEwMDAKICAgICAgLSBUWj1FdXJvcGUvTWFkcmlkCiAgICAgIC0gUEFTU1dPUkQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfUEFTU1dPUkRDT0RFU0VSVkVSCiAgICAgIC0gU1VET19QQVNTV09SRD0kU0VSVklDRV9QQVNTV09SRF9TVURPQ09ERVNFUlZFUgogICAgICAtIERFRkFVTFRfV09SS1NQQUNFPS9jb25maWcvd29ya3NwYWNlCiAgICB2b2x1bWVzOgogICAgICAtICdjb2RlLXNlcnZlci1jb25maWc6L2NvbmZpZycKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ECiAgICAgICAgLSBjdXJsCiAgICAgICAgLSAnLWYnCiAgICAgICAgLSAnaHR0cDovL2xvY2FsaG9zdDo4NDQzJwogICAgICBpbnRlcnZhbDogMnMKICAgICAgdGltZW91dDogMTBzCiAgICAgIHJldHJpZXM6IDE1Cg==", "tags": [ "code", "editor", "remote", "collaboration" - ] + ], + "logo": "svgs\/code-server.svg" }, "dashboard": { - "documentation": "https:\/\/github.com\/phntxx\/dashboard\/wiki\/Installation#installation-using-docker", + "documentation": "https:\/\/github.com\/phntxx\/dashboard?tab=readme-ov-file#dashboard", "slogan": "A dashboard. Inspired by SUI, it offers simple customization through JSON-files and a handy search bar to help you browse the internet more efficiently.", "compose": "c2VydmljZXM6CiAgZGFzaGJvYXJkOgogICAgaW1hZ2U6ICdwaG50eHgvZGFzaGJvYXJkOmxhdGVzdCcKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9EQVNIQk9BUkQKICAgIHZvbHVtZXM6CiAgICAgIC0gJ2Rhc2hib2FyZC1kYXRhOi9hcHAvZGF0YScKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ECiAgICAgICAgLSBjdXJsCiAgICAgICAgLSAnLWYnCiAgICAgICAgLSAnaHR0cDovL2xvY2FsaG9zdDo4MDgwJwogICAgICBpbnRlcnZhbDogMnMKICAgICAgdGltZW91dDogMTBzCiAgICAgIHJldHJpZXM6IDE1Cg==", "tags": [ @@ -63,29 +68,32 @@ "web", "search", "bookmarks" - ] + ], + "logo": [] }, "directus-with-postgresql": { - "documentation": "https:\/\/docs.directus.io\/self-hosted\/quickstart.html", - "slogan": "Directus is an open-source tool that wraps custom SQL databases with a dynamic API, and provides an intuitive admin app for managing its content.", + "documentation": "https:\/\/directus.io", + "slogan": "Directus wraps custom SQL databases with a dynamic API, and provides an intuitive admin app for managing its content.", "compose": "c2VydmljZXM6CiAgZGlyZWN0dXM6CiAgICBpbWFnZTogJ2RpcmVjdHVzL2RpcmVjdHVzOjEwJwogICAgdm9sdW1lczoKICAgICAgLSAnZGlyZWN0dXMtdXBsb2FkczovZGlyZWN0dXMvdXBsb2FkcycKICAgICAgLSAnZGlyZWN0dXMtZXh0ZW5zaW9uczovZGlyZWN0dXMvZXh0ZW5zaW9ucycKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9ESVJFQ1RVUwogICAgICAtIEtFWT0kU0VSVklDRV9CQVNFNjRfNjRfS0VZCiAgICAgIC0gU0VDUkVUPSRTRVJWSUNFX0JBU0U2NF82NF9TRUNSRVQKICAgICAgLSAnQURNSU5fRU1BSUw9JHtBRE1JTl9FTUFJTDotYWRtaW5AZXhhbXBsZS5jb219JwogICAgICAtIEFETUlOX1BBU1NXT1JEPSRTRVJWSUNFX1BBU1NXT1JEX0FETUlOCiAgICAgIC0gREJfQ0xJRU5UPXBvc3RncmVzCiAgICAgIC0gREJfSE9TVD1wb3N0Z3Jlc3FsCiAgICAgIC0gREJfUE9SVD01NDMyCiAgICAgIC0gJ0RCX0RBVEFCQVNFPSR7UE9TVEdSRVNRTF9EQVRBQkFTRTotZGlyZWN0dXN9JwogICAgICAtIERCX1VTRVI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFU1FMCiAgICAgIC0gREJfUEFTU1dPUkQ9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVNRTAogICAgICAtIFJFRElTX0hPU1Q9cmVkaXMKICAgICAgLSBSRURJU19QT1JUPTYzNzkKICAgICAgLSBXRUJTT0NLRVRTX0VOQUJMRUQ9dHJ1ZQogIHBvc3RncmVzcWw6CiAgICBpbWFnZTogJ3Bvc3RncmVzOjE2LWFscGluZScKICAgIHZvbHVtZXM6CiAgICAgIC0gJ2RpcmVjdHVzLXBvc3RncmVzcWwtZGF0YTovdmFyL2xpYi9wb3N0Z3Jlc3FsL2RhdGEnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnUE9TVEdSRVNfVVNFUj0ke1NFUlZJQ0VfVVNFUl9QT1NUR1JFU1FMfScKICAgICAgLSAnUE9TVEdSRVNfUEFTU1dPUkQ9JHtTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTUUx9JwogICAgICAtICdQT1NUR1JFU19EQj0ke1BPU1RHUkVTUUxfREFUQUJBU0U6LWRpcmVjdHVzfScKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAncGdfaXNyZWFkeSAtVSAkJHtQT1NUR1JFU19VU0VSfSAtZCAkJHtQT1NUR1JFU19EQn0nCiAgICAgIGludGVydmFsOiA1cwogICAgICB0aW1lb3V0OiAyMHMKICAgICAgcmV0cmllczogMTAKICByZWRpczoKICAgIGltYWdlOiAncmVkaXM6Ny1hbHBpbmUnCiAgICBjb21tYW5kOiAncmVkaXMtc2VydmVyIC0tYXBwZW5kb25seSB5ZXMnCiAgICB2b2x1bWVzOgogICAgICAtICdkaXJlY3R1cy1yZWRpcy1kYXRhOi9kYXRhJwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQKICAgICAgICAtIHJlZGlzLWNsaQogICAgICAgIC0gcGluZwogICAgICBpbnRlcnZhbDogNXMKICAgICAgdGltZW91dDogMjBzCiAgICAgIHJldHJpZXM6IDEwCg==", "tags": [ "directus", "cms", "database", "sql" - ] + ], + "logo": "svgs\/directus.svg" }, "directus": { - "documentation": "https:\/\/docs.directus.io\/self-hosted\/quickstart.html", - "slogan": "Directus is an open-source tool that wraps custom SQL databases with a dynamic API, and provides an intuitive admin app for managing its content.", + "documentation": "https:\/\/directus.io", + "slogan": "Directus wraps custom SQL databases with a dynamic API, and provides an intuitive admin app for managing its content.", "compose": "c2VydmljZXM6CiAgZGlyZWN0dXM6CiAgICBpbWFnZTogJ2RpcmVjdHVzL2RpcmVjdHVzOjEwLjcnCiAgICB2b2x1bWVzOgogICAgICAtICdkaXJlY3R1cy1kYXRhYmFzZTovZGlyZWN0dXMvZGF0YWJhc2UnCiAgICAgIC0gJ2RpcmVjdHVzLXVwbG9hZHM6L2RpcmVjdHVzL3VwbG9hZHMnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRVJWSUNFX0ZRRE5fRElSRUNUVVMKICAgICAgLSBLRVk9JFNFUlZJQ0VfQkFTRTY0XzY0X0tFWQogICAgICAtIFNFQ1JFVD0kU0VSVklDRV9CQVNFNjRfNjRfU0VDUkVUCiAgICAgIC0gJ0FETUlOX0VNQUlMPSR7QURNSU5fRU1BSUw6LWFkbWluQGV4YW1wbGUuY29tfScKICAgICAgLSBBRE1JTl9QQVNTV09SRD0kU0VSVklDRV9QQVNTV09SRF9BRE1JTgogICAgICAtIERCX0NMSUVOVD1zcWxpdGUzCiAgICAgIC0gREJfRklMRU5BTUU9L2RpcmVjdHVzL2RhdGFiYXNlL2RhdGEuZGIKICAgICAgLSBXRUJTT0NLRVRTX0VOQUJMRUQ9dHJ1ZQo=", "tags": [ "directus", "cms", "database", "sql" - ] + ], + "logo": "svgs\/directus.svg" }, "docker-registry": { "documentation": "https:\/\/docs.docker.com\/registry\/", @@ -95,31 +103,34 @@ "registry", "images", "docker" - ] + ], + "logo": "svgs\/docker-registry.png" }, "dokuwiki": { - "documentation": "https:\/\/www.dokuwiki.org\/faq", - "slogan": "A lightweight and easy-to-use wiki platform for creating and managing documentation and knowledge bases with simplicity and flexibility.", + "documentation": "https:\/\/www.dokuwiki.org\/", + "slogan": "A lightweight and easy-to-use wiki platform for creating and managing documentation and knowledge bases.", "compose": "c2VydmljZXM6CiAgZG9rdXdpa2k6CiAgICBpbWFnZTogJ2xzY3IuaW8vbGludXhzZXJ2ZXIvZG9rdXdpa2k6bGF0ZXN0JwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gU0VSVklDRV9GUUROX0RPS1VXSUtJCiAgICAgIC0gUFVJRD0xMDAwCiAgICAgIC0gUEdJRD0xMDAwCiAgICAgIC0gVFo9RXVyb3BlL01hZHJpZAogICAgdm9sdW1lczoKICAgICAgLSAnZG9rdXdpa2ktY29uZmlnOi9jb25maWcnCiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRAogICAgICAgIC0gY3VybAogICAgICAgIC0gJy1mJwogICAgICAgIC0gJ2h0dHA6Ly9sb2NhbGhvc3Q6ODAnCiAgICAgIGludGVydmFsOiAycwogICAgICB0aW1lb3V0OiAxMHMKICAgICAgcmV0cmllczogMTUK", "tags": [ "wiki", "documentation", "knowledge", "base" - ] + ], + "logo": "svgs\/dokuwiki.png" }, "duplicati": { - "documentation": "https:\/\/duplicati.readthedocs.io\/en\/latest\/02-installation\/", - "slogan": "Duplicati is an open-source backup solution, allowing you to safeguard your data with ease through scheduled backups and encryption.", + "documentation": "https:\/\/duplicati.readthedocs.io", + "slogan": "Duplicati is a backup solution, allowing you to make scheduled backups with encryption.", "compose": "c2VydmljZXM6CiAgZHVwbGljYXRpOgogICAgaW1hZ2U6ICdsc2NyLmlvL2xpbnV4c2VydmVyL2R1cGxpY2F0aTpsYXRlc3QnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRVJWSUNFX0ZRRE5fRFVQTElDQVRJCiAgICAgIC0gUFVJRD0xMDAwCiAgICAgIC0gUEdJRD0xMDAwCiAgICAgIC0gVFo9RXVyb3BlL01hZHJpZAogICAgdm9sdW1lczoKICAgICAgLSAnZHVwbGljYXRpLWNvbmZpZzovY29uZmlnJwogICAgICAtICdkdXBsaWNhdGktYmFja3VwczovYmFja3VwcycKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ECiAgICAgICAgLSBjdXJsCiAgICAgICAgLSAnLWYnCiAgICAgICAgLSAnaHR0cDovL2xvY2FsaG9zdDo4MjAwJwogICAgICBpbnRlcnZhbDogMnMKICAgICAgdGltZW91dDogMTBzCiAgICAgIHJldHJpZXM6IDE1Cg==", "tags": [ "backup", "encryption" - ] + ], + "logo": "svgs\/duplicati.webp" }, "emby": { "documentation": "https:\/\/emby.media\/support\/articles\/Home.html", - "slogan": "A media server software that allows you to organize, stream, and access your multimedia content effortlessly, making it easy to enjoy your favorite movies, TV shows, music, and more.", + "slogan": "A media server software that allows you to organize, stream, and access your multimedia content effortlessly.", "compose": "c2VydmljZXM6CiAgZW1ieToKICAgIGltYWdlOiAnbHNjci5pby9saW51eHNlcnZlci9lbWJ5OmxhdGVzdCcKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9FTUJZCiAgICAgIC0gUFVJRD0xMDAwCiAgICAgIC0gUEdJRD0xMDAwCiAgICAgIC0gVFo9RXVyb3BlL01hZHJpZAogICAgdm9sdW1lczoKICAgICAgLSAnZW1ieS1jb25maWc6L2NvbmZpZycKICAgICAgLSAnZW1ieS10dnNob3dzOi90dnNob3dzJwogICAgICAtICdlbWJ5LW1vdmllczovbW92aWVzJwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQKICAgICAgICAtIGN1cmwKICAgICAgICAtICctZicKICAgICAgICAtICdodHRwOi8vbG9jYWxob3N0OjgwOTYnCiAgICAgIGludGVydmFsOiAycwogICAgICB0aW1lb3V0OiAxMHMKICAgICAgcmV0cmllczogMTUK", "tags": [ "media", @@ -127,11 +138,12 @@ "movies", "tv", "music" - ] + ], + "logo": "svgs\/emby.png" }, "embystat": { - "documentation": "https:\/\/github.com\/mregni\/EmbyStat\/wiki\/docker", - "slogan": "EmyStat is an open-source, self-hosted web analytics tool, designed to provide insight into website traffic and user behavior, of your local Emby deployment, all within your control.", + "documentation": "https:\/\/github.com\/mregni\/EmbyStat", + "slogan": "EmnyStat is a web analytics tool, designed to provide insight into website traffic and user behavior.", "compose": "c2VydmljZXM6CiAgZW1ieXN0YXQ6CiAgICBpbWFnZTogJ2xzY3IuaW8vbGludXhzZXJ2ZXIvZW1ieXN0YXQ6bGF0ZXN0JwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gU0VSVklDRV9GUUROX0VNQllTVEFUCiAgICAgIC0gUFVJRD0xMDAwCiAgICAgIC0gUEdJRD0xMDAwCiAgICAgIC0gVFo9RXVyb3BlL01hZHJpZAogICAgdm9sdW1lczoKICAgICAgLSAnZW1ieXN0YXQtY29uZmlnOi9jb25maWcnCiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRAogICAgICAgIC0gY3VybAogICAgICAgIC0gJy1mJwogICAgICAgIC0gJ2h0dHA6Ly9sb2NhbGhvc3Q6NjU1NScKICAgICAgaW50ZXJ2YWw6IDJzCiAgICAgIHRpbWVvdXQ6IDEwcwogICAgICByZXRyaWVzOiAxNQo=", "tags": [ "media", @@ -139,20 +151,22 @@ "movies", "tv", "music" - ] + ], + "logo": [] }, "fider": { - "documentation": "https:\/\/fider.io\/docs", - "slogan": "Fider is an open-source feedback platform for collecting and managing user feedback, helping you prioritize improvements to your products and services.", + "documentation": "https:\/\/fider.io", + "slogan": "Fider is a feedback platform for collecting and managing user feedback.", "compose": "c2VydmljZXM6CiAgZmlkZXI6CiAgICBpbWFnZTogJ2dldGZpZGVyL2ZpZGVyOnN0YWJsZScKICAgIGVudmlyb25tZW50OgogICAgICBCQVNFX1VSTDogJFNFUlZJQ0VfRlFETl9GSURFUgogICAgICBEQVRBQkFTRV9VUkw6ICdwb3N0Z3JlczovLyRTRVJWSUNFX1VTRVJfTVlTUUw6JFNFUlZJQ0VfUEFTU1dPUkRfTVlTUUxAZGF0YWJhc2U6NTQzMi9maWRlcj9zc2xtb2RlPWRpc2FibGUnCiAgICAgIEpXVF9TRUNSRVQ6ICRTRVJWSUNFX1BBU1NXT1JEXzY0X0ZJREVSCiAgICAgIEVNQUlMX05PUkVQTFk6ICcke0VNQUlMX05PUkVQTFk6LW5vcmVwbHlAZXhhbXBsZS5jb219JwogICAgICBFTUFJTF9NQUlMR1VOX0FQSTogJEVNQUlMX01BSUxHVU5fQVBJCiAgICAgIEVNQUlMX01BSUxHVU5fRE9NQUlOOiAkRU1BSUxfTUFJTEdVTl9ET01BSU4KICAgICAgRU1BSUxfTUFJTEdVTl9SRUdJT046ICRFTUFJTF9NQUlMR1VOX1JFR0lPTgogICAgICBFTUFJTF9TTVRQX0hPU1Q6ICcke0VNQUlMX1NNVFBfSE9TVDotc210cC5tYWlsZ3VuLmNvbX0nCiAgICAgIEVNQUlMX1NNVFBfUE9SVDogJyR7RU1BSUxfU01UUF9QT1JUOi01ODd9JwogICAgICBFTUFJTF9TTVRQX1VTRVJOQU1FOiAnJHtFTUFJTF9TTVRQX1VTRVJOQU1FOi1wb3N0bWFzdGVyQG1haWxndW4uY29tfScKICAgICAgRU1BSUxfU01UUF9QQVNTV09SRDogJEVNQUlMX1NNVFBfUEFTU1dPUkQKICAgICAgRU1BSUxfU01UUF9FTkFCTEVfU1RBUlRUTFM6ICRFTUFJTF9TTVRQX0VOQUJMRV9TVEFSVFRMUwogICAgICBFTUFJTF9BV1NTRVNfUkVHSU9OOiAkRU1BSUxfQVdTU0VTX1JFR0lPTgogICAgICBFTUFJTF9BV1NTRVNfQUNDRVNTX0tFWV9JRDogJEVNQUlMX0FXU1NFU19BQ0NFU1NfS0VZX0lECiAgICAgIEVNQUlMX0FXU1NFU19TRUNSRVRfQUNDRVNTX0tFWTogJEVNQUlMX0FXU1NFU19TRUNSRVRfQUNDRVNTX0tFWQogIGRhdGFiYXNlOgogICAgaW1hZ2U6ICdwb3N0Z3JlczoxMicKICAgIHZvbHVtZXM6CiAgICAgIC0gJ3BnX2RhdGE6L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIFBPU1RHUkVTX1VTRVI6ICRTRVJWSUNFX1VTRVJfTVlTUUwKICAgICAgUE9TVEdSRVNfUEFTU1dPUkQ6ICRTRVJWSUNFX1BBU1NXT1JEX01ZU1FMCiAgICAgIFBPU1RHUkVTX0RCOiAnJHtQT1NUR1JFU19EQjotZmlkZXJ9Jwo=", "tags": [ "feedback", "user-feedback" - ] + ], + "logo": "svgs\/fider.svg" }, "filebrowser": { - "documentation": "https:\/\/filebrowser.org\/configuration", - "slogan": "FileBrowser is a self-hosted, web-based file manager and file explorer with a user-friendly interface. It allows you to manage and organize your files and directories directly from your web browser.", + "documentation": "https:\/\/filebrowser.org", + "slogan": "FileBrowser is a web-based file manager and file explorer with a user-friendly interface.", "compose": "c2VydmljZXM6CiAgZmlsZWJyb3dzZXI6CiAgICBpbWFnZTogJ2ZpbGVicm93c2VyL2ZpbGVicm93c2VyOmxhdGVzdCcKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9GSUxFQlJPV1NFUgogICAgdm9sdW1lczoKICAgICAgLQogICAgICAgIHR5cGU6IGJpbmQKICAgICAgICBzb3VyY2U6IC4vc3J2CiAgICAgICAgdGFyZ2V0OiAvc3J2CiAgICAgICAgaXNEaXJlY3Rvcnk6IHRydWUKICAgICAgLSAnLi9kYXRhYmFzZS5kYjovZGF0YWJhc2UuZGInCiAgICAgIC0KICAgICAgICB0eXBlOiBiaW5kCiAgICAgICAgc291cmNlOiAuL2ZpbGVicm93c2VyLmpzb24KICAgICAgICB0YXJnZXQ6IC8uZmlsZWJyb3dzZXIuanNvbgogICAgICAgIHJlYWRfb25seTogdHJ1ZQogICAgICAgIGNvbnRlbnQ6ICd7fScKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ECiAgICAgICAgLSBjdXJsCiAgICAgICAgLSAnLWYnCiAgICAgICAgLSAnaHR0cDovL2xvY2FsaG9zdDo4MCcKICAgICAgaW50ZXJ2YWw6IDJzCiAgICAgIHRpbWVvdXQ6IDEwcwogICAgICByZXRyaWVzOiAxNQo=", "tags": [ "file-management", @@ -160,10 +174,11 @@ "data-organization", "file-utilization", "administration-tool" - ] + ], + "logo": "svgs\/filebrowser.svg" }, "formbricks": { - "documentation": "https:\/\/formbricks.com\/docs\/self-hosting\/docker", + "documentation": "https:\/\/formbricks.com", "slogan": "Open Source Experience Management", "compose": "c2VydmljZXM6CiAgZm9ybWJyaWNrczoKICAgIGltYWdlOiAnZm9ybWJyaWNrcy9mb3JtYnJpY2tzOmxhdGVzdCcKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9GT1JNQlJJQ0tTCiAgICAgIC0gV0VCQVBQX1VSTD0kU0VSVklDRV9GUUROX0ZPUk1CUklDS1MKICAgICAgLSAnREFUQUJBU0VfVVJMPXBvc3RncmVzOi8vJFNFUlZJQ0VfVVNFUl9QT1NUR1JFU1FMOiRTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTUUxAcG9zdGdyZXNxbDo1NDMyLyR7UE9TVEdSRVNRTF9EQVRBQkFTRTotZm9ybWJyaWNrc30nCiAgICAgIC0gTkVYVEFVVEhfU0VDUkVUPSRTRVJWSUNFX0JBU0U2NF82NF9ORVhUQVVUSAogICAgICAtIE5FWFRBVVRIX1VSTD0kU0VSVklDRV9GUUROX0ZPUk1CUklDS1MKICAgICAgLSBFTkNSWVBUSU9OX0tFWT0kU0VSVklDRV9CQVNFNjRfNjRfRU5DUllQVElPTgogICAgICAtICdQT1NUR1JFU19QQVNTV09SRD0ke1NFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVNRTH0nCiAgICAgIC0gJ01BSUxfRlJPTT0ke01BSUxfRlJPTTotdGVzdEBleGFtcGxlLmNvbX0nCiAgICAgIC0gJ1NNVFBfSE9TVD0ke1NNVFBfSE9TVDotdGVzdC5leGFtcGxlLmNvbX0nCiAgICAgIC0gJ1NNVFBfUE9SVD0ke1NNVFBfUE9SVDotNTg3fScKICAgICAgLSAnU01UUF9VU0VSPSR7U01UUF9VU0VSOi10ZXN0fScKICAgICAgLSAnU01UUF9QQVNTV09SRD0ke1NNVFBfUEFTU1dPUkQ6LXRlc3R9JwogICAgICAtICdTTVRQX1NFQ1VSRV9FTkFCTEVEPSR7U01UUF9TRUNVUkVfRU5BQkxFRDotMH0nCiAgICAgIC0gJ1NIT1JUX1VSTF9CQVNFPSR7U0hPUlRfVVJMX0JBU0V9JwogICAgICAtICdFTUFJTF9WRVJJRklDQVRJT05fRElTQUJMRUQ9JHtFTUFJTF9WRVJJRklDQVRJT05fRElTQUJMRUQ6LTF9JwogICAgICAtICdQQVNTV09SRF9SRVNFVF9ESVNBQkxFRD0ke1BBU1NXT1JEX1JFU0VUX0RJU0FCTEVEOi0xfScKICAgICAgLSAnU0lHTlVQX0RJU0FCTEVEPSR7U0lHTlVQX0RJU0FCTEVEOi0wfScKICAgICAgLSAnSU5WSVRFX0RJU0FCTEVEPSR7SU5WSVRFX0RJU0FCTEVEOi0wfScKICAgICAgLSAnUFJJVkFDWV9VUkw9JHtQUklWQUNZX1VSTH0nCiAgICAgIC0gJ1RFUk1TX1VSTD0ke1RFUk1TX1VSTH0nCiAgICAgIC0gJ0lNUFJJTlRfVVJMPSR7SU1QUklOVF9VUkx9JwogICAgICAtICdHSVRIVUJfQVVUSF9FTkFCTEVEPSR7R0lUSFVCX0FVVEhfRU5BQkxFRDotMH0nCiAgICAgIC0gJ0dJVEhVQl9JRD0ke0dJVEhVQl9JRH0nCiAgICAgIC0gJ0dJVEhVQl9TRUNSRVQ9JHtHSVRIVUJfU0VDUkVUfScKICAgICAgLSAnR09PR0xFX0FVVEhfRU5BQkxFRD0ke0dPT0dMRV9BVVRIX0VOQUJMRUQ6LTB9JwogICAgICAtICdHT09HTEVfQ0xJRU5UX0lEPSR7R09PR0xFX0NMSUVOVF9JRH0nCiAgICAgIC0gJ0dPT0dMRV9DTElFTlRfU0VDUkVUPSR7R09PR0xFX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdBU1NFVF9QUkVGSVhfVVJMPSR7QVNTRVRfUFJFRklYX1VSTH0nCiAgICB2b2x1bWVzOgogICAgICAtICdmb3JtYnJpY2tzLXVwbG9hZHM6L2FwcHMvd2ViL3VwbG9hZHMvJwogICAgZGVwZW5kc19vbjoKICAgICAgcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQKICAgICAgICAtIGN1cmwKICAgICAgICAtICctZicKICAgICAgICAtICdodHRwOi8vbG9jYWxob3N0OjMwMDAnCiAgICAgIGludGVydmFsOiAycwogICAgICB0aW1lb3V0OiAxMHMKICAgICAgcmV0cmllczogMTUKICBwb3N0Z3Jlc3FsOgogICAgaW1hZ2U6ICdwb3N0Z3JlczoxNi1hbHBpbmUnCiAgICB2b2x1bWVzOgogICAgICAtICdmb3JtYnJpY2tzLXBvc3RncmVzcWwtZGF0YTovdmFyL2xpYi9wb3N0Z3Jlc3FsL2RhdGEnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnUE9TVEdSRVNfVVNFUj0ke1NFUlZJQ0VfVVNFUl9QT1NUR1JFU1FMfScKICAgICAgLSAnUE9TVEdSRVNfUEFTU1dPUkQ9JHtTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTUUx9JwogICAgICAtICdQT1NUR1JFU19EQj0ke1BPU1RHUkVTUUxfREFUQUJBU0U6LWZvcm1icmlja3N9JwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdwZ19pc3JlYWR5IC1VICQke1BPU1RHUkVTX1VTRVJ9IC1kICQke1BPU1RHUkVTX0RCfScKICAgICAgaW50ZXJ2YWw6IDVzCiAgICAgIHRpbWVvdXQ6IDIwcwogICAgICByZXRyaWVzOiAxMAo=", "tags": [ @@ -175,11 +190,12 @@ "management", "self-hosted", "docker" - ] + ], + "logo": "svgs\/formbricks.png" }, "ghost": { - "documentation": "https:\/\/ghost.org\/docs", - "slogan": "Ghost is a popular open-source content management system (CMS) and blogging platform, known for its simplicity and focus on content creation.", + "documentation": "https:\/\/ghost.org", + "slogan": "Ghost is a content management system (CMS) and blogging platform.", "compose": "c2VydmljZXM6CiAgZ2hvc3Q6CiAgICBpbWFnZTogJ2dob3N0OjUnCiAgICB2b2x1bWVzOgogICAgICAtICdnaG9zdC1jb250ZW50LWRhdGE6L3Zhci9saWIvZ2hvc3QvY29udGVudCcKICAgIGVudmlyb25tZW50OgogICAgICAtIHVybD0kU0VSVklDRV9GUUROX0dIT1NUCiAgICAgIC0gZGF0YWJhc2VfX2NsaWVudD1teXNxbAogICAgICAtIGRhdGFiYXNlX19jb25uZWN0aW9uX19ob3N0PW15c3FsCiAgICAgIC0gZGF0YWJhc2VfX2Nvbm5lY3Rpb25fX3VzZXI9JFNFUlZJQ0VfVVNFUl9NWVNRTAogICAgICAtIGRhdGFiYXNlX19jb25uZWN0aW9uX19wYXNzd29yZD0kU0VSVklDRV9QQVNTV09SRF9NWVNRTAogICAgICAtICdkYXRhYmFzZV9fY29ubmVjdGlvbl9fZGF0YWJhc2U9JHtNWVNRTF9EQVRBQkFTRS1naG9zdH0nCiAgICAgIC0gbWFpbF9fdHJhbnNwb3J0PVNNVFAKICAgICAgLSAnbWFpbF9fb3B0aW9uc19fYXV0aF9fcGFzcz0ke01BSUxfT1BUSU9OU19BVVRIX1BBU1N9JwogICAgICAtICdtYWlsX19vcHRpb25zX19hdXRoX191c2VyPSR7TUFJTF9PUFRJT05TX0FVVEhfVVNFUn0nCiAgICAgIC0gJ21haWxfX29wdGlvbnNfX3NlY3VyZT0ke01BSUxfT1BUSU9OU19TRUNVUkU6LXRydWV9JwogICAgICAtICdtYWlsX19vcHRpb25zX19wb3J0PSR7TUFJTF9PUFRJT05TX1BPUlQ6LTQ2NX0nCiAgICAgIC0gJ21haWxfX29wdGlvbnNfX3NlcnZpY2U9JHtNQUlMX09QVElPTlNfU0VSVklDRTotTWFpbGd1bn0nCiAgICAgIC0gJ21haWxfX29wdGlvbnNfX2hvc3Q9JHtNQUlMX09QVElPTlNfSE9TVH0nCiAgICBkZXBlbmRzX29uOgogICAgICBteXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogIG15c3FsOgogICAgaW1hZ2U6ICdteXNxbDo4LjAnCiAgICB2b2x1bWVzOgogICAgICAtICdnaG9zdC1teXNxbC1kYXRhOi92YXIvbGliL215c3FsJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gJ01ZU1FMX1VTRVI9JHtTRVJWSUNFX1VTRVJfTVlTUUx9JwogICAgICAtICdNWVNRTF9QQVNTV09SRD0ke1NFUlZJQ0VfUEFTU1dPUkRfTVlTUUx9JwogICAgICAtICdNWVNRTF9EQVRBQkFTRT0ke01ZU1FMX0RBVEFCQVNFfScKICAgICAgLSAnTVlTUUxfUk9PVF9QQVNTV09SRD0ke1NFUlZJQ0VfUEFTU1dPUkRfTVlTUUxST09UfScKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ECiAgICAgICAgLSBteXNxbGFkbWluCiAgICAgICAgLSBwaW5nCiAgICAgICAgLSAnLWgnCiAgICAgICAgLSBsb2NhbGhvc3QKICAgICAgaW50ZXJ2YWw6IDVzCiAgICAgIHRpbWVvdXQ6IDIwcwogICAgICByZXRyaWVzOiAxMAo=", "tags": [ "cms", @@ -187,11 +203,12 @@ "content", "management", "system" - ] + ], + "logo": "svgs\/ghost.svg" }, "gitea-with-mariadb": { "documentation": "https:\/\/docs.gitea.com", - "slogan": "Gitea (with MariaDB) is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting.", + "slogan": "Gitea is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting.", "compose": "c2VydmljZXM6CiAgZ2l0ZWE6CiAgICBpbWFnZTogJ2dpdGVhL2dpdGVhOmxhdGVzdCcKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9HSVRFQV8zMDAwCiAgICAgIC0gVVNFUl9VSUQ9MTAwMAogICAgICAtIFVTRVJfR0lEPTEwMDAKICAgICAgLSBHSVRFQV9fZGF0YWJhc2VfX0RCX1RZUEU9bXlzcWwKICAgICAgLSBHSVRFQV9fZGF0YWJhc2VfX0hPU1Q9bWFyaWFkYgogICAgICAtICdHSVRFQV9fZGF0YWJhc2VfX05BTUU9JHtNWVNRTF9EQVRBQkFTRS1naXRlYX0nCiAgICAgIC0gR0lURUFfX2RhdGFiYXNlX19VU0VSPSRTRVJWSUNFX1VTRVJfTVlTUUwKICAgICAgLSBHSVRFQV9fZGF0YWJhc2VfX1BBU1NXRD0kU0VSVklDRV9QQVNTV09SRF9NWVNRTAogICAgdm9sdW1lczoKICAgICAgLSAnZ2l0ZWEtZGF0YTovdmFyL2xpYi9naXRlYScKICAgICAgLSAnZ2l0ZWEtdGltZXpvbmU6L2V0Yy90aW1lem9uZTpybycKICAgICAgLSAnZ2l0ZWEtbG9jYWx0aW1lOi9ldGMvbG9jYWx0aW1lOnJvJwogICAgcG9ydHM6CiAgICAgIC0gJzIyMjIyOjIyJwogICAgZGVwZW5kc19vbjoKICAgICAgbWFyaWFkYjoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQKICAgICAgICAtIGN1cmwKICAgICAgICAtICctZicKICAgICAgICAtICdodHRwOi8vbG9jYWxob3N0OjMwMDAnCiAgICAgIGludGVydmFsOiAycwogICAgICB0aW1lb3V0OiAxMHMKICAgICAgcmV0cmllczogMTUKICBtYXJpYWRiOgogICAgaW1hZ2U6ICdtYXJpYWRiOjExJwogICAgdm9sdW1lczoKICAgICAgLSAnZ2l0ZWEtbWFyaWFkYi1kYXRhOi92YXIvbGliL215c3FsJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gJ01ZU1FMX1VTRVI9JHtTRVJWSUNFX1VTRVJfTVlTUUx9JwogICAgICAtICdNWVNRTF9QQVNTV09SRD0ke1NFUlZJQ0VfUEFTU1dPUkRfTVlTUUx9JwogICAgICAtICdNWVNRTF9EQVRBQkFTRT0ke01ZU1FMX0RBVEFCQVNFfScKICAgICAgLSAnTVlTUUxfUk9PVF9QQVNTV09SRD0ke1NFUlZJQ0VfUEFTU1dPUkRfTVlTUUxST09UfScKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ECiAgICAgICAgLSBoZWFsdGhjaGVjay5zaAogICAgICAgIC0gJy0tY29ubmVjdCcKICAgICAgICAtICctLWlubm9kYl9pbml0aWFsaXplZCcKICAgICAgaW50ZXJ2YWw6IDVzCiAgICAgIHRpbWVvdXQ6IDIwcwogICAgICByZXRyaWVzOiAxMAo=", "tags": [ "version control", @@ -200,11 +217,12 @@ "hosting", "lightweight", "mariadb" - ] + ], + "logo": "svgs\/gitea.svg" }, "gitea-with-mysql": { "documentation": "https:\/\/docs.gitea.com", - "slogan": "Gitea (with MySQL) is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting.", + "slogan": "Gitea is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting.", "compose": "c2VydmljZXM6CiAgZ2l0ZWE6CiAgICBpbWFnZTogJ2dpdGVhL2dpdGVhOmxhdGVzdCcKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9HSVRFQV8zMDAwCiAgICAgIC0gVVNFUl9VSUQ9MTAwMAogICAgICAtIFVTRVJfR0lEPTEwMDAKICAgICAgLSBHSVRFQV9fZGF0YWJhc2VfX0RCX1RZUEU9bXlzcWwKICAgICAgLSBHSVRFQV9fZGF0YWJhc2VfX0hPU1Q9bXlzcWwKICAgICAgLSAnR0lURUFfX2RhdGFiYXNlX19OQU1FPSR7TVlTUUxfREFUQUJBU0UtZ2l0ZWF9JwogICAgICAtIEdJVEVBX19kYXRhYmFzZV9fVVNFUj0kU0VSVklDRV9VU0VSX01ZU1FMCiAgICAgIC0gR0lURUFfX2RhdGFiYXNlX19QQVNTV0Q9JFNFUlZJQ0VfUEFTU1dPUkRfTVlTUUwKICAgIHZvbHVtZXM6CiAgICAgIC0gJ2dpdGVhLWRhdGE6L3Zhci9saWIvZ2l0ZWEnCiAgICAgIC0gJ2dpdGVhLXRpbWV6b25lOi9ldGMvdGltZXpvbmU6cm8nCiAgICAgIC0gJ2dpdGVhLWxvY2FsdGltZTovZXRjL2xvY2FsdGltZTpybycKICAgIHBvcnRzOgogICAgICAtICcyMjIyMjoyMicKICAgIGRlcGVuZHNfb246CiAgICAgIG15c3FsOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRAogICAgICAgIC0gY3VybAogICAgICAgIC0gJy1mJwogICAgICAgIC0gJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMCcKICAgICAgaW50ZXJ2YWw6IDJzCiAgICAgIHRpbWVvdXQ6IDEwcwogICAgICByZXRyaWVzOiAxNQogIG15c3FsOgogICAgaW1hZ2U6ICdteXNxbDo4LjAnCiAgICB2b2x1bWVzOgogICAgICAtICdnaXRlYS1teXNxbC1kYXRhOi92YXIvbGliL215c3FsJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gJ01ZU1FMX1VTRVI9JHtTRVJWSUNFX1VTRVJfTVlTUUx9JwogICAgICAtICdNWVNRTF9QQVNTV09SRD0ke1NFUlZJQ0VfUEFTU1dPUkRfTVlTUUx9JwogICAgICAtICdNWVNRTF9EQVRBQkFTRT0ke01ZU1FMX0RBVEFCQVNFfScKICAgICAgLSAnTVlTUUxfUk9PVF9QQVNTV09SRD0ke1NFUlZJQ0VfUEFTU1dPUkRfTVlTUUxST09UfScKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ECiAgICAgICAgLSBteXNxbGFkbWluCiAgICAgICAgLSBwaW5nCiAgICAgICAgLSAnLWgnCiAgICAgICAgLSBsb2NhbGhvc3QKICAgICAgaW50ZXJ2YWw6IDVzCiAgICAgIHRpbWVvdXQ6IDIwcwogICAgICByZXRyaWVzOiAxMAo=", "tags": [ "version control", @@ -213,11 +231,12 @@ "hosting", "lightweight", "mysql" - ] + ], + "logo": "svgs\/gitea.svg" }, "gitea-with-postgresql": { "documentation": "https:\/\/docs.gitea.com", - "slogan": "Gitea (with PostgreSQL)vis a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting.", + "slogan": "Gitea is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting.", "compose": "c2VydmljZXM6CiAgZ2l0ZWE6CiAgICBpbWFnZTogJ2dpdGVhL2dpdGVhOmxhdGVzdCcKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9HSVRFQV8zMDAwCiAgICAgIC0gVVNFUl9VSUQ9MTAwMAogICAgICAtIFVTRVJfR0lEPTEwMDAKICAgICAgLSBHSVRFQV9fZGF0YWJhc2VfX0RCX1RZUEU9cG9zdGdyZXMKICAgICAgLSBHSVRFQV9fZGF0YWJhc2VfX0hPU1Q9cG9zdGdyZXNxbAogICAgICAtICdHSVRFQV9fZGF0YWJhc2VfX05BTUU9JHtQT1NUR1JFU1FMX0RBVEFCQVNFLWdpdGVhfScKICAgICAgLSBHSVRFQV9fZGF0YWJhc2VfX1VTRVI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFU1FMCiAgICAgIC0gR0lURUFfX2RhdGFiYXNlX19QQVNTV0Q9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVNRTAogICAgdm9sdW1lczoKICAgICAgLSAnZ2l0ZWEtZGF0YTovdmFyL2xpYi9naXRlYScKICAgICAgLSAnZ2l0ZWEtdGltZXpvbmU6L2V0Yy90aW1lem9uZTpybycKICAgICAgLSAnZ2l0ZWEtbG9jYWx0aW1lOi9ldGMvbG9jYWx0aW1lOnJvJwogICAgcG9ydHM6CiAgICAgIC0gJzIyMjIyOjIyJwogICAgZGVwZW5kc19vbjoKICAgICAgcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQKICAgICAgICAtIGN1cmwKICAgICAgICAtICctZicKICAgICAgICAtICdodHRwOi8vbG9jYWxob3N0OjMwMDAnCiAgICAgIGludGVydmFsOiAycwogICAgICB0aW1lb3V0OiAxMHMKICAgICAgcmV0cmllczogMTUKICBwb3N0Z3Jlc3FsOgogICAgaW1hZ2U6ICdwb3N0Z3JlczoxNi1hbHBpbmUnCiAgICB2b2x1bWVzOgogICAgICAtICdnaXRlYS1wb3N0Z3Jlc3FsLWRhdGE6L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gJ1BPU1RHUkVTX1VTRVI9JHtTRVJWSUNFX1VTRVJfUE9TVEdSRVNRTH0nCiAgICAgIC0gJ1BPU1RHUkVTX1BBU1NXT1JEPSR7U0VSVklDRV9QQVNTV09SRF9QT1NUR1JFU1FMfScKICAgICAgLSAnUE9TVEdSRVNfREI9JHtQT1NUR1JFU1FMX0RBVEFCQVNFfScKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAncGdfaXNyZWFkeSAtVSAkJHtQT1NUR1JFU19VU0VSfSAtZCAkJHtQT1NUR1JFU19EQn0nCiAgICAgIGludGVydmFsOiA1cwogICAgICB0aW1lb3V0OiAyMHMKICAgICAgcmV0cmllczogMTAK", "tags": [ "version control", @@ -226,7 +245,8 @@ "hosting", "lightweight", "postgresql" - ] + ], + "logo": "svgs\/gitea.svg" }, "gitea": { "documentation": "https:\/\/docs.gitea.com", @@ -238,7 +258,8 @@ "code", "hosting", "lightweight" - ] + ], + "logo": "svgs\/gitea.svg" }, "glitchtip": { "documentation": "https:\/\/glitchtip.com", @@ -250,7 +271,8 @@ "open-source", "self-hosted", "sentry" - ] + ], + "logo": "svgs\/glitchtip.png" }, "grafana-with-postgresql": { "documentation": "https:\/\/grafana.com\/docs\/grafana\/latest\/installation\/docker\/", @@ -261,7 +283,8 @@ "analytics", "monitoring", "dashboard" - ] + ], + "logo": "svgs\/grafana.svg" }, "grafana": { "documentation": "https:\/\/grafana.com\/docs\/grafana\/latest\/installation\/docker\/", @@ -272,11 +295,12 @@ "analytics", "monitoring", "dashboard" - ] + ], + "logo": "svgs\/grafana.svg" }, "grocy": { "documentation": "https:\/\/github.com\/grocy\/grocy", - "slogan": "Grocy is a self-hosted, web-based household management and grocery list application, designed to simplify your household chores and grocery shopping.", + "slogan": "Grocy is a web-based household management and grocery list application.", "compose": "c2VydmljZXM6CiAgZ3JvY3k6CiAgICBpbWFnZTogJ2xzY3IuaW8vbGludXhzZXJ2ZXIvZ3JvY3k6bGF0ZXN0JwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gU0VSVklDRV9GUUROX0dST0NZCiAgICAgIC0gUFVJRD0xMDAwCiAgICAgIC0gUEdJRD0xMDAwCiAgICAgIC0gVFo9RXVyb3BlL01hZHJpZAogICAgdm9sdW1lczoKICAgICAgLSAnZ3JvY3ktY29uZmlnOi9jb25maWcnCiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRAogICAgICAgIC0gY3VybAogICAgICAgIC0gJy1mJwogICAgICAgIC0gJ2h0dHA6Ly9sb2NhbGhvc3Q6ODAnCiAgICAgIGludGVydmFsOiAycwogICAgICB0aW1lb3V0OiAxMHMKICAgICAgcmV0cmllczogMTUK", "tags": [ "groceries", @@ -284,7 +308,8 @@ "management", "grocery", "shopping" - ] + ], + "logo": "svgs\/grocy.svg" }, "heimdall": { "documentation": "https:\/\/github.com\/linuxserver\/Heimdall", @@ -295,7 +320,8 @@ "server", "applications", "interface" - ] + ], + "logo": [] }, "jellyfin": { "documentation": "https:\/\/jellyfin.org\/docs\/", @@ -307,7 +333,8 @@ "movies", "tv", "music" - ] + ], + "logo": [] }, "kuzzle": { "documentation": "https:\/\/docs.kuzzle.io\/", @@ -324,7 +351,8 @@ "iot", "geofencing", "low-code" - ] + ], + "logo": [] }, "meilisearch": { "documentation": "https:\/\/www.meilisearch.com\/docs\/learn\/configuration\/instance_options", @@ -337,7 +365,8 @@ "full", "text", "meilisearch" - ] + ], + "logo": [] }, "metabase": { "documentation": "https:\/\/www.metabase.com\/docs\/latest\/installation-and-operation\/running-metabase-on-docker", @@ -348,7 +377,8 @@ "bi", "business", "intelligence" - ] + ], + "logo": [] }, "metube": { "documentation": "https:\/\/github.com\/alexta69\/metube", @@ -359,7 +389,8 @@ "download", "videos", "playlist" - ] + ], + "logo": [] }, "minio": { "documentation": "https:\/\/docs.min.io\/docs\/minio-docker-quickstart-guide.html", @@ -371,7 +402,8 @@ "server", "s3", "api" - ] + ], + "logo": [] }, "moodle": { "documentation": "https:\/\/moodle.org", @@ -387,7 +419,8 @@ "source", "low", "code" - ] + ], + "logo": [] }, "n8n-with-postgresql": { "documentation": "https:\/\/docs.n8n.io\/hosting\/", @@ -401,7 +434,8 @@ "source", "low", "code" - ] + ], + "logo": [] }, "n8n": { "documentation": "https:\/\/docs.n8n.io\/hosting\/", @@ -415,7 +449,8 @@ "source", "low", "code" - ] + ], + "logo": [] }, "nextcloud": { "documentation": "https:\/\/docs.nextcloud.com", @@ -427,7 +462,8 @@ "communication", "filestorage", "data" - ] + ], + "logo": [] }, "nocodb": { "documentation": "https:\/\/docs.nocodb.com\/", @@ -441,7 +477,8 @@ "sqlserver", "sqlite", "mariadb" - ] + ], + "logo": [] }, "openblocks": { "documentation": "https:\/\/docs.openblocks.dev\/self-hosting", @@ -456,7 +493,8 @@ "source", "low", "code" - ] + ], + "logo": [] }, "pairdrop": { "documentation": "https:\/\/github.com\/schlagmichdoch\/PairDrop", @@ -467,7 +505,8 @@ "sharing", "collaboration", "teamwork" - ] + ], + "logo": [] }, "phpmyadmin": { "documentation": "https:\/\/docs.phpmyadmin.net\/en\/latest\/", @@ -475,7 +514,8 @@ "compose": "c2VydmljZXM6CiAgcGhwbXlhZG1pbjoKICAgIGltYWdlOiAnbHNjci5pby9saW51eHNlcnZlci9waHBteWFkbWluOmxhdGVzdCcKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9QSFBNWUFETUlOCiAgICAgIC0gUFVJRD0xMDAwCiAgICAgIC0gUEdJRD0xMDAwCiAgICAgIC0gVFo9RXVyb3BlL01hZHJpZAogICAgICAtIFBNQV9BUkJJVFJBUlk9MQogICAgICAtIFBNQV9BQlNPTFVURV9VUkk9JFNFUlZJQ0VfRlFETl9QSFBNWUFETUlOCiAgICB2b2x1bWVzOgogICAgICAtICdwaHBteWFkbWluLWNvbmZpZzovY29uZmlnJwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQKICAgICAgICAtIGN1cmwKICAgICAgICAtICctZicKICAgICAgICAtICdodHRwOi8vbG9jYWxob3N0OjgwJwogICAgICBpbnRlcnZhbDogMnMKICAgICAgdGltZW91dDogMTBzCiAgICAgIHJldHJpZXM6IDE1Cg==", "tags": [ "database management" - ] + ], + "logo": [] }, "pocketbase": { "documentation": "https:\/\/pocketbase.io\/docs\/", @@ -487,7 +527,8 @@ "saas", "mobile", "api" - ] + ], + "logo": [] }, "snapdrop": { "documentation": "https:\/\/github.com\/RobinLinus\/snapdrop", @@ -500,7 +541,8 @@ "local", "network", "internet" - ] + ], + "logo": [] }, "stirling-pdf": { "documentation": "https:\/\/github.com\/Stirling-Tools\/Stirling-PDF", @@ -511,17 +553,19 @@ "manipulation", "web", "tool" - ] + ], + "logo": [] }, "syncthing": { "documentation": "https:\/\/syncthing.net\/", - "slogan": "Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers in real time, safely protected from prying eyes. Your data is your data alone and you deserve to choose where it is stored, whether it is shared with some third party, and how it\u2019s transmitted over the internet.", + "slogan": "Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers in real time.", "compose": "c2VydmljZXM6CiAgc3luY3RoaW5nOgogICAgaW1hZ2U6ICdsc2NyLmlvL2xpbnV4c2VydmVyL3N5bmN0aGluZzpsYXRlc3QnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRVJWSUNFX0ZRRE5fU1lOQ1RISU5HCiAgICAgIC0gUFVJRD0xMDAwCiAgICAgIC0gUEdJRD0xMDAwCiAgICAgIC0gVFo9RXRjL1VUQwogICAgdm9sdW1lczoKICAgICAgLSAnc3luY3RoaW5nLWNvbmZpZzovY29uZmlnJwogICAgICAtICdzeW5jdGhpbmctZGF0YTE6L2RhdGExJwogICAgICAtICdzeW5jdGhpbmctZGF0YTI6L2RhdGEyJwogICAgcG9ydHM6CiAgICAgIC0gJzIyMDAwOjIyMDAwL3RjcCcKICAgICAgLSAnMjIwMDA6MjIwMDAvdWRwJwogICAgICAtICcyMTAyNzoyMTAyNy91ZHAnCg==", "tags": [ "filestorage", "data", "synchronization" - ] + ], + "logo": "svgs\/syncthing.svg" }, "trigger-with-external-database": { "documentation": "https:\/\/trigger.dev\/docs\/documentation\/guides\/self-hosting", @@ -535,7 +579,8 @@ "jobs", "cron", "scheduler" - ] + ], + "logo": [] }, "trigger": { "documentation": "https:\/\/trigger.dev\/docs\/documentation\/guides\/self-hosting", @@ -549,7 +594,8 @@ "jobs", "cron", "scheduler" - ] + ], + "logo": [] }, "umami": { "documentation": "https:\/\/umami.is\/docs\/getting-started", @@ -559,7 +605,8 @@ "analytics", "insights", "privacy" - ] + ], + "logo": [] }, "uptime-kuma": { "documentation": "https:\/\/github.com\/louislam\/uptime-kuma\/wiki", @@ -573,7 +620,8 @@ "services", "applications", "real-time" - ] + ], + "logo": [] }, "vaultwarden": { "documentation": "https:\/\/github.com\/dani-garcia\/vaultwarden\/wiki\/FAQs", @@ -582,7 +630,8 @@ "tags": [ "password manager", "security" - ] + ], + "logo": [] }, "weblate": { "documentation": "https:\/\/docs.weblate.org\/en\/latest\/admin\/install\/docker.html", @@ -596,7 +645,8 @@ "continuous", "libre", "software" - ] + ], + "logo": [] }, "whoogle": { "documentation": "https:\/\/github.com\/benbusby\/whoogle-search#install", @@ -605,7 +655,8 @@ "tags": [ "privacy", "search engine" - ] + ], + "logo": [] }, "wordpress-with-mariadb": { "documentation": "https:\/\/wordpress.org\/documentation\/", @@ -617,7 +668,8 @@ "content", "management", "mariadb" - ] + ], + "logo": [] }, "wordpress-with-mysql": { "documentation": "https:\/\/wordpress.org\/documentation\/", @@ -629,7 +681,8 @@ "content", "management", "mysql" - ] + ], + "logo": [] }, "wordpress-without-database": { "documentation": "https:\/\/wordpress.org\/documentation\/", @@ -640,6 +693,7 @@ "blog", "content", "management" - ] + ], + "logo": [] } } \ No newline at end of file