Update port numbers for services
This commit is contained in:
		@@ -637,7 +637,7 @@ function parseDockerComposeFile(Service|Application $resource, bool $isNew = fal
 | 
				
			|||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    $tempServiceName = $serviceName;
 | 
					                    $tempServiceName = $serviceName;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                if (str(data_get($service,'image'))->contains('glitchtip')) {
 | 
					                if (str(data_get($service, 'image'))->contains('glitchtip')) {
 | 
				
			||||||
                    $tempServiceName = 'glitchtip';
 | 
					                    $tempServiceName = 'glitchtip';
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                $serviceDefinition = data_get($allServices, $tempServiceName);
 | 
					                $serviceDefinition = data_get($allServices, $tempServiceName);
 | 
				
			||||||
@@ -1023,21 +1023,18 @@ function parseDockerComposeFile(Service|Application $resource, bool $isNew = fal
 | 
				
			|||||||
                                        $savedService->save();
 | 
					                                        $savedService->save();
 | 
				
			||||||
                                    }
 | 
					                                    }
 | 
				
			||||||
                                    // Caddy needs exact port in some cases.
 | 
					                                    // Caddy needs exact port in some cases.
 | 
				
			||||||
                                    ray($predefinedPort, $key, $fqdn);
 | 
					                                    if ($predefinedPort && !$key->endsWith("_{$predefinedPort}") && $command?->value() === 'FQDN' && $resource->server->proxyType() === 'CADDY') {
 | 
				
			||||||
                                    if ($predefinedPort && !$key->endsWith("_{$predefinedPort}")) {
 | 
					                                        $env = EnvironmentVariable::where([
 | 
				
			||||||
                                        if ($resource->server->proxyType() === 'CADDY') {
 | 
					                                            'key' => $key,
 | 
				
			||||||
                                            $env = EnvironmentVariable::where([
 | 
					                                            'service_id' => $resource->id,
 | 
				
			||||||
                                                'key' => $key,
 | 
					                                        ])->first();
 | 
				
			||||||
                                                'service_id' => $resource->id,
 | 
					                                        if ($env) {
 | 
				
			||||||
                                            ])->first();
 | 
					                                            $env_url = Url::fromString($env->value);
 | 
				
			||||||
                                            if ($env) {
 | 
					                                            $env_port = $env_url->getPort();
 | 
				
			||||||
                                                $env_url = Url::fromString($env->value);
 | 
					                                            if ($env_port !== $predefinedPort) {
 | 
				
			||||||
                                                $env_port = $env_url->getPort();
 | 
					                                                $env_url = $env_url->withPort($predefinedPort);
 | 
				
			||||||
                                                if ($env_port !== $predefinedPort) {
 | 
					                                                $savedService->fqdn = $env_url->__toString();
 | 
				
			||||||
                                                    $env_url = $env_url->withPort($predefinedPort);
 | 
					                                                $savedService->save();
 | 
				
			||||||
                                                    $savedService->fqdn = $env_url->__toString();
 | 
					 | 
				
			||||||
                                                    $savedService->save();
 | 
					 | 
				
			||||||
                                                }
 | 
					 | 
				
			||||||
                                            }
 | 
					                                            }
 | 
				
			||||||
                                        }
 | 
					                                        }
 | 
				
			||||||
                                    }
 | 
					                                    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -289,10 +289,10 @@
 | 
				
			|||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                @endforelse
 | 
					                @endforelse
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
            @if ($isDatabase)
 | 
					            {{-- @if ($isDatabase)
 | 
				
			||||||
                <div class="text-center">Swarm clusters are excluded from this type of resource at the moment. It will
 | 
					                <div class="text-center">Swarm clusters are excluded from this type of resource at the moment. It will
 | 
				
			||||||
                    be activated soon. Stay tuned.</div>
 | 
					                    be activated soon. Stay tuned.</div>
 | 
				
			||||||
            @endif
 | 
					            @endif --}}
 | 
				
			||||||
        @endif
 | 
					        @endif
 | 
				
			||||||
        @if ($current_step === 'destinations')
 | 
					        @if ($current_step === 'destinations')
 | 
				
			||||||
            <ul class="pb-10 steps">
 | 
					            <ul class="pb-10 steps">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,7 @@
 | 
				
			|||||||
# slogan: Fast analytics with the friendly UX and integrated tooling to let your company explore data on their own.
 | 
					# slogan: Fast analytics with the friendly UX and integrated tooling to let your company explore data on their own.
 | 
				
			||||||
# tags: analytics,bi,business,intelligence
 | 
					# tags: analytics,bi,business,intelligence
 | 
				
			||||||
# logo: svgs/metabase.svg
 | 
					# logo: svgs/metabase.svg
 | 
				
			||||||
 | 
					# port: 3000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
  metabase:
 | 
					  metabase:
 | 
				
			||||||
@@ -9,7 +10,7 @@ services:
 | 
				
			|||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - /dev/urandom:/dev/random:ro
 | 
					      - /dev/urandom:/dev/random:ro
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - SERVICE_FQDN_METABASE
 | 
					      - SERVICE_FQDN_METABASE_3000
 | 
				
			||||||
      - MB_DB_TYPE=postgres
 | 
					      - MB_DB_TYPE=postgres
 | 
				
			||||||
      - MB_DB_HOST=postgresql
 | 
					      - MB_DB_HOST=postgresql
 | 
				
			||||||
      - MB_DB_PORT=5432
 | 
					      - MB_DB_PORT=5432
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,12 +1,13 @@
 | 
				
			|||||||
# documentation: https://github.com/alexta69/metube
 | 
					# documentation: https://github.com/alexta69/metube
 | 
				
			||||||
# slogan: A web GUI for youtube-dl with playlist support. It enables you to effortlessly download videos from YouTube and dozens of other sites.
 | 
					# slogan: A web GUI for youtube-dl with playlist support. It enables you to effortlessly download videos from YouTube and dozens of other sites.
 | 
				
			||||||
# tags: youtube, download, videos, playlist
 | 
					# tags: youtube, download, videos, playlist
 | 
				
			||||||
 | 
					# port: 8081
 | 
				
			||||||
 | 
					
 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
  metube:
 | 
					  metube:
 | 
				
			||||||
    image: ghcr.io/alexta69/metube:latest
 | 
					    image: ghcr.io/alexta69/metube:latest
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - SERVICE_FQDN_METUBE
 | 
					      - SERVICE_FQDN_METUBE_8081
 | 
				
			||||||
      - UID=1000
 | 
					      - UID=1000
 | 
				
			||||||
      - GID=1000
 | 
					      - GID=1000
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,7 @@
 | 
				
			|||||||
# slogan: Moodle is the world’s most customisable and trusted eLearning solution that empowers educators to improve our world.
 | 
					# slogan: Moodle is the world’s most customisable and trusted eLearning solution that empowers educators to improve our world.
 | 
				
			||||||
# tags: moodle, elearning, education, lms, cms, open, source, low, code
 | 
					# tags: moodle, elearning, education, lms, cms, open, source, low, code
 | 
				
			||||||
# logo: svgs/moodle.png
 | 
					# logo: svgs/moodle.png
 | 
				
			||||||
 | 
					# port: 8080
 | 
				
			||||||
 | 
					
 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
  mariadb:
 | 
					  mariadb:
 | 
				
			||||||
@@ -20,7 +21,7 @@ services:
 | 
				
			|||||||
  moodle:
 | 
					  moodle:
 | 
				
			||||||
    image: docker.io/bitnami/moodle:4.3
 | 
					    image: docker.io/bitnami/moodle:4.3
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - SERVICE_FQDN_MOODLE
 | 
					      - SERVICE_FQDN_MOODLE_8080
 | 
				
			||||||
      - MOODLE_DATABASE_HOST=mariadb
 | 
					      - MOODLE_DATABASE_HOST=mariadb
 | 
				
			||||||
      - MOODLE_DATABASE_PORT_NUMBER=3306
 | 
					      - MOODLE_DATABASE_PORT_NUMBER=3306
 | 
				
			||||||
      - MOODLE_DATABASE_USER=$SERVICE_USER_MARIADB
 | 
					      - MOODLE_DATABASE_USER=$SERVICE_USER_MARIADB
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,12 +2,13 @@
 | 
				
			|||||||
# slogan: n8n is an extendable workflow automation tool.
 | 
					# slogan: n8n is an extendable workflow automation tool.
 | 
				
			||||||
# tags: n8n,workflow,automation,open,source,low,code
 | 
					# tags: n8n,workflow,automation,open,source,low,code
 | 
				
			||||||
# logo: svgs/n8n.png
 | 
					# logo: svgs/n8n.png
 | 
				
			||||||
 | 
					# port: 5678
 | 
				
			||||||
 | 
					
 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
  n8n:
 | 
					  n8n:
 | 
				
			||||||
    image: docker.n8n.io/n8nio/n8n
 | 
					    image: docker.n8n.io/n8nio/n8n
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - SERVICE_FQDN_N8N
 | 
					      - SERVICE_FQDN_N8N_5678
 | 
				
			||||||
      - N8N_EDITOR_BASE_URL=${SERVICE_FQDN_N8N}
 | 
					      - N8N_EDITOR_BASE_URL=${SERVICE_FQDN_N8N}
 | 
				
			||||||
      - WEBHOOK_URL=${SERVICE_FQDN_N8N}
 | 
					      - WEBHOOK_URL=${SERVICE_FQDN_N8N}
 | 
				
			||||||
      - N8N_HOST=${SERVICE_URL_N8N}
 | 
					      - N8N_HOST=${SERVICE_URL_N8N}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -444,7 +444,7 @@
 | 
				
			|||||||
    "metabase": {
 | 
					    "metabase": {
 | 
				
			||||||
        "documentation": "https:\/\/www.metabase.com",
 | 
					        "documentation": "https:\/\/www.metabase.com",
 | 
				
			||||||
        "slogan": "Fast analytics with the friendly UX and integrated tooling to let your company explore data on their own.",
 | 
					        "slogan": "Fast analytics with the friendly UX and integrated tooling to let your company explore data on their own.",
 | 
				
			||||||
        "compose": "c2VydmljZXM6CiAgbWV0YWJhc2U6CiAgICBpbWFnZTogJ21ldGFiYXNlL21ldGFiYXNlOmxhdGVzdCcKICAgIHZvbHVtZXM6CiAgICAgIC0gJy9kZXYvdXJhbmRvbTovZGV2L3JhbmRvbTpybycKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9NRVRBQkFTRQogICAgICAtIE1CX0RCX1RZUEU9cG9zdGdyZXMKICAgICAgLSBNQl9EQl9IT1NUPXBvc3RncmVzcWwKICAgICAgLSBNQl9EQl9QT1JUPTU0MzIKICAgICAgLSAnTUJfREJfREJOQU1FPSR7UE9TVEdSRVNRTF9EQVRBQkFTRTotbWV0YWJhc2V9JwogICAgICAtIE1CX0RCX1VTRVI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFU1FMCiAgICAgIC0gTUJfREJfUEFTUz0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFU1FMCiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDogJ2N1cmwgLS1mYWlsIC1JIGh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9hcGkvaGVhbHRoIHx8IGV4aXQgMScKICAgICAgaW50ZXJ2YWw6IDVzCiAgICAgIHRpbWVvdXQ6IDIwcwogICAgICByZXRyaWVzOiAxMAogIHBvc3RncmVzcWw6CiAgICBpbWFnZTogJ3Bvc3RncmVzOjE2LWFscGluZScKICAgIHZvbHVtZXM6CiAgICAgIC0gJ21ldGFiYXNlLXBvc3RncmVzcWwtZGF0YTovdmFyL2xpYi9wb3N0Z3Jlc3FsL2RhdGEnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnUE9TVEdSRVNfVVNFUj0ke1NFUlZJQ0VfVVNFUl9QT1NUR1JFU1FMfScKICAgICAgLSAnUE9TVEdSRVNfUEFTU1dPUkQ9JHtTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTUUx9JwogICAgICAtICdQT1NUR1JFU19EQj0ke1BPU1RHUkVTUUxfREFUQUJBU0U6LW1ldGFiYXNlfScKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAncGdfaXNyZWFkeSAtVSAkJHtQT1NUR1JFU19VU0VSfSAtZCAkJHtQT1NUR1JFU19EQn0nCiAgICAgIGludGVydmFsOiA1cwogICAgICB0aW1lb3V0OiAyMHMKICAgICAgcmV0cmllczogMTAK",
 | 
					        "compose": "c2VydmljZXM6CiAgbWV0YWJhc2U6CiAgICBpbWFnZTogJ21ldGFiYXNlL21ldGFiYXNlOmxhdGVzdCcKICAgIHZvbHVtZXM6CiAgICAgIC0gJy9kZXYvdXJhbmRvbTovZGV2L3JhbmRvbTpybycKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9NRVRBQkFTRV8zMDAwCiAgICAgIC0gTUJfREJfVFlQRT1wb3N0Z3JlcwogICAgICAtIE1CX0RCX0hPU1Q9cG9zdGdyZXNxbAogICAgICAtIE1CX0RCX1BPUlQ9NTQzMgogICAgICAtICdNQl9EQl9EQk5BTUU9JHtQT1NUR1JFU1FMX0RBVEFCQVNFOi1tZXRhYmFzZX0nCiAgICAgIC0gTUJfREJfVVNFUj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTUUwKICAgICAgLSBNQl9EQl9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTUUwKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OiAnY3VybCAtLWZhaWwgLUkgaHR0cDovL2xvY2FsaG9zdDozMDAwL2FwaS9oZWFsdGggfHwgZXhpdCAxJwogICAgICBpbnRlcnZhbDogNXMKICAgICAgdGltZW91dDogMjBzCiAgICAgIHJldHJpZXM6IDEwCiAgcG9zdGdyZXNxbDoKICAgIGltYWdlOiAncG9zdGdyZXM6MTYtYWxwaW5lJwogICAgdm9sdW1lczoKICAgICAgLSAnbWV0YWJhc2UtcG9zdGdyZXNxbC1kYXRhOi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YScKICAgIGVudmlyb25tZW50OgogICAgICAtICdQT1NUR1JFU19VU0VSPSR7U0VSVklDRV9VU0VSX1BPU1RHUkVTUUx9JwogICAgICAtICdQT1NUR1JFU19QQVNTV09SRD0ke1NFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVNRTH0nCiAgICAgIC0gJ1BPU1RHUkVTX0RCPSR7UE9TVEdSRVNRTF9EQVRBQkFTRTotbWV0YWJhc2V9JwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdwZ19pc3JlYWR5IC1VICQke1BPU1RHUkVTX1VTRVJ9IC1kICQke1BPU1RHUkVTX0RCfScKICAgICAgaW50ZXJ2YWw6IDVzCiAgICAgIHRpbWVvdXQ6IDIwcwogICAgICByZXRyaWVzOiAxMAo=",
 | 
				
			||||||
        "tags": [
 | 
					        "tags": [
 | 
				
			||||||
            "analytics",
 | 
					            "analytics",
 | 
				
			||||||
            "bi",
 | 
					            "bi",
 | 
				
			||||||
@@ -452,12 +452,13 @@
 | 
				
			|||||||
            "intelligence"
 | 
					            "intelligence"
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        "logo": "svgs\/metabase.svg",
 | 
					        "logo": "svgs\/metabase.svg",
 | 
				
			||||||
        "minversion": "0.0.0"
 | 
					        "minversion": "0.0.0",
 | 
				
			||||||
 | 
					        "port": "3000"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "metube": {
 | 
					    "metube": {
 | 
				
			||||||
        "documentation": "https:\/\/github.com\/alexta69\/metube",
 | 
					        "documentation": "https:\/\/github.com\/alexta69\/metube",
 | 
				
			||||||
        "slogan": "A web GUI for youtube-dl with playlist support. It enables you to effortlessly download videos from YouTube and dozens of other sites.",
 | 
					        "slogan": "A web GUI for youtube-dl with playlist support. It enables you to effortlessly download videos from YouTube and dozens of other sites.",
 | 
				
			||||||
        "compose": "c2VydmljZXM6CiAgbWV0dWJlOgogICAgaW1hZ2U6ICdnaGNyLmlvL2FsZXh0YTY5L21ldHViZTpsYXRlc3QnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRVJWSUNFX0ZRRE5fTUVUVUJFCiAgICAgIC0gVUlEPTEwMDAKICAgICAgLSBHSUQ9MTAwMAogICAgdm9sdW1lczoKICAgICAgLSAnbWV0dWJlLWRvd25sb2FkczovZG93bmxvYWRzJwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQKICAgICAgICAtIGN1cmwKICAgICAgICAtICctZicKICAgICAgICAtICdodHRwOi8vbG9jYWxob3N0OjgwODEnCiAgICAgIGludGVydmFsOiAycwogICAgICB0aW1lb3V0OiAxMHMKICAgICAgcmV0cmllczogMTUK",
 | 
					        "compose": "c2VydmljZXM6CiAgbWV0dWJlOgogICAgaW1hZ2U6ICdnaGNyLmlvL2FsZXh0YTY5L21ldHViZTpsYXRlc3QnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRVJWSUNFX0ZRRE5fTUVUVUJFXzgwODEKICAgICAgLSBVSUQ9MTAwMAogICAgICAtIEdJRD0xMDAwCiAgICB2b2x1bWVzOgogICAgICAtICdtZXR1YmUtZG93bmxvYWRzOi9kb3dubG9hZHMnCiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRAogICAgICAgIC0gY3VybAogICAgICAgIC0gJy1mJwogICAgICAgIC0gJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4MScKICAgICAgaW50ZXJ2YWw6IDJzCiAgICAgIHRpbWVvdXQ6IDEwcwogICAgICByZXRyaWVzOiAxNQo=",
 | 
				
			||||||
        "tags": [
 | 
					        "tags": [
 | 
				
			||||||
            "youtube",
 | 
					            "youtube",
 | 
				
			||||||
            "download",
 | 
					            "download",
 | 
				
			||||||
@@ -465,7 +466,8 @@
 | 
				
			|||||||
            "playlist"
 | 
					            "playlist"
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        "logo": "svgs\/unknown.svg",
 | 
					        "logo": "svgs\/unknown.svg",
 | 
				
			||||||
        "minversion": "0.0.0"
 | 
					        "minversion": "0.0.0",
 | 
				
			||||||
 | 
					        "port": "8081"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "minio": {
 | 
					    "minio": {
 | 
				
			||||||
        "documentation": "https:\/\/min.io\/docs\/minio\/container\/index.html",
 | 
					        "documentation": "https:\/\/min.io\/docs\/minio\/container\/index.html",
 | 
				
			||||||
@@ -484,7 +486,7 @@
 | 
				
			|||||||
    "moodle": {
 | 
					    "moodle": {
 | 
				
			||||||
        "documentation": "https:\/\/moodle.org",
 | 
					        "documentation": "https:\/\/moodle.org",
 | 
				
			||||||
        "slogan": "Moodle is the world\u2019s most customisable and trusted eLearning solution that empowers educators to improve our world.",
 | 
					        "slogan": "Moodle is the world\u2019s most customisable and trusted eLearning solution that empowers educators to improve our world.",
 | 
				
			||||||
        "compose": "c2VydmljZXM6CiAgbWFyaWFkYjoKICAgIGltYWdlOiAnbWFyaWFkYjoxMS4xJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gQUxMT1dfRU1QVFlfUEFTU1dPUkQ9bm8KICAgICAgLSBNWVNRTF9ST09UX1BBU1NXT1JEPSRTRVJWSUNFX1BBU1NXT1JEX1JPT1QKICAgICAgLSBNWVNRTF9EQVRBQkFTRT1iaXRuYW1pX21vb2RsZQogICAgICAtIE1ZU1FMX1VTRVI9JFNFUlZJQ0VfVVNFUl9NQVJJQURCCiAgICAgIC0gTVlTUUxfUEFTU1dPUkQ9JFNFUlZJQ0VfUEFTU1dPUkRfTUFSSUFEQgogICAgICAtIE1BUklBREJfQ0hBUkFDVEVSX1NFVD11dGY4bWI0CiAgICAgIC0gTUFSSUFEQl9DT0xMQVRFPXV0ZjhtYjRfdW5pY29kZV9jaQogICAgdm9sdW1lczoKICAgICAgLSAnbWFyaWFkYi1kYXRhOi92YXIvbGliL215c3FsJwogIG1vb2RsZToKICAgIGltYWdlOiAnZG9ja2VyLmlvL2JpdG5hbWkvbW9vZGxlOjQuMycKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9NT09ETEUKICAgICAgLSBNT09ETEVfREFUQUJBU0VfSE9TVD1tYXJpYWRiCiAgICAgIC0gTU9PRExFX0RBVEFCQVNFX1BPUlRfTlVNQkVSPTMzMDYKICAgICAgLSBNT09ETEVfREFUQUJBU0VfVVNFUj0kU0VSVklDRV9VU0VSX01BUklBREIKICAgICAgLSBNT09ETEVfREFUQUJBU0VfTkFNRT1iaXRuYW1pX21vb2RsZQogICAgICAtIE1PT0RMRV9EQVRBQkFTRV9QQVNTV09SRD0kU0VSVklDRV9QQVNTV09SRF9NQVJJQURCCiAgICAgIC0gQUxMT1dfRU1QVFlfUEFTU1dPUkQ9bm8KICAgICAgLSAnTU9PRExFX1VTRVJOQU1FPSR7TU9PRExFX1VTRVJOQU1FOi11c2VyfScKICAgICAgLSBNT09ETEVfUEFTU1dPUkQ9JFNFUlZJQ0VfUEFTU1dPUkRfTU9PRExFCiAgICAgIC0gTU9PRExFX0VNQUlMPXVzZXJAZXhhbXBsZS5jb20KICAgICAgLSAnTU9PRExFX1NJVEVfTkFNRT0ke01PT0RMRV9TSVRFX05BTUU6LU5ldyBTaXRlfScKICAgIHZvbHVtZXM6CiAgICAgIC0gJ21vb2RsZS1kYXRhOi9iaXRuYW1pL21vb2RsZScKICAgICAgLSAnbW9vZGxlZGF0YS1kYXRhOi9iaXRuYW1pL21vb2RsZWRhdGEnCiAgICBkZXBlbmRzX29uOgogICAgICAtIG1hcmlhZGIK",
 | 
					        "compose": "c2VydmljZXM6CiAgbWFyaWFkYjoKICAgIGltYWdlOiAnbWFyaWFkYjoxMS4xJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gQUxMT1dfRU1QVFlfUEFTU1dPUkQ9bm8KICAgICAgLSBNWVNRTF9ST09UX1BBU1NXT1JEPSRTRVJWSUNFX1BBU1NXT1JEX1JPT1QKICAgICAgLSBNWVNRTF9EQVRBQkFTRT1iaXRuYW1pX21vb2RsZQogICAgICAtIE1ZU1FMX1VTRVI9JFNFUlZJQ0VfVVNFUl9NQVJJQURCCiAgICAgIC0gTVlTUUxfUEFTU1dPUkQ9JFNFUlZJQ0VfUEFTU1dPUkRfTUFSSUFEQgogICAgICAtIE1BUklBREJfQ0hBUkFDVEVSX1NFVD11dGY4bWI0CiAgICAgIC0gTUFSSUFEQl9DT0xMQVRFPXV0ZjhtYjRfdW5pY29kZV9jaQogICAgdm9sdW1lczoKICAgICAgLSAnbWFyaWFkYi1kYXRhOi92YXIvbGliL215c3FsJwogIG1vb2RsZToKICAgIGltYWdlOiAnZG9ja2VyLmlvL2JpdG5hbWkvbW9vZGxlOjQuMycKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9NT09ETEVfODA4MAogICAgICAtIE1PT0RMRV9EQVRBQkFTRV9IT1NUPW1hcmlhZGIKICAgICAgLSBNT09ETEVfREFUQUJBU0VfUE9SVF9OVU1CRVI9MzMwNgogICAgICAtIE1PT0RMRV9EQVRBQkFTRV9VU0VSPSRTRVJWSUNFX1VTRVJfTUFSSUFEQgogICAgICAtIE1PT0RMRV9EQVRBQkFTRV9OQU1FPWJpdG5hbWlfbW9vZGxlCiAgICAgIC0gTU9PRExFX0RBVEFCQVNFX1BBU1NXT1JEPSRTRVJWSUNFX1BBU1NXT1JEX01BUklBREIKICAgICAgLSBBTExPV19FTVBUWV9QQVNTV09SRD1ubwogICAgICAtICdNT09ETEVfVVNFUk5BTUU9JHtNT09ETEVfVVNFUk5BTUU6LXVzZXJ9JwogICAgICAtIE1PT0RMRV9QQVNTV09SRD0kU0VSVklDRV9QQVNTV09SRF9NT09ETEUKICAgICAgLSBNT09ETEVfRU1BSUw9dXNlckBleGFtcGxlLmNvbQogICAgICAtICdNT09ETEVfU0lURV9OQU1FPSR7TU9PRExFX1NJVEVfTkFNRTotTmV3IFNpdGV9JwogICAgdm9sdW1lczoKICAgICAgLSAnbW9vZGxlLWRhdGE6L2JpdG5hbWkvbW9vZGxlJwogICAgICAtICdtb29kbGVkYXRhLWRhdGE6L2JpdG5hbWkvbW9vZGxlZGF0YScKICAgIGRlcGVuZHNfb246CiAgICAgIC0gbWFyaWFkYgo=",
 | 
				
			||||||
        "tags": [
 | 
					        "tags": [
 | 
				
			||||||
            "moodle",
 | 
					            "moodle",
 | 
				
			||||||
            "elearning",
 | 
					            "elearning",
 | 
				
			||||||
@@ -497,7 +499,8 @@
 | 
				
			|||||||
            "code"
 | 
					            "code"
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        "logo": "svgs\/moodle.png",
 | 
					        "logo": "svgs\/moodle.png",
 | 
				
			||||||
        "minversion": "0.0.0"
 | 
					        "minversion": "0.0.0",
 | 
				
			||||||
 | 
					        "port": "8080"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "n8n-with-postgresql": {
 | 
					    "n8n-with-postgresql": {
 | 
				
			||||||
        "documentation": "https:\/\/n8n.io",
 | 
					        "documentation": "https:\/\/n8n.io",
 | 
				
			||||||
@@ -518,7 +521,7 @@
 | 
				
			|||||||
    "n8n": {
 | 
					    "n8n": {
 | 
				
			||||||
        "documentation": "https:\/\/n8n.io",
 | 
					        "documentation": "https:\/\/n8n.io",
 | 
				
			||||||
        "slogan": "n8n is an extendable workflow automation tool.",
 | 
					        "slogan": "n8n is an extendable workflow automation tool.",
 | 
				
			||||||
        "compose": "c2VydmljZXM6CiAgbjhuOgogICAgaW1hZ2U6IGRvY2tlci5uOG4uaW8vbjhuaW8vbjhuCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRVJWSUNFX0ZRRE5fTjhOCiAgICAgIC0gJ044Tl9FRElUT1JfQkFTRV9VUkw9JHtTRVJWSUNFX0ZRRE5fTjhOfScKICAgICAgLSAnV0VCSE9PS19VUkw9JHtTRVJWSUNFX0ZRRE5fTjhOfScKICAgICAgLSAnTjhOX0hPU1Q9JHtTRVJWSUNFX1VSTF9OOE59JwogICAgICAtICdHRU5FUklDX1RJTUVaT05FPSJFdXJvcGUvQmVybGluIicKICAgICAgLSAnVFo9IkV1cm9wZS9CZXJsaW4iJwogICAgdm9sdW1lczoKICAgICAgLSAnbjhuLWRhdGE6L2hvbWUvbm9kZS8ubjhuJwo=",
 | 
					        "compose": "c2VydmljZXM6CiAgbjhuOgogICAgaW1hZ2U6IGRvY2tlci5uOG4uaW8vbjhuaW8vbjhuCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRVJWSUNFX0ZRRE5fTjhOXzU2NzgKICAgICAgLSAnTjhOX0VESVRPUl9CQVNFX1VSTD0ke1NFUlZJQ0VfRlFETl9OOE59JwogICAgICAtICdXRUJIT09LX1VSTD0ke1NFUlZJQ0VfRlFETl9OOE59JwogICAgICAtICdOOE5fSE9TVD0ke1NFUlZJQ0VfVVJMX044Tn0nCiAgICAgIC0gJ0dFTkVSSUNfVElNRVpPTkU9IkV1cm9wZS9CZXJsaW4iJwogICAgICAtICdUWj0iRXVyb3BlL0JlcmxpbiInCiAgICB2b2x1bWVzOgogICAgICAtICduOG4tZGF0YTovaG9tZS9ub2RlLy5uOG4nCg==",
 | 
				
			||||||
        "tags": [
 | 
					        "tags": [
 | 
				
			||||||
            "n8n",
 | 
					            "n8n",
 | 
				
			||||||
            "workflow",
 | 
					            "workflow",
 | 
				
			||||||
@@ -529,7 +532,8 @@
 | 
				
			|||||||
            "code"
 | 
					            "code"
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        "logo": "svgs\/n8n.png",
 | 
					        "logo": "svgs\/n8n.png",
 | 
				
			||||||
        "minversion": "0.0.0"
 | 
					        "minversion": "0.0.0",
 | 
				
			||||||
 | 
					        "port": "5678"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "next-image-transformation": {
 | 
					    "next-image-transformation": {
 | 
				
			||||||
        "documentation": "https:\/\/github.com\/coollabsio\/next-image-transformation",
 | 
					        "documentation": "https:\/\/github.com\/coollabsio\/next-image-transformation",
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user