diff --git a/app/Http/Livewire/Project/New/DockerCompose.php b/app/Http/Livewire/Project/New/DockerCompose.php index cd0d86c08..280167bb1 100644 --- a/app/Http/Livewire/Project/New/DockerCompose.php +++ b/app/Http/Livewire/Project/New/DockerCompose.php @@ -22,79 +22,19 @@ public function mount() $this->query = request()->query(); if (isDev()) { $this->dockerComposeRaw = 'services: - ghost: - image: ghost:5 - volumes: - - ~/configs:/etc/configs/:ro - - ./var/lib/ghost/content:/tmp/ghost2/content:ro - - /var/lib/ghost/content:/tmp/ghost/content:rw - - ghost-content-data:/var/lib/ghost/content - - type: volume - source: mydata - target: /data - - type: bind - source: ./var/lib/ghost/data - target: /data - - type: bind - source: /tmp - target: /tmp - labels: - - "test.label=true" - ports: - - "3000" - - "3000-3005" - - "8000:8000" - - "9090-9091:8080-8081" - - "49100:22" - - "127.0.0.1:8001:8001" - - "127.0.0.1:5000-5010:5000-5010" - - "127.0.0.1::5000" - - "6060:6060/udp" - - "12400-12500:1240" - - target: 80 - published: 8080 - protocol: tcp - mode: host - networks: - - some-network - - other-network + appsmith: + build: + context: . + dockerfile_inline: | + FROM nginx + ARG GIT_COMMIT + ARG GIT_BRANCH + RUN echo "Hello World ${GIT_COMMIT} ${GIT_BRANCH}" + args: + - GIT_COMMIT=cdc3b19 + - GIT_BRANCH=${GIT_BRANCH} environment: - - database__client=${DATABASE_CLIENT:-mysql} - - database__connection__database=${MYSQL_DATABASE:-ghost} - - database__connection__host=${DATABASE_CONNECTION_HOST:-mysql} - - test=${TEST:?true} - - url=$SERVICE_FQDN_GHOST - - database__connection__user=$SERVICE_USER_MYSQL - - database__connection__password=$SERVICE_PASSWORD_MYSQL - depends_on: - - mysql - mysql: - image: mysql:8.0 - volumes: - - ghost-mysql-data:/var/lib/mysql - environment: - - MYSQL_USER=${SERVICE_USER_MYSQL} - - MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL} - - MYSQL_DATABASE=$MYSQL_DATABASE - - MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MYSQLROOT} - - SESSION_SECRET - minio: - image: minio/minio - environment: - RACK_ENV: development - A: $A - SHOW: ${SHOW} - SHOW1: ${SHOW2-show1} - SHOW2: ${SHOW3:-show2} - SHOW3: ${SHOW4?show3} - SHOW4: ${SHOW5:?show4} - SHOW5: ${SERVICE_USER_MINIO} - SHOW6: ${SERVICE_PASSWORD_MINIO} - SHOW7: ${SERVICE_PASSWORD_64_MINIO} - SHOW8: ${SERVICE_BASE64_64_MINIO} - SHOW9: ${SERVICE_BASE64_128_MINIO} - SHOW10: ${SERVICE_BASE64_MINIO} - SHOW11: + - APPSMITH_MAIL_ENABLED=${APPSMITH_MAIL_ENABLED} '; } } diff --git a/app/Models/Service.php b/app/Models/Service.php index b5842bb88..8b7202a65 100644 --- a/app/Models/Service.php +++ b/app/Models/Service.php @@ -131,6 +131,20 @@ public function extraFields() } $fields->put('Weblate', $data); break; + case str($image)?->contains('meilisearch'): + $data = collect([]); + $SERVICE_PASSWORD_MEILISEARCH = $this->environment_variables()->where('key', 'SERVICE_PASSWORD_MEILISEARCH')->first(); + if ($SERVICE_PASSWORD_MEILISEARCH) { + $data = $data->merge([ + 'API Key' => [ + 'key' => data_get($SERVICE_PASSWORD_MEILISEARCH, 'key'), + 'value' => data_get($SERVICE_PASSWORD_MEILISEARCH, 'value'), + 'isPassword' => true, + ], + ]); + } + $fields->put('Meilisearch', $data); + break; case str($image)?->contains('ghost'): $data = collect([]); $MAIL_OPTIONS_AUTH_PASS = $this->environment_variables()->where('key', 'MAIL_OPTIONS_AUTH_PASS')->first(); @@ -193,6 +207,7 @@ public function extraFields() break; } } + ray($fields); $databases = $this->databases()->get(); foreach ($databases as $database) { diff --git a/resources/views/livewire/project/shared/webhooks.blade.php b/resources/views/livewire/project/shared/webhooks.blade.php index c77ae3315..20f61b9f1 100644 --- a/resources/views/livewire/project/shared/webhooks.blade.php +++ b/resources/views/livewire/project/shared/webhooks.blade.php @@ -9,33 +9,36 @@ helper="See details in our documentation." label="Deploy Webhook (auth required)" id="deploywebhook"> -
-

Manual Git Webhooks

- @if ($githubManualWebhook && $gitlabManualWebhook) -
-
- - + @if ($resource->type() !== 'service') +
+

Manual Git Webhooks

+ @if ($githubManualWebhook && $gitlabManualWebhook) + +
+ + + +
+ + Webhook Configuration on GitHub + + + +
+ + +
+ Save + + @else + You are using an official Git App. You do not need manual webhooks. + @endif +
+ @endif -
- - Webhook Configuration on GitHub - - - -
- - -
- Save - - @else - You are using an official Git App. You do not need manual webhooks. - @endif -
diff --git a/templates/compose/meilisearch.yaml b/templates/compose/meilisearch.yaml new file mode 100644 index 000000000..eb401f009 --- /dev/null +++ b/templates/compose/meilisearch.yaml @@ -0,0 +1,19 @@ +# documentation: https://www.meilisearch.com/docs/learn/configuration/instance_options +# slogan: MeiliSearch is a powerful, fast, open-source, easy to use and deploy search engine. +# tags: search,engine,fulltext,full,text,meilisearch + +services: + meilisearch: + image: getmeili/meilisearch:latest + environment: + - SERVICE_FQDN_MEILISEARCH + - MEILI_NO_ANALYTICS=${MEILI_NO_ANALYTICS:-true} + - MEILI_ENV=${MEILI_ENV:-production} + - MEILI_MASTER_KEY=${SERVICE_PASSWORD_MEILISEARCH} + volumes: + - meilisearch-data:/meili_data + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:7700/health"] + interval: 2s + timeout: 10s + retries: 15 diff --git a/templates/service-templates.json b/templates/service-templates.json index f65dd2894..ab0ccfd16 100644 --- a/templates/service-templates.json +++ b/templates/service-templates.json @@ -304,6 +304,19 @@ "low-code" ] }, + "meilisearch": { + "documentation": "https:\/\/www.meilisearch.com\/docs\/learn\/configuration\/instance_options", + "slogan": "MeiliSearch is a powerful, fast, open-source, easy to use and deploy search engine.", + "compose": "c2VydmljZXM6CiAgbWVpbGlzZWFyY2g6CiAgICBpbWFnZTogJ2dldG1laWxpL21laWxpc2VhcmNoOmxhdGVzdCcKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9NRUlMSVNFQVJDSAogICAgICAtICdNRUlMSV9OT19BTkFMWVRJQ1M9JHtNRUlMSV9OT19BTkFMWVRJQ1M6LXRydWV9JwogICAgICAtICdNRUlMSV9FTlY9JHtNRUlMSV9FTlY6LXByb2R1Y3Rpb259JwogICAgICAtICdNRUlMSV9NQVNURVJfS0VZPSR7U0VSVklDRV9QQVNTV09SRF9NRUlMSVNFQVJDSH0nCiAgICB2b2x1bWVzOgogICAgICAtICdtZWlsaXNlYXJjaC1kYXRhOi9tZWlsaV9kYXRhJwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQKICAgICAgICAtIGN1cmwKICAgICAgICAtICctZicKICAgICAgICAtICdodHRwOi8vbG9jYWxob3N0Ojc3MDAvaGVhbHRoJwogICAgICBpbnRlcnZhbDogMnMKICAgICAgdGltZW91dDogMTBzCiAgICAgIHJldHJpZXM6IDE1Cg==", + "tags": [ + "search", + "engine", + "fulltext", + "full", + "text", + "meilisearch" + ] + }, "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.",