From 5184426ad069c7bff42410990ea5d5ca2aed290e Mon Sep 17 00:00:00 2001 From: Tiago Miguel <66640308+tiagomiguel29@users.noreply.github.com> Date: Thu, 1 Aug 2024 23:52:24 +0100 Subject: [PATCH 001/315] Added default message queue type --- templates/compose/twenty.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/compose/twenty.yaml b/templates/compose/twenty.yaml index f643b9623..746f99669 100644 --- a/templates/compose/twenty.yaml +++ b/templates/compose/twenty.yaml @@ -45,7 +45,7 @@ services: - STORAGE_S3_SECRET_ACCESS_KEY=$STORAGE_S3_SECRET_ACCESS_KEY # https://twenty.com/developers/section/self-hosting/self-hosting-var#message-queue - - MESSAGE_QUEUE_TYPE=$MESSAGE_QUEUE_TYPE + - MESSAGE_QUEUE_TYPE=${MESSAGE_QUEUE_TYPE:-pg-boss} # https://twenty.com/developers/section/self-hosting/self-hosting-var#email - EMAIL_FROM_ADDRESS=$EMAIL_FROM_ADDRESS From 4336acc16e4ac4d3e7d96cfe84501b1b246ef0e8 Mon Sep 17 00:00:00 2001 From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com> Date: Wed, 7 Aug 2024 14:59:29 +0200 Subject: [PATCH 002/315] fix database migration bug in dev env --- .env.development.example | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.env.development.example b/.env.development.example index 920c32d92..8818f7d70 100644 --- a/.env.development.example +++ b/.env.development.example @@ -1,4 +1,5 @@ -APP_NAME=Coolify-localhost +# Coolify Configuration +APP_NAME=coolify-localhost APP_ID=development APP_ENV=local APP_KEY= @@ -7,10 +8,18 @@ APP_URL=http://localhost APP_PORT=8000 MUX_ENABLED=false +# Selenium Driver URL for Dusk DUSK_DRIVER_URL=http://selenium:4444 -## For Andras only -# To purge cache +# PostgreSQL Database Configuration +DB_DATABASE=coolify-db +DB_USERNAME=coolify +DB_PASSWORD=password +DB_HOST=localhost +DB_PORT=5432 + +# Special Keys for Andras +# For cache purging BUNNY_API_KEY= -# To upload assets +# For asset uploads BUNNY_STORAGE_API_KEY= From ddf0ff8f251f6eb4ee971acca26c13fadb46fdef Mon Sep 17 00:00:00 2001 From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com> Date: Wed, 7 Aug 2024 14:59:42 +0200 Subject: [PATCH 003/315] cleanup instalation --- .env.production | 11 ++++++++++- docker-compose.prod.yml | 18 ++++++++++-------- docker-compose.windows.yml | 8 ++++---- docker-compose.yml | 3 ++- scripts/install.sh | 22 +++++++++++++++------- 5 files changed, 41 insertions(+), 21 deletions(-) diff --git a/.env.production b/.env.production index f15a8b0e9..1d0fd0fe1 100644 --- a/.env.production +++ b/.env.production @@ -1,10 +1,19 @@ +# Coolify Configuration APP_ID= -APP_NAME=Coolify APP_KEY= +# PostgreSQL Database Configuration +DB_DATABASE=coolify-db +DB_USERNAME= DB_PASSWORD= + +# Redis Configuration REDIS_PASSWORD= +# Pusher Configuration PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= + +# Additional Configuration +SELF_HOSTED=true \ No newline at end of file diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index b8156cab5..91e30f0ce 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -13,13 +13,12 @@ services: - /data/coolify/backups:/var/www/html/storage/app/backups - /data/coolify/webhooks-during-maintenance:/var/www/html/storage/app/webhooks-during-maintenance environment: - - PHP_MEMORY_LIMIT - - APP_ID - APP_ENV=production - - APP_DEBUG - - APP_NAME + - APP_NAME=Coolify + - APP_ID - APP_KEY - APP_URL + - APP_DEBUG - DB_CONNECTION - DB_HOST - DB_PORT @@ -34,6 +33,7 @@ services: - HORIZON_BALANCE_MAX_SHIFT - HORIZON_BALANCE_COOLDOWN - SSL_MODE=off + - PHP_MEMORY_LIMIT - PHP_PM_CONTROL=dynamic - PHP_PM_START_SERVERS=1 - PHP_PM_MIN_SPARE_SERVERS=1 @@ -83,20 +83,22 @@ services: condition: service_healthy redis: condition: service_healthy + soketi: + condition: service_healthy postgres: volumes: - coolify-db:/var/lib/postgresql/data environment: - POSTGRES_USER: "${DB_USERNAME:-coolify}" + POSTGRES_USER: "${DB_USERNAME}" POSTGRES_PASSWORD: "${DB_PASSWORD}" - POSTGRES_DB: "${DB_DATABASE:-coolify}" + POSTGRES_DB: "${DB_DATABASE:-coolify-db}" healthcheck: test: [ "CMD-SHELL", - "pg_isready -U ${DB_USERNAME:-coolify}", + "pg_isready -U ${DB_USERNAME}", "-d", - "${DB_DATABASE:-coolify}" + "${DB_DATABASE:-coolify-db}" ] interval: 5s retries: 10 diff --git a/docker-compose.windows.yml b/docker-compose.windows.yml index af5ecc0f7..1f2c13b5c 100644 --- a/docker-compose.windows.yml +++ b/docker-compose.windows.yml @@ -71,16 +71,16 @@ services: volumes: - coolify-db:/var/lib/postgresql/data environment: - POSTGRES_USER: "${DB_USERNAME:-coolify}" + POSTGRES_USER: "${DB_USERNAME}" POSTGRES_PASSWORD: "${DB_PASSWORD}" - POSTGRES_DB: "${DB_DATABASE:-coolify}" + POSTGRES_DB: "${DB_DATABASE:-coolify-db}" healthcheck: test: [ "CMD-SHELL", - "pg_isready -U ${DB_USERNAME:-coolify}", + "pg_isready -U ${DB_USERNAME}", "-d", - "${DB_DATABASE:-coolify}" + "${DB_DATABASE:-coolify-db}" ] interval: 5s retries: 10 diff --git a/docker-compose.yml b/docker-compose.yml index 8eed44f8c..930c0a6b9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,6 +10,7 @@ services: depends_on: - postgres - redis + - soketi postgres: image: postgres:15-alpine container_name: coolify-db @@ -32,4 +33,4 @@ networks: coolify: name: coolify driver: bridge - external: true + external: false diff --git a/scripts/install.sh b/scripts/install.sh index 2aaaebaef..45c6b93bd 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -287,13 +287,21 @@ curl -fsSL $CDN/upgrade.sh -o /data/coolify/source/upgrade.sh # Copy .env.example if .env does not exist if [ ! -f /data/coolify/source/.env ]; then cp /data/coolify/source/.env.production /data/coolify/source/.env - sed -i "s|APP_ID=.*|APP_ID=$(openssl rand -hex 16)|g" /data/coolify/source/.env - sed -i "s|APP_KEY=.*|APP_KEY=base64:$(openssl rand -base64 32)|g" /data/coolify/source/.env - sed -i "s|DB_PASSWORD=.*|DB_PASSWORD=$(openssl rand -base64 32)|g" /data/coolify/source/.env - sed -i "s|REDIS_PASSWORD=.*|REDIS_PASSWORD=$(openssl rand -base64 32)|g" /data/coolify/source/.env - sed -i "s|PUSHER_APP_ID=.*|PUSHER_APP_ID=$(openssl rand -hex 32)|g" /data/coolify/source/.env - sed -i "s|PUSHER_APP_KEY=.*|PUSHER_APP_KEY=$(openssl rand -hex 32)|g" /data/coolify/source/.env - sed -i "s|PUSHER_APP_SECRET=.*|PUSHER_APP_SECRET=$(openssl rand -hex 32)|g" /data/coolify/source/.env + # Generate a secure APP_ID and APP_KEY + sed -i "s|^APP_ID=.*|APP_ID=$(openssl rand -hex 16)|" "$ENV_FILE" + sed -i "s|^APP_KEY=.*|APP_KEY=base64:$(openssl rand -base64 32)|" "$ENV_FILE" + + # Generate a secure Postgres DB username and password + sed -i "s|^DB_USERNAME=.*|DB_USERNAME=$(openssl rand -hex 16)|" "$ENV_FILE" + sed -i "s|^DB_PASSWORD=.*|DB_PASSWORD=$(openssl rand -base64 32)|" "$ENV_FILE" + + # Generate a secure Redis password + sed -i "s|^REDIS_PASSWORD=.*|REDIS_PASSWORD=$(openssl rand -base64 32)|" "$ENV_FILE" + + # Generate secure Pusher credentials + sed -i "s|^PUSHER_APP_ID=.*|PUSHER_APP_ID=$(openssl rand -hex 32)|" "$ENV_FILE" + sed -i "s|^PUSHER_APP_KEY=.*|PUSHER_APP_KEY=$(openssl rand -hex 32)|" "$ENV_FILE" + sed -i "s|^PUSHER_APP_SECRET=.*|PUSHER_APP_SECRET=$(openssl rand -hex 32)|" "$ENV_FILE" fi # Merge .env and .env.production. New values will be added to .env From 1564e3c3710ae71b5043f00138981471fa4a839f Mon Sep 17 00:00:00 2001 From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com> Date: Wed, 7 Aug 2024 15:06:24 +0200 Subject: [PATCH 004/315] formating --- .env.development.example | 4 ++-- docker-compose.prod.yml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.env.development.example b/.env.development.example index 8818f7d70..23ae268a8 100644 --- a/.env.development.example +++ b/.env.development.example @@ -1,11 +1,11 @@ # Coolify Configuration +APP_ENV=local APP_NAME=coolify-localhost APP_ID=development -APP_ENV=local APP_KEY= -APP_DEBUG=true APP_URL=http://localhost APP_PORT=8000 +APP_DEBUG=true MUX_ENABLED=false # Selenium Driver URL for Dusk diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 91e30f0ce..6b7275b47 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -19,12 +19,12 @@ services: - APP_KEY - APP_URL - APP_DEBUG - - DB_CONNECTION - - DB_HOST - - DB_PORT - DB_DATABASE - DB_USERNAME - DB_PASSWORD + - DB_HOST + - DB_PORT + - DB_CONNECTION - QUEUE_CONNECTION - REDIS_HOST - REDIS_PASSWORD @@ -47,7 +47,7 @@ services: - PUSHER_APP_KEY - PUSHER_APP_SECRET - AUTOUPDATE - - SELF_HOSTED + - SELF_HOSTED=true - SSH_MUX_PERSIST_TIME - FEEDBACK_DISCORD_WEBHOOK - WAITLIST From 78998110d7f561825d01adff4da94f61498bab8f Mon Sep 17 00:00:00 2001 From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com> Date: Wed, 7 Aug 2024 15:17:54 +0200 Subject: [PATCH 005/315] coolify-db and remove some env --- .env.development.example | 2 +- .env.production | 3 --- docker-compose.dev.yml | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.env.development.example b/.env.development.example index 23ae268a8..07766ef9f 100644 --- a/.env.development.example +++ b/.env.development.example @@ -1,6 +1,6 @@ # Coolify Configuration APP_ENV=local -APP_NAME=coolify-localhost +APP_NAME=Coolify-localhost APP_ID=development APP_KEY= APP_URL=http://localhost diff --git a/.env.production b/.env.production index 1d0fd0fe1..d1b4b88fe 100644 --- a/.env.production +++ b/.env.production @@ -14,6 +14,3 @@ REDIS_PASSWORD= PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= - -# Additional Configuration -SELF_HOSTED=true \ No newline at end of file diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 7eda14d41..f48ada98e 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -28,7 +28,7 @@ services: environment: POSTGRES_USER: "${DB_USERNAME:-coolify}" POSTGRES_PASSWORD: "${DB_PASSWORD:-password}" - POSTGRES_DB: "${DB_DATABASE:-coolify}" + POSTGRES_DB: "${DB_DATABASE:-coolify-db}" POSTGRES_HOST_AUTH_METHOD: "trust" volumes: - /data/coolify/_volumes/database/:/var/lib/postgresql/data From cf09290b514e03d7cc12f7d1b4831b93e13a906e Mon Sep 17 00:00:00 2001 From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com> Date: Wed, 7 Aug 2024 15:42:53 +0200 Subject: [PATCH 006/315] fix db host --- .env.development.example | 1 - 1 file changed, 1 deletion(-) diff --git a/.env.development.example b/.env.development.example index 07766ef9f..51d51f035 100644 --- a/.env.development.example +++ b/.env.development.example @@ -15,7 +15,6 @@ DUSK_DRIVER_URL=http://selenium:4444 DB_DATABASE=coolify-db DB_USERNAME=coolify DB_PASSWORD=password -DB_HOST=localhost DB_PORT=5432 # Special Keys for Andras From bacd2531b551bc2e310255241f0ddf2ee76994e6 Mon Sep 17 00:00:00 2001 From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com> Date: Wed, 7 Aug 2024 21:02:53 +0200 Subject: [PATCH 007/315] Final fix to make DB Migrations work --- .env.development.example | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.env.development.example b/.env.development.example index 51d51f035..56eef9c04 100644 --- a/.env.development.example +++ b/.env.development.example @@ -12,9 +12,11 @@ MUX_ENABLED=false DUSK_DRIVER_URL=http://selenium:4444 # PostgreSQL Database Configuration -DB_DATABASE=coolify-db +DB_DATABASE=coolify DB_USERNAME=coolify DB_PASSWORD=password +# Set DB_HOST to the Postgres container IP or, if using Orbstack, use the container name (e.g., postgres.coolify.orb.local). This is needed for DB Migrations to work. +DB_HOST= DB_PORT=5432 # Special Keys for Andras From bfd79c5270563b1af3ac90fe0d5bd47e0dcd5d8b Mon Sep 17 00:00:00 2001 From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com> Date: Wed, 7 Aug 2024 21:11:23 +0200 Subject: [PATCH 008/315] updated contributing docs --- CONTRIBUTION.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTION.md b/CONTRIBUTION.md index 02a21573c..42ba47ffd 100644 --- a/CONTRIBUTION.md +++ b/CONTRIBUTION.md @@ -11,24 +11,29 @@ You can ask for guidance anytime on our ### 1) Setup your development environment - You need to have Docker Engine (or equivalent) [installed](https://docs.docker.com/engine/install/) on your system. -- For better DX, install [Spin](https://serversideup.net/open-source/spin/). +- If you are using a Mac, I highly recommend installing [Orbsatck](https://orbstack.dev/download) as a much faster alternative and complete replacement to Docker Desktop. +- For better DX, install [Spin](https://serversideup.net/open-source/spin/docs). ### 2) Set your environment variables - Copy [.env.development.example](./.env.development.example) to .env. +- Make sure to set the DB_HOST environment variable to the Postgres container IP or, if using Orbstack, use the container name (e.g., postgres.coolify.orb.local) to make sure that the DB Migrations work. ## 3) Start & setup Coolify - Run `spin up` - You can notice that errors will be thrown. Don't worry. - If you see weird permission errors, especially on Mac, run `sudo spin up` instead. -### 4) Start development +## 4) Install php to make sure you can do DB migrations (optional) + +### 5) Start development You can login your Coolify instance at `localhost:8000` with `test@example.com` and `password`. Your horizon (Laravel scheduler): `localhost:8000/horizon` - Only reachable if you logged in with root user. Mails are caught by Mailpit: `localhost:8025` + ## New Service Contribution Check out the docs [here](https://coolify.io/docs/knowledge-base/add-a-service). From 6ca49eb1ac07a40cd7173d4b98b50819dd0f9873 Mon Sep 17 00:00:00 2001 From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com> Date: Wed, 7 Aug 2024 21:23:07 +0200 Subject: [PATCH 009/315] fix database name to coolify instead of coolify-db --- .env.production | 2 +- docker-compose.dev.yml | 2 +- docker-compose.prod.yml | 4 ++-- docker-compose.windows.yml | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.env.production b/.env.production index d1b4b88fe..8e5dd4602 100644 --- a/.env.production +++ b/.env.production @@ -3,7 +3,7 @@ APP_ID= APP_KEY= # PostgreSQL Database Configuration -DB_DATABASE=coolify-db +DB_DATABASE=coolify DB_USERNAME= DB_PASSWORD= diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index f48ada98e..7eda14d41 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -28,7 +28,7 @@ services: environment: POSTGRES_USER: "${DB_USERNAME:-coolify}" POSTGRES_PASSWORD: "${DB_PASSWORD:-password}" - POSTGRES_DB: "${DB_DATABASE:-coolify-db}" + POSTGRES_DB: "${DB_DATABASE:-coolify}" POSTGRES_HOST_AUTH_METHOD: "trust" volumes: - /data/coolify/_volumes/database/:/var/lib/postgresql/data diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 6b7275b47..aaceeed17 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -91,14 +91,14 @@ services: environment: POSTGRES_USER: "${DB_USERNAME}" POSTGRES_PASSWORD: "${DB_PASSWORD}" - POSTGRES_DB: "${DB_DATABASE:-coolify-db}" + POSTGRES_DB: "${DB_DATABASE:-coolify}" healthcheck: test: [ "CMD-SHELL", "pg_isready -U ${DB_USERNAME}", "-d", - "${DB_DATABASE:-coolify-db}" + "${DB_DATABASE:-coolify}" ] interval: 5s retries: 10 diff --git a/docker-compose.windows.yml b/docker-compose.windows.yml index 1f2c13b5c..a1ee1aeea 100644 --- a/docker-compose.windows.yml +++ b/docker-compose.windows.yml @@ -73,14 +73,14 @@ services: environment: POSTGRES_USER: "${DB_USERNAME}" POSTGRES_PASSWORD: "${DB_PASSWORD}" - POSTGRES_DB: "${DB_DATABASE:-coolify-db}" + POSTGRES_DB: "${DB_DATABASE:-coolify}" healthcheck: test: [ "CMD-SHELL", "pg_isready -U ${DB_USERNAME}", "-d", - "${DB_DATABASE:-coolify-db}" + "${DB_DATABASE:-coolify}" ] interval: 5s retries: 10 From adc3346f7b981a5a41ccecbbadefb5c6773b527c Mon Sep 17 00:00:00 2001 From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com> Date: Fri, 9 Aug 2024 23:27:39 +0200 Subject: [PATCH 010/315] cleanup docker improvements --- app/Actions/Server/CleanupDocker.php | 35 ++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/app/Actions/Server/CleanupDocker.php b/app/Actions/Server/CleanupDocker.php index 0009e001d..82515ab6b 100644 --- a/app/Actions/Server/CleanupDocker.php +++ b/app/Actions/Server/CleanupDocker.php @@ -11,15 +11,36 @@ class CleanupDocker public function handle(Server $server, bool $force = true) { - // cleanup docker images, containers, and builder caches + $commonCommands = [ + 'docker container prune -f --filter "label=coolify.managed=true"', + 'docker image prune -f', + 'docker builder prune -f', + 'docker network prune -f', + ]; + + $forceCommands = [ + 'docker container rm $(docker container ls -aq --filter status=exited --filter status=created)', + 'docker image prune -af', + 'docker builder prune -af', + 'docker system prune -af', + 'docker network prune -f', + ]; + + $additionalCommands = [ + 'docker rmi $(docker images -f "dangling=true" -q)', + 'docker network rm $(docker network ls -q -f "unused=true")', + 'docker system prune -f', + ]; + if ($force) { - instant_remote_process(['docker image prune -af'], $server, false); - instant_remote_process(['docker container prune -f --filter "label=coolify.managed=true"'], $server, false); - instant_remote_process(['docker builder prune -af'], $server, false); + $commands = array_merge($forceCommands, $commonCommands, $additionalCommands); + $commands[] = 'docker rm $(docker ps -a -q --filter status=exited --filter status=created)'; } else { - instant_remote_process(['docker image prune -f'], $server, false); - instant_remote_process(['docker container prune -f --filter "label=coolify.managed=true"'], $server, false); - instant_remote_process(['docker builder prune -f'], $server, false); + $commands = array_merge($commonCommands, $additionalCommands); + } + + foreach ($commands as $command) { + instant_remote_process([$command], $server, false); } } } From 27a15138b78a82b89738101f474bc11c328fda32 Mon Sep 17 00:00:00 2001 From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com> Date: Sat, 10 Aug 2024 00:12:53 +0200 Subject: [PATCH 011/315] Feat UI form --- app/Livewire/Server/Form.php | 6 +- .../views/livewire/server/form.blade.php | 242 ++++++++---------- 2 files changed, 110 insertions(+), 138 deletions(-) diff --git a/app/Livewire/Server/Form.php b/app/Livewire/Server/Form.php index 9934ea345..8d8cf983d 100644 --- a/app/Livewire/Server/Form.php +++ b/app/Livewire/Server/Form.php @@ -37,7 +37,6 @@ class Form extends Component 'server.settings.is_swarm_manager' => 'required|boolean', 'server.settings.is_swarm_worker' => 'required|boolean', 'server.settings.is_build_server' => 'required|boolean', - 'server.settings.is_force_cleanup_enabled' => 'required|boolean', 'server.settings.concurrent_builds' => 'required|integer|min:1', 'server.settings.dynamic_timeout' => 'required|integer|min:1', 'server.settings.is_metrics_enabled' => 'required|boolean', @@ -46,6 +45,9 @@ class Form extends Component 'server.settings.metrics_history_days' => 'required|integer|min:1', 'wildcard_domain' => 'nullable|url', 'server.settings.is_server_api_enabled' => 'required|boolean', + 'server.settings.force_server_cleanup' => 'required|boolean', + 'server.settings.server_cleanup_cron' => 'required_if:server.settings.force_server_cleanup,true', + 'server.settings.server_cleanup_threshold' => 'required|integer|min:1|max:100', ]; protected $validationAttributes = [ @@ -195,4 +197,4 @@ class Form extends Component $this->server->save(); $this->dispatch('success', 'Server updated.'); } -} +} \ No newline at end of file diff --git a/resources/views/livewire/server/form.blade.php b/resources/views/livewire/server/form.blade.php index 3c137df91..17400c603 100644 --- a/resources/views/livewire/server/form.blade.php +++ b/resources/views/livewire/server/form.blade.php @@ -3,73 +3,68 @@
{{ data_get($execution, 'message') }}
- {{ data_get($execution, 'message') }}
+ {{ data_get($execution, 'message') }}
+ {{ data_get($execution, 'message') }}
+ {{ data_get($execution, 'message') }}
+
@@ -73,6 +75,7 @@ Special thanks to our biggest sponsors!
+
## Organizations
+
From d2eb7046e8e913b4b92e989bc3f278992da93220 Mon Sep 17 00:00:00 2001
From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com>
Date: Thu, 22 Aug 2024 12:05:42 +0200
Subject: [PATCH 096/315] fix mysql version
---
templates/compose/wordpress-with-mysql.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/templates/compose/wordpress-with-mysql.yaml b/templates/compose/wordpress-with-mysql.yaml
index edb41fc1b..ad6e203fa 100644
--- a/templates/compose/wordpress-with-mysql.yaml
+++ b/templates/compose/wordpress-with-mysql.yaml
@@ -22,7 +22,7 @@ services:
timeout: 10s
retries: 10
mysql:
- image: mysql:5.7
+ image: mysql:8
volumes:
- mysql-data:/var/lib/mysql
environment:
From 0243ddd52bb182a261e1d3ae207db9adce3ce175 Mon Sep 17 00:00:00 2001
From: ayntk-ai <122374094+ayntk-ai@users.noreply.github.com>
Date: Thu, 22 Aug 2024 12:09:12 +0200
Subject: [PATCH 097/315] fix classicpress
---
templates/compose/classicpress-with-mysql.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/templates/compose/classicpress-with-mysql.yaml b/templates/compose/classicpress-with-mysql.yaml
index 5304a694f..6afbf5ee4 100644
--- a/templates/compose/classicpress-with-mysql.yaml
+++ b/templates/compose/classicpress-with-mysql.yaml
@@ -22,7 +22,7 @@ services:
timeout: 10s
retries: 10
mariadb:
- image: mysql:5.7
+ image: mysql:8
volumes:
- mysql-data:/var/lib/mysql
environment:
From 1e24ab9146af0c354c71de4a7161b92d90535b0e Mon Sep 17 00:00:00 2001
From: Andras Bacsai -1?Qo(t,e,n):fo(e)?vo(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Ao(e)?t.setAttribute(e,lo(e,n)):ho(e)?vo(n)?t.removeAttributeNS(qo,Wo(e)):t.setAttributeNS(qo,e,n):Qo(t,e,n)}function Qo(t,e,n){if(vo(n))t.removeAttribute(e);else{if(Q&&!J&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var o=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",o)};t.addEventListener("input",o),t.__ieph=!0}t.setAttribute(e,n)}}var Jo={create:Ko,update:Ko};function tp(t,e){var n=e.elm,o=e.data,p=t.data;if(!(M(o.staticClass)&&M(o.class)&&(M(p)||M(p.staticClass)&&M(p.class)))){var c=Ro(e),r=n._transitionClasses;b(r)&&(c=go(c,Lo(r))),c!==n._prevClass&&(n.setAttribute("class",c),n._prevClass=c)}}var ep,np,op,pp,Mp,bp,cp={create:tp,update:tp},rp=/[\w).+\-_$\]]/;function zp(t){var e,n,o,p,M,b=!1,c=!1,r=!1,z=!1,a=0,i=0,O=0,s=0;for(o=0;o
0;t[n+s]=255&b,s+=A,b/=256,z-=8);t[n+s-A]|=128*u}},5826:t=>{var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},9755:function(t,e){var n;!function(e,n){"use strict";"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(e)}("undefined"!=typeof window?window:this,(function(o,p){"use strict";var M=[],b=Object.getPrototypeOf,c=M.slice,r=M.flat?function(t){return M.flat.call(t)}:function(t){return M.concat.apply([],t)},z=M.push,a=M.indexOf,i={},O=i.toString,s=i.hasOwnProperty,A=s.toString,u=A.call(Object),l={},d=function(t){return"function"==typeof t&&"number"!=typeof t.nodeType&&"function"!=typeof t.item},f=function(t){return null!=t&&t===t.window},q=o.document,h={type:!0,src:!0,nonce:!0,noModule:!0};function W(t,e,n){var o,p,M=(n=n||q).createElement("script");if(M.text=t,e)for(o in h)(p=e[o]||e.getAttribute&&e.getAttribute(o))&&M.setAttribute(o,p);n.head.appendChild(M).parentNode.removeChild(M)}function v(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?i[O.call(t)]||"object":typeof t}var R="3.7.1",m=/HTML$/i,g=function(t,e){return new g.fn.init(t,e)};function L(t){var e=!!t&&"length"in t&&t.length,n=v(t);return!d(t)&&!f(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function y(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}g.fn=g.prototype={jquery:R,constructor:g,length:0,toArray:function(){return c.call(this)},get:function(t){return null==t?c.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=g.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return g.each(this,t)},map:function(t){return this.pushStack(g.map(this,(function(e,n){return t.call(e,n,e)})))},slice:function(){return this.pushStack(c.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(g.grep(this,(function(t,e){return(e+1)%2})))},odd:function(){return this.pushStack(g.grep(this,(function(t,e){return e%2})))},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n 1)}}),g.Tween=ie,ie.prototype={constructor:ie,init:function(t,e,n,o,p,M){this.elem=t,this.prop=n,this.easing=p||g.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=o,this.unit=M||(g.cssNumber[n]?"":"px")},cur:function(){var t=ie.propHooks[this.prop];return t&&t.get?t.get(this):ie.propHooks._default.get(this)},run:function(t){var e,n=ie.propHooks[this.prop];return this.options.duration?this.pos=e=g.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):ie.propHooks._default.set(this),this}},ie.prototype.init.prototype=ie.prototype,ie.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=g.css(t.elem,t.prop,""))&&"auto"!==e?e:0},set:function(t){g.fx.step[t.prop]?g.fx.step[t.prop](t):1!==t.elem.nodeType||!g.cssHooks[t.prop]&&null==t.elem.style[pe(t.prop)]?t.elem[t.prop]=t.now:g.style(t.elem,t.prop,t.now+t.unit)}}},ie.propHooks.scrollTop=ie.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},g.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},g.fx=ie.prototype.init,g.fx.step={};var Oe,se,Ae=/^(?:toggle|show|hide)$/,ue=/queueHooks$/;function le(){se&&(!1===q.hidden&&o.requestAnimationFrame?o.requestAnimationFrame(le):o.setTimeout(le,g.fx.interval),g.fx.tick())}function de(){return o.setTimeout((function(){Oe=void 0})),Oe=Date.now()}function fe(t,e){var n,o=0,p={height:t};for(e=e?1:0;o<4;o+=2-e)p["margin"+(n=At[o])]=p["padding"+n]=t;return e&&(p.opacity=p.width=t),p}function qe(t,e,n){for(var o,p=(he.tweeners[e]||[]).concat(he.tweeners["*"]),M=0,b=p.length;M1)},removeAttr:function(t){return this.each((function(){g.removeAttr(this,t)}))}}),g.extend({attr:function(t,e,n){var o,p,M=t.nodeType;if(3!==M&&8!==M&&2!==M)return void 0===t.getAttribute?g.prop(t,e,n):(1===M&&g.isXMLDoc(t)||(p=g.attrHooks[e.toLowerCase()]||(g.expr.match.bool.test(e)?We:void 0)),void 0!==n?null===n?void g.removeAttr(t,e):p&&"set"in p&&void 0!==(o=p.set(t,n,e))?o:(t.setAttribute(e,n+""),n):p&&"get"in p&&null!==(o=p.get(t,e))?o:null==(o=g.find.attr(t,e))?void 0:o)},attrHooks:{type:{set:function(t,e){if(!l.radioValue&&"radio"===e&&y(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,o=0,p=e&&e.match(Y);if(p&&1===t.nodeType)for(;n=p[o++];)t.removeAttribute(n)}}),We={set:function(t,e,n){return!1===e?g.removeAttr(t,n):t.setAttribute(n,n),n}},g.each(g.expr.match.bool.source.match(/\w+/g),(function(t,e){var n=ve[e]||g.find.attr;ve[e]=function(t,e,o){var p,M,b=e.toLowerCase();return o||(M=ve[b],ve[b]=p,p=null!=n(t,e,o)?b:null,ve[b]=M),p}}));var Re=/^(?:input|select|textarea|button)$/i,me=/^(?:a|area)$/i;function ge(t){return(t.match(Y)||[]).join(" ")}function Le(t){return t.getAttribute&&t.getAttribute("class")||""}function ye(t){return Array.isArray(t)?t:"string"==typeof t&&t.match(Y)||[]}g.fn.extend({prop:function(t,e){return tt(this,g.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each((function(){delete this[g.propFix[t]||t]}))}}),g.extend({prop:function(t,e,n){var o,p,M=t.nodeType;if(3!==M&&8!==M&&2!==M)return 1===M&&g.isXMLDoc(t)||(e=g.propFix[e]||e,p=g.propHooks[e]),void 0!==n?p&&"set"in p&&void 0!==(o=p.set(t,n,e))?o:t[e]=n:p&&"get"in p&&null!==(o=p.get(t,e))?o:t[e]},propHooks:{tabIndex:{get:function(t){var e=g.find.attr(t,"tabindex");return e?parseInt(e,10):Re.test(t.nodeName)||me.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),l.optSelected||(g.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),g.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){g.propFix[this.toLowerCase()]=this})),g.fn.extend({addClass:function(t){var e,n,o,p,M,b;return d(t)?this.each((function(e){g(this).addClass(t.call(this,e,Le(this)))})):(e=ye(t)).length?this.each((function(){if(o=Le(this),n=1===this.nodeType&&" "+ge(o)+" "){for(M=0;M","
"],col:[2,"
"],tr:[2,"","
"],td:[3,"
"],_default:[0,"",""]};function Nt(t,e){var n;return n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&y(t,e)?g.merge([t],n):n}function Et(t,e){for(var n=0,o=t.length;n"," {{ data_get($execution, 'message') }}
+
Please think again.
+
+
+
+
@@ -77,6 +84,7 @@ Special thanks to our biggest sponsors!
+
## Organizations
k-o&|MrB;m=>=y93lXt(s{6L>jZ`I92r@q8$rVD
z! B!)k}m*96
zwFX*!a^yp4GOVUXr%FUlT1Dh5b~lO9dCAq4!f!PMKqQH6ai5KUj#~G(A}fN)Tet?o
zqEcVbBB(!!PQD5B@Y(M{OP9;(e}MM0z$4@XRr*;|(6Li;Idrucx7YX?O3pp#mWn1$
zH>p!19({(|S_Vw*joa&Y#*t_4SAiBTWr+gQ$9e?fxPNGXcuGhPu$=YBfAh--_OhWI
zFhSm$(lzf0n2g8253lIKb##g{$>6nlIL0f5->4_9N&!X+HWI+d!lTbdUn4(~j3(@=
z;5fYXa#vzc_;1^;E&~Q{2oUc@<&EU`!^Bm@dImm>jEZ*z1!T0=zj6