From 734bcaed75b1b55ccf60287d9f1e4434dc24db6d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 10:58:57 +0000 Subject: [PATCH 01/16] chore(deps-dev): bump axios from 1.7.9 to 1.8.2 Bumps [axios](https://github.com/axios/axios) from 1.7.9 to 1.8.2. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.7.9...v1.8.2) --- updated-dependencies: - dependency-name: axios dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0fb1d210a..612292a8b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "devDependencies": { "@vitejs/plugin-vue": "5.2.1", "autoprefixer": "10.4.20", - "axios": "1.7.9", + "axios": "1.8.2", "laravel-echo": "2.0.2", "laravel-vite-plugin": "^1.2.0", "postcss": "8.5.3", @@ -1220,9 +1220,9 @@ } }, "node_modules/axios": { - "version": "1.7.9", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", - "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.2.tgz", + "integrity": "sha512-ls4GYBm5aig9vWx8AWDSGLpnpDQRtWAfrjU+EuytuODrFBkqesN2RkOQCBzrA1RQNHw1SmRMSDDDSwzNAYQ6Rg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 0060a1199..75ba80f0f 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "devDependencies": { "@vitejs/plugin-vue": "5.2.1", "autoprefixer": "10.4.20", - "axios": "1.7.9", + "axios": "1.8.2", "laravel-echo": "2.0.2", "laravel-vite-plugin": "^1.2.0", "postcss": "8.5.3", From d7c3c0c9e185e96c5c215ea4e96982844ee9febb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 10:59:09 +0000 Subject: [PATCH 02/16] chore(deps): bump esbuild and vite Bumps [esbuild](https://github.com/evanw/esbuild) to 0.25.1 and updates ancestor dependency [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). These dependencies need to be updated together. Updates `esbuild` from 0.24.2 to 0.25.1 - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.24.2...v0.25.1) Updates `vite` from 6.1.1 to 6.2.3 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.2.3/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.2.3/packages/vite) --- updated-dependencies: - dependency-name: esbuild dependency-type: indirect - dependency-name: vite dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- package-lock.json | 218 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 110 insertions(+), 110 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0fb1d210a..57a8b688a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "pusher-js": "8.4.0", "tailwind-scrollbar": "^3.1.0", "tailwindcss": "3.4.17", - "vite": "^6.1.1", + "vite": "^6.2.3", "vue": "3.5.13" } }, @@ -88,9 +88,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", - "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz", + "integrity": "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==", "cpu": [ "ppc64" ], @@ -105,9 +105,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", - "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.1.tgz", + "integrity": "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==", "cpu": [ "arm" ], @@ -122,9 +122,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", - "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.1.tgz", + "integrity": "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==", "cpu": [ "arm64" ], @@ -139,9 +139,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", - "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.1.tgz", + "integrity": "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==", "cpu": [ "x64" ], @@ -156,9 +156,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", - "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz", + "integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==", "cpu": [ "arm64" ], @@ -173,9 +173,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", - "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz", + "integrity": "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==", "cpu": [ "x64" ], @@ -190,9 +190,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", - "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.1.tgz", + "integrity": "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==", "cpu": [ "arm64" ], @@ -207,9 +207,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", - "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.1.tgz", + "integrity": "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==", "cpu": [ "x64" ], @@ -224,9 +224,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", - "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.1.tgz", + "integrity": "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==", "cpu": [ "arm" ], @@ -241,9 +241,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", - "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.1.tgz", + "integrity": "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==", "cpu": [ "arm64" ], @@ -258,9 +258,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", - "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.1.tgz", + "integrity": "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==", "cpu": [ "ia32" ], @@ -275,9 +275,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", - "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.1.tgz", + "integrity": "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==", "cpu": [ "loong64" ], @@ -292,9 +292,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", - "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.1.tgz", + "integrity": "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==", "cpu": [ "mips64el" ], @@ -309,9 +309,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", - "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.1.tgz", + "integrity": "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==", "cpu": [ "ppc64" ], @@ -326,9 +326,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", - "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.1.tgz", + "integrity": "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==", "cpu": [ "riscv64" ], @@ -343,9 +343,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", - "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.1.tgz", + "integrity": "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==", "cpu": [ "s390x" ], @@ -360,9 +360,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", - "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.1.tgz", + "integrity": "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==", "cpu": [ "x64" ], @@ -377,9 +377,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", - "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.1.tgz", + "integrity": "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==", "cpu": [ "arm64" ], @@ -394,9 +394,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", - "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.1.tgz", + "integrity": "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==", "cpu": [ "x64" ], @@ -411,9 +411,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", - "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.1.tgz", + "integrity": "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==", "cpu": [ "arm64" ], @@ -428,9 +428,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", - "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.1.tgz", + "integrity": "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==", "cpu": [ "x64" ], @@ -445,9 +445,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", - "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.1.tgz", + "integrity": "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==", "cpu": [ "x64" ], @@ -462,9 +462,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", - "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.1.tgz", + "integrity": "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==", "cpu": [ "arm64" ], @@ -479,9 +479,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", - "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.1.tgz", + "integrity": "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==", "cpu": [ "ia32" ], @@ -496,9 +496,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", - "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz", + "integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==", "cpu": [ "x64" ], @@ -1520,9 +1520,9 @@ } }, "node_modules/esbuild": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", - "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", + "integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -1533,31 +1533,31 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.24.2", - "@esbuild/android-arm": "0.24.2", - "@esbuild/android-arm64": "0.24.2", - "@esbuild/android-x64": "0.24.2", - "@esbuild/darwin-arm64": "0.24.2", - "@esbuild/darwin-x64": "0.24.2", - "@esbuild/freebsd-arm64": "0.24.2", - "@esbuild/freebsd-x64": "0.24.2", - "@esbuild/linux-arm": "0.24.2", - "@esbuild/linux-arm64": "0.24.2", - "@esbuild/linux-ia32": "0.24.2", - "@esbuild/linux-loong64": "0.24.2", - "@esbuild/linux-mips64el": "0.24.2", - "@esbuild/linux-ppc64": "0.24.2", - "@esbuild/linux-riscv64": "0.24.2", - "@esbuild/linux-s390x": "0.24.2", - "@esbuild/linux-x64": "0.24.2", - "@esbuild/netbsd-arm64": "0.24.2", - "@esbuild/netbsd-x64": "0.24.2", - "@esbuild/openbsd-arm64": "0.24.2", - "@esbuild/openbsd-x64": "0.24.2", - "@esbuild/sunos-x64": "0.24.2", - "@esbuild/win32-arm64": "0.24.2", - "@esbuild/win32-ia32": "0.24.2", - "@esbuild/win32-x64": "0.24.2" + "@esbuild/aix-ppc64": "0.25.1", + "@esbuild/android-arm": "0.25.1", + "@esbuild/android-arm64": "0.25.1", + "@esbuild/android-x64": "0.25.1", + "@esbuild/darwin-arm64": "0.25.1", + "@esbuild/darwin-x64": "0.25.1", + "@esbuild/freebsd-arm64": "0.25.1", + "@esbuild/freebsd-x64": "0.25.1", + "@esbuild/linux-arm": "0.25.1", + "@esbuild/linux-arm64": "0.25.1", + "@esbuild/linux-ia32": "0.25.1", + "@esbuild/linux-loong64": "0.25.1", + "@esbuild/linux-mips64el": "0.25.1", + "@esbuild/linux-ppc64": "0.25.1", + "@esbuild/linux-riscv64": "0.25.1", + "@esbuild/linux-s390x": "0.25.1", + "@esbuild/linux-x64": "0.25.1", + "@esbuild/netbsd-arm64": "0.25.1", + "@esbuild/netbsd-x64": "0.25.1", + "@esbuild/openbsd-arm64": "0.25.1", + "@esbuild/openbsd-x64": "0.25.1", + "@esbuild/sunos-x64": "0.25.1", + "@esbuild/win32-arm64": "0.25.1", + "@esbuild/win32-ia32": "0.25.1", + "@esbuild/win32-x64": "0.25.1" } }, "node_modules/escalade": { @@ -2802,14 +2802,14 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/vite": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.1.1.tgz", - "integrity": "sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.3.tgz", + "integrity": "sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.24.2", - "postcss": "^8.5.2", + "esbuild": "^0.25.0", + "postcss": "^8.5.3", "rollup": "^4.30.1" }, "bin": { diff --git a/package.json b/package.json index 0060a1199..edc4c3144 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "pusher-js": "8.4.0", "tailwind-scrollbar": "^3.1.0", "tailwindcss": "3.4.17", - "vite": "^6.1.1", + "vite": "^6.2.3", "vue": "3.5.13" }, "dependencies": { From 6dcb5463cb73b91a0a435355c3e67d40971b300b Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Tue, 25 Mar 2025 12:33:56 +0100 Subject: [PATCH 03/16] chore(versions): update version numbers for coolify and nightly --- config/constants.php | 2 +- other/nightly/versions.json | 4 ++-- versions.json | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/config/constants.php b/config/constants.php index 4e77f5dcd..6746f72b2 100644 --- a/config/constants.php +++ b/config/constants.php @@ -2,7 +2,7 @@ return [ 'coolify' => [ - 'version' => '4.0.0-beta.399', + 'version' => '4.0.0-beta.400', 'helper_version' => '1.0.7', 'realtime_version' => '1.0.6', 'self_hosted' => env('SELF_HOSTED', true), diff --git a/other/nightly/versions.json b/other/nightly/versions.json index 8d1c91433..1b46548ec 100644 --- a/other/nightly/versions.json +++ b/other/nightly/versions.json @@ -1,10 +1,10 @@ { "coolify": { "v4": { - "version": "4.0.0-beta.397" + "version": "4.0.0-beta.400" }, "nightly": { - "version": "4.0.0-beta.398" + "version": "4.0.0-beta.401" }, "helper": { "version": "1.0.7" diff --git a/versions.json b/versions.json index 2b75ca8d4..1b46548ec 100644 --- a/versions.json +++ b/versions.json @@ -1,10 +1,10 @@ { "coolify": { "v4": { - "version": "4.0.0-beta.399" + "version": "4.0.0-beta.400" }, "nightly": { - "version": "4.0.0-beta.400" + "version": "4.0.0-beta.401" }, "helper": { "version": "1.0.7" From 8f0955bcd8c4b0659641b5ab1a0f664893a65b16 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Tue, 25 Mar 2025 12:34:03 +0100 Subject: [PATCH 04/16] refactor(network): check for existing coolify network before creation --- other/nightly/upgrade.sh | 8 +++++--- scripts/upgrade.sh | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/other/nightly/upgrade.sh b/other/nightly/upgrade.sh index c948f1368..54958ba56 100644 --- a/other/nightly/upgrade.sh +++ b/other/nightly/upgrade.sh @@ -30,9 +30,11 @@ fi # Make sure coolify network exists # It is created when starting Coolify with docker compose -if ! docker network create --attachable --ipv6 coolify 2>/dev/null; then - echo "Failed to create coolify network with ipv6. Trying without ipv6..." - docker network create --attachable coolify 2>/dev/null +if ! docker network inspect coolify >/dev/null 2>&1; then + if ! docker network create --attachable --ipv6 coolify 2>/dev/null; then + echo "Failed to create coolify network with ipv6. Trying without ipv6..." + docker network create --attachable coolify 2>/dev/null + fi fi # docker network create --attachable --driver=overlay coolify-overlay 2>/dev/null diff --git a/scripts/upgrade.sh b/scripts/upgrade.sh index 71959c8b9..e3db2ea81 100644 --- a/scripts/upgrade.sh +++ b/scripts/upgrade.sh @@ -30,9 +30,11 @@ fi # Make sure coolify network exists # It is created when starting Coolify with docker compose -if ! docker network create --attachable --ipv6 coolify 2>/dev/null; then - echo "Failed to create coolify network with ipv6. Trying without ipv6..." - docker network create --attachable coolify 2>/dev/null +if ! docker network inspect coolify >/dev/null 2>&1; then + if ! docker network create --attachable --ipv6 coolify 2>/dev/null; then + echo "Failed to create coolify network with ipv6. Trying without ipv6..." + docker network create --attachable coolify 2>/dev/null + fi fi # docker network create --attachable --driver=overlay coolify-overlay 2>/dev/null From abc7dd65ca395a97bababe058fa08ba5bf94a8a5 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Tue, 25 Mar 2025 13:39:30 +0100 Subject: [PATCH 05/16] refactor(database): enhance encryption process for local file volumes --- ...5223_encrypt_local_file_volumes_fields.php | 76 +++++++++++++++++-- 1 file changed, 70 insertions(+), 6 deletions(-) diff --git a/database/migrations/2025_01_30_125223_encrypt_local_file_volumes_fields.php b/database/migrations/2025_01_30_125223_encrypt_local_file_volumes_fields.php index c6b4f8514..dbf287ff3 100644 --- a/database/migrations/2025_01_30_125223_encrypt_local_file_volumes_fields.php +++ b/database/migrations/2025_01_30_125223_encrypt_local_file_volumes_fields.php @@ -19,21 +19,53 @@ return new class extends Migration }); if (DB::table('local_file_volumes')->exists()) { + DB::beginTransaction(); DB::table('local_file_volumes') ->orderBy('id') ->chunk(100, function ($volumes) { foreach ($volumes as $volume) { try { + $fs_path = $volume->fs_path; + $mount_path = $volume->mount_path; + $content = $volume->content; + // Check if fields are already encrypted by attempting to decrypt + try { + if ($fs_path) { + Crypt::decryptString($fs_path); + } + } catch (\Exception $e) { + $fs_path = $fs_path ? Crypt::encryptString($fs_path) : null; + } + + try { + if ($mount_path) { + Crypt::decryptString($mount_path); + } + } catch (\Exception $e) { + $mount_path = $mount_path ? Crypt::encryptString($mount_path) : null; + } + + try { + if ($content) { + Crypt::decryptString($content); + } + } catch (\Exception $e) { + $content = $content ? Crypt::encryptString($content) : null; + } + DB::table('local_file_volumes')->where('id', $volume->id)->update([ - 'fs_path' => $volume->fs_path ? Crypt::encryptString($volume->fs_path) : null, - 'mount_path' => $volume->mount_path ? Crypt::encryptString($volume->mount_path) : null, - 'content' => $volume->content ? Crypt::encryptString($volume->content) : null, + 'fs_path' => $fs_path, + 'mount_path' => $mount_path, + 'content' => $content, ]); + echo "Updated volume {$volume->id}\n"; } catch (\Exception $e) { + echo "Error encrypting local file volume fields: {$e->getMessage()}\n"; Log::error('Error encrypting local file volume fields: '.$e->getMessage()); } } }); + DB::commit(); } } @@ -49,21 +81,53 @@ return new class extends Migration }); if (DB::table('local_file_volumes')->exists()) { + DB::beginTransaction(); DB::table('local_file_volumes') ->orderBy('id') ->chunk(100, function ($volumes) { foreach ($volumes as $volume) { try { + $fs_path = $volume->fs_path; + $mount_path = $volume->mount_path; + $content = $volume->content; + // Check if fields are already decrypted by attempting to decrypt + try { + if ($fs_path) { + Crypt::decryptString($fs_path); + } + } catch (\Exception $e) { + $fs_path = $fs_path ? Crypt::decryptString($fs_path) : null; + } + + try { + if ($mount_path) { + Crypt::decryptString($mount_path); + } + } catch (\Exception $e) { + $mount_path = $mount_path ? Crypt::decryptString($mount_path) : null; + } + + try { + if ($content) { + Crypt::decryptString($content); + } + } catch (\Exception $e) { + $content = $content ? Crypt::decryptString($content) : null; + } + DB::table('local_file_volumes')->where('id', $volume->id)->update([ - 'fs_path' => $volume->fs_path ? Crypt::decryptString($volume->fs_path) : null, - 'mount_path' => $volume->mount_path ? Crypt::decryptString($volume->mount_path) : null, - 'content' => $volume->content ? Crypt::decryptString($volume->content) : null, + 'fs_path' => $fs_path, + 'mount_path' => $mount_path, + 'content' => $content, ]); + echo "Updated volume {$volume->id}\n"; } catch (\Exception $e) { + echo "Error decrypting local file volume fields: {$e->getMessage()}\n"; Log::error('Error decrypting local file volume fields: '.$e->getMessage()); } } }); + DB::commit(); } } }; From f7122ec520e7741e347ad926034f1b49471d6c55 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Tue, 25 Mar 2025 18:28:01 +0100 Subject: [PATCH 06/16] refactor(proxy): improve port availability checks with multiple methods --- app/Actions/Proxy/CheckProxy.php | 46 ++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/app/Actions/Proxy/CheckProxy.php b/app/Actions/Proxy/CheckProxy.php index 6c8dd5234..27608547a 100644 --- a/app/Actions/Proxy/CheckProxy.php +++ b/app/Actions/Proxy/CheckProxy.php @@ -30,10 +30,6 @@ class CheckProxy if (is_null($proxyType) || $proxyType === 'NONE' || $server->proxy->force_stop) { return false; } - ['uptime' => $uptime, 'error' => $error] = $server->validateConnection(); - if (! $uptime) { - throw new \Exception($error); - } if (! $server->isProxyShouldRun()) { if ($fromUI) { throw new \Exception('Proxy should not run. You selected the Custom Proxy.'); @@ -68,6 +64,38 @@ class CheckProxy $portsToCheck = ['80', '443']; + foreach ($portsToCheck as $port) { + // Try multiple methods to check port availability + $commands = [ + // Method 1: Check /proc/net/tcp directly (convert port to hex) + "cat /proc/net/tcp | grep -q '00000000:".str_pad(dechex($port), 4, '0', STR_PAD_LEFT)."'", + // Method 2: Use ss command (modern alternative to netstat) + "ss -tuln | grep -q ':$port '", + // Method 3: Use lsof if available + "lsof -i :$port >/dev/null 2>&1", + // Method 4: Use fuser if available + "fuser $port/tcp >/dev/null 2>&1", + ]; + + $portInUse = false; + foreach ($commands as $command) { + try { + instant_remote_process([$command], $server); + $portInUse = true; + break; + } catch (\Throwable $e) { + + continue; + } + } + if ($portInUse) { + if ($fromUI) { + throw new \Exception("Port $port is in use.
You must stop the process using this port.

Docs: https://coolify.io/docs
Discord: https://coolify.io/discord"); + } else { + return false; + } + } + } try { if ($server->proxyType() !== ProxyTypes::NONE->value) { $proxyCompose = CheckConfiguration::run($server); @@ -94,16 +122,6 @@ class CheckProxy if (count($portsToCheck) === 0) { return false; } - foreach ($portsToCheck as $port) { - $connection = @fsockopen($ip, $port); - if (is_resource($connection) && fclose($connection)) { - if ($fromUI) { - throw new \Exception("Port $port is in use.
You must stop the process using this port.
Docs: https://coolify.io/docs
Discord: https://coollabs.io/discord"); - } else { - return false; - } - } - } return true; } From 11bfc37db7d05954a484a84ccd6f45c5b3042bc7 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Wed, 26 Mar 2025 08:31:11 +0100 Subject: [PATCH 07/16] refactor(notifications): update Telegram button URL for staging environment --- app/Notifications/Test.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Notifications/Test.php b/app/Notifications/Test.php index 2a0581bbf..0b1d8d6b1 100644 --- a/app/Notifications/Test.php +++ b/app/Notifications/Test.php @@ -83,7 +83,7 @@ class Test extends Notification implements ShouldQueue 'buttons' => [ [ 'text' => 'Go to your dashboard', - 'url' => base_url(), + 'url' => isDev() ? 'https://staging-but-dev.coolify.io' : base_url(), ], ], ]; From 63c496feeecd960363a9ff20bd865bc64a36131d Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Wed, 26 Mar 2025 09:44:11 +0100 Subject: [PATCH 08/16] refactor(models): remove unnecessary cloud check in isEnabled method --- app/Models/EmailNotificationSettings.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/Models/EmailNotificationSettings.php b/app/Models/EmailNotificationSettings.php index ae118986f..445987619 100644 --- a/app/Models/EmailNotificationSettings.php +++ b/app/Models/EmailNotificationSettings.php @@ -70,10 +70,6 @@ class EmailNotificationSettings extends Model public function isEnabled() { - if (isCloud()) { - return true; - } - return $this->smtp_enabled || $this->resend_enabled || $this->use_instance_email_settings; } } From 637c3982d1035f7793c6b1ca6115b3a00704f018 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Wed, 26 Mar 2025 09:45:57 +0100 Subject: [PATCH 09/16] feat(database): disable MongoDB SSL by default in migration --- ..._104103_disable_mongodb_ssl_by_default.php | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 database/migrations/2025_03_26_104103_disable_mongodb_ssl_by_default.php diff --git a/database/migrations/2025_03_26_104103_disable_mongodb_ssl_by_default.php b/database/migrations/2025_03_26_104103_disable_mongodb_ssl_by_default.php new file mode 100644 index 000000000..80dddb089 --- /dev/null +++ b/database/migrations/2025_03_26_104103_disable_mongodb_ssl_by_default.php @@ -0,0 +1,28 @@ +boolean('enable_ssl')->default(false)->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('standalone_mongodbs', function (Blueprint $table) { + $table->boolean('enable_ssl')->default(true)->change(); + }); + } +}; From 5693b59874b15a7e90edc427201f90417038443d Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Wed, 26 Mar 2025 12:25:58 +0100 Subject: [PATCH 10/16] refactor(database): update MongoDB SSL configuration for improved security --- app/Models/StandaloneMongodb.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/Models/StandaloneMongodb.php b/app/Models/StandaloneMongodb.php index 1b181e7d5..3092216bd 100644 --- a/app/Models/StandaloneMongodb.php +++ b/app/Models/StandaloneMongodb.php @@ -248,9 +248,9 @@ class StandaloneMongodb extends BaseModel $encodedPass = rawurlencode($this->mongo_initdb_root_password); $url = "mongodb://{$encodedUser}:{$encodedPass}@{$this->uuid}:27017/?directConnection=true"; if ($this->enable_ssl) { - $url .= '&tls=true'; + $url .= '&tls=true&tlsCAFile=/etc/mongo/certs/ca.pem'; if (in_array($this->ssl_mode, ['verify-full'])) { - $url .= '&tlsCAFile=/etc/ssl/certs/coolify-ca.crt'; + $url .= '&tlsCertificateKeyFile=/etc/mongo/certs/server.pem'; } } @@ -268,9 +268,9 @@ class StandaloneMongodb extends BaseModel $encodedPass = rawurlencode($this->mongo_initdb_root_password); $url = "mongodb://{$encodedUser}:{$encodedPass}@{$this->destination->server->getIp}:{$this->public_port}/?directConnection=true"; if ($this->enable_ssl) { - $url .= '&tls=true'; + $url .= '&tls=true&tlsCAFile=/etc/mongo/certs/ca.pem'; if (in_array($this->ssl_mode, ['verify-full'])) { - $url .= '&tlsCAFile=/etc/ssl/certs/coolify-ca.crt'; + $url .= '&tlsCertificateKeyFile=/etc/mongo/certs/server.pem'; } } From d7ded7f8e5d7423e72e468e199add7f361b7bf4a Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Wed, 26 Mar 2025 17:24:46 +0100 Subject: [PATCH 11/16] refactor(database): enhance SSL configuration handling for various databases --- .../Project/Database/Dragonfly/General.php | 2 + app/Livewire/Project/Database/Heading.php | 5 +- .../Project/Database/Keydb/General.php | 3 + .../Project/Database/Mariadb/General.php | 11 +++ .../Project/Database/Mongodb/General.php | 11 +++ .../Project/Database/Mysql/General.php | 11 +++ .../Project/Database/Postgresql/General.php | 17 ++-- .../Project/Database/Redis/General.php | 11 +++ app/View/Components/Forms/Select.php | 1 + resources/css/app.css | 3 +- .../views/components/forms/select.blade.php | 5 +- .../database/dragonfly/general.blade.php | 12 ++- .../project/database/keydb/general.blade.php | 45 +++++---- .../database/mariadb/general.blade.php | 48 +++++---- .../database/mongodb/general.blade.php | 97 +++++++++++------- .../project/database/mysql/general.blade.php | 41 +++++--- .../database/postgresql/general.blade.php | 98 +++++++++++-------- .../project/database/redis/general.blade.php | 45 +++++---- 18 files changed, 302 insertions(+), 164 deletions(-) diff --git a/app/Livewire/Project/Database/Dragonfly/General.php b/app/Livewire/Project/Database/Dragonfly/General.php index 51f8b5a66..ed5c9fd26 100644 --- a/app/Livewire/Project/Database/Dragonfly/General.php +++ b/app/Livewire/Project/Database/Dragonfly/General.php @@ -60,10 +60,12 @@ class General extends Component public function getListeners() { + $userId = Auth::id(); $teamId = Auth::user()->currentTeam()->id; return [ "echo-private:team.{$teamId},DatabaseProxyStopped" => 'databaseProxyStopped', + "echo-private:user.{$userId},DatabaseStatusChanged" => '$refresh', ]; } diff --git a/app/Livewire/Project/Database/Heading.php b/app/Livewire/Project/Database/Heading.php index c3b57b9f4..9ddb1909c 100644 --- a/app/Livewire/Project/Database/Heading.php +++ b/app/Livewire/Project/Database/Heading.php @@ -31,8 +31,8 @@ class Heading extends Component $this->database->update([ 'started_at' => now(), ]); - $this->dispatch('refresh'); $this->check_status(); + if (is_null($this->database->config_hash) || $this->database->isConfigurationChanged()) { $this->database->isConfigurationChanged(true); $this->dispatch('configurationChanged'); @@ -44,7 +44,7 @@ class Heading extends Component public function check_status($showNotification = false) { if ($this->database->destination->server->isFunctional()) { - GetContainersStatus::dispatch($this->database->destination->server); + GetContainersStatus::run($this->database->destination->server); } if ($showNotification) { @@ -63,6 +63,7 @@ class Heading extends Component $this->database->status = 'exited'; $this->database->save(); $this->check_status(); + $this->dispatch('refresh'); } public function restart() diff --git a/app/Livewire/Project/Database/Keydb/General.php b/app/Livewire/Project/Database/Keydb/General.php index 213b0d2d3..a7c589f3e 100644 --- a/app/Livewire/Project/Database/Keydb/General.php +++ b/app/Livewire/Project/Database/Keydb/General.php @@ -63,10 +63,13 @@ class General extends Component public function getListeners() { + $userId = Auth::id(); $teamId = Auth::user()->currentTeam()->id; return [ "echo-private:team.{$teamId},DatabaseProxyStopped" => 'databaseProxyStopped', + "echo-private:user.{$userId},DatabaseStatusChanged" => '$refresh', + 'refresh' => '$refresh', ]; } diff --git a/app/Livewire/Project/Database/Mariadb/General.php b/app/Livewire/Project/Database/Mariadb/General.php index 06dffdc22..ceac4bffb 100644 --- a/app/Livewire/Project/Database/Mariadb/General.php +++ b/app/Livewire/Project/Database/Mariadb/General.php @@ -8,6 +8,7 @@ use App\Helpers\SslHelper; use App\Models\Server; use App\Models\SslCertificate; use App\Models\StandaloneMariadb; +use Auth; use Carbon\Carbon; use Exception; use Livewire\Component; @@ -26,6 +27,16 @@ class General extends Component public ?Carbon $certificateValidUntil = null; + public function getListeners() + { + $userId = Auth::id(); + + return [ + "echo-private:user.{$userId},DatabaseStatusChanged" => '$refresh', + 'refresh' => '$refresh', + ]; + } + protected $rules = [ 'database.name' => 'required', 'database.description' => 'nullable', diff --git a/app/Livewire/Project/Database/Mongodb/General.php b/app/Livewire/Project/Database/Mongodb/General.php index 282547283..5d3702d9f 100644 --- a/app/Livewire/Project/Database/Mongodb/General.php +++ b/app/Livewire/Project/Database/Mongodb/General.php @@ -8,6 +8,7 @@ use App\Helpers\SslHelper; use App\Models\Server; use App\Models\SslCertificate; use App\Models\StandaloneMongodb; +use Auth; use Carbon\Carbon; use Exception; use Livewire\Component; @@ -26,6 +27,16 @@ class General extends Component public ?Carbon $certificateValidUntil = null; + public function getListeners() + { + $userId = Auth::id(); + + return [ + "echo-private:user.{$userId},DatabaseStatusChanged" => '$refresh', + 'refresh' => '$refresh', + ]; + } + protected $rules = [ 'database.name' => 'required', 'database.description' => 'nullable', diff --git a/app/Livewire/Project/Database/Mysql/General.php b/app/Livewire/Project/Database/Mysql/General.php index c9424b506..bb6964ef6 100644 --- a/app/Livewire/Project/Database/Mysql/General.php +++ b/app/Livewire/Project/Database/Mysql/General.php @@ -8,6 +8,7 @@ use App\Helpers\SslHelper; use App\Models\Server; use App\Models\SslCertificate; use App\Models\StandaloneMysql; +use Auth; use Carbon\Carbon; use Exception; use Livewire\Component; @@ -26,6 +27,16 @@ class General extends Component public ?Carbon $certificateValidUntil = null; + public function getListeners() + { + $userId = Auth::id(); + + return [ + "echo-private:user.{$userId},DatabaseStatusChanged" => '$refresh', + 'refresh' => '$refresh', + ]; + } + protected $rules = [ 'database.name' => 'required', 'database.description' => 'nullable', diff --git a/app/Livewire/Project/Database/Postgresql/General.php b/app/Livewire/Project/Database/Postgresql/General.php index 3057f5316..8440086d9 100644 --- a/app/Livewire/Project/Database/Postgresql/General.php +++ b/app/Livewire/Project/Database/Postgresql/General.php @@ -8,6 +8,7 @@ use App\Helpers\SslHelper; use App\Models\Server; use App\Models\SslCertificate; use App\Models\StandalonePostgresql; +use Auth; use Carbon\Carbon; use Exception; use Livewire\Component; @@ -30,8 +31,11 @@ class General extends Component public function getListeners() { + $userId = Auth::id(); + return [ - 'refresh', + "echo-private:user.{$userId},DatabaseStatusChanged" => '$refresh', + 'refresh' => '$refresh', 'save_init_script', 'delete_init_script', ]; @@ -204,7 +208,7 @@ class General extends Component $delete_command = "rm -f $old_file_path"; try { instant_remote_process([$delete_command], $this->server); - } catch (\Exception $e) { + } catch (Exception $e) { $this->dispatch('error', 'Failed to remove old init script from server: '.$e->getMessage()); return; @@ -245,7 +249,7 @@ class General extends Component $command = "rm -f $file_path"; try { instant_remote_process([$command], $this->server); - } catch (\Exception $e) { + } catch (Exception $e) { $this->dispatch('error', 'Failed to remove init script from server: '.$e->getMessage()); return; @@ -262,16 +266,11 @@ class General extends Component $this->database->init_scripts = $updatedScripts; $this->database->save(); - $this->refresh(); + $this->dispatch('refresh')->self(); $this->dispatch('success', 'Init script deleted from the database and the server.'); } } - public function refresh(): void - { - $this->database->refresh(); - } - public function save_new_init_script() { $this->validate([ diff --git a/app/Livewire/Project/Database/Redis/General.php b/app/Livewire/Project/Database/Redis/General.php index 16519e287..455367aa0 100644 --- a/app/Livewire/Project/Database/Redis/General.php +++ b/app/Livewire/Project/Database/Redis/General.php @@ -8,6 +8,7 @@ use App\Helpers\SslHelper; use App\Models\Server; use App\Models\SslCertificate; use App\Models\StandaloneRedis; +use Auth; use Carbon\Carbon; use Exception; use Livewire\Component; @@ -35,6 +36,16 @@ class General extends Component public ?Carbon $certificateValidUntil = null; + public function getListeners() + { + $userId = Auth::id(); + + return [ + "echo-private:user.{$userId},DatabaseStatusChanged" => '$refresh', + 'refresh' => '$refresh', + ]; + } + protected $rules = [ 'database.name' => 'required', 'database.description' => 'nullable', diff --git a/app/View/Components/Forms/Select.php b/app/View/Components/Forms/Select.php index b75cedaae..feb4bf343 100644 --- a/app/View/Components/Forms/Select.php +++ b/app/View/Components/Forms/Select.php @@ -18,6 +18,7 @@ class Select extends Component public ?string $label = null, public ?string $helper = null, public bool $required = false, + public bool $disabled = false, public string $defaultClass = 'select w-full' ) { // diff --git a/resources/css/app.css b/resources/css/app.css index 175ac3259..815eb2abe 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -46,7 +46,7 @@ body { .input, .select { - @apply text-black dark:bg-coolgray-100 dark:text-white ring-neutral-200 dark:ring-coolgray-300 block w-full py-1.5 rounded border-0 text-sm ring-1 ring-inset; + @apply text-black dark:bg-coolgray-100 dark:text-white ring-neutral-200 dark:ring-coolgray-300 block w-full py-1.5 rounded border-0 text-sm ring-1 ring-inset disabled:dark:bg-coolgray-100/40 disabled:dark:ring-transparent disabled:bg-neutral-200 disabled:text-neutral-500; } .select { @@ -97,6 +97,7 @@ label { @apply dark:text-neutral-400; } + table { @apply min-w-full divide-y dark:divide-coolgray-200 divide-neutral-300; } diff --git a/resources/views/components/forms/select.blade.php b/resources/views/components/forms/select.blade.php index 4da9eca1b..508a85e0c 100644 --- a/resources/views/components/forms/select.blade.php +++ b/resources/views/components/forms/select.blade.php @@ -1,6 +1,7 @@
@if ($label) -
diff --git a/resources/views/livewire/project/database/keydb/general.blade.php b/resources/views/livewire/project/database/keydb/general.blade.php index 58a41c289..065303f75 100644 --- a/resources/views/livewire/project/database/keydb/general.blade.php +++ b/resources/views/livewire/project/database/keydb/general.blade.php @@ -53,34 +53,39 @@

SSL Configuration

- @if($database->enable_ssl && $certificateValidUntil) - + submitAction="regenerateSslCertificate" :confirmWithText="false" :confirmWithPassword="false" /> @endif
- @if($database->enable_ssl && $certificateValidUntil) - Valid until: - @if(now()->gt($certificateValidUntil)) - {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expired - @elseif(now()->addDays(30)->gt($certificateValidUntil)) - {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expiring soon - @else - {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - @endif + @if ($database->enable_ssl && $certificateValidUntil) + Valid until: + @if (now()->gt($certificateValidUntil)) + {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expired + @elseif(now()->addDays(30)->gt($certificateValidUntil)) + {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expiring + soon + @else + {{ $certificateValidUntil->format('d.m.Y H:i:s') }} + @endif @endif
- +
+ @if (str($database->status)->contains('exited')) + + @else + + @endif +
diff --git a/resources/views/livewire/project/database/mariadb/general.blade.php b/resources/views/livewire/project/database/mariadb/general.blade.php index 96ba3a06a..6186e4a82 100644 --- a/resources/views/livewire/project/database/mariadb/general.blade.php +++ b/resources/views/livewire/project/database/mariadb/general.blade.php @@ -70,36 +70,44 @@

SSL Configuration

- @if($database->enable_ssl && $certificateValidUntil) - + @if ($database->enable_ssl && $certificateValidUntil) + @endif
- @if($database->enable_ssl && $certificateValidUntil) - Valid until: - @if(now()->gt($certificateValidUntil)) - {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expired - @elseif(now()->addDays(30)->gt($certificateValidUntil)) - {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expiring soon - @else - {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - @endif + @if ($database->enable_ssl && $certificateValidUntil) + Valid until: + @if (now()->gt($certificateValidUntil)) + {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expired + @elseif(now()->addDays(30)->gt($certificateValidUntil)) + {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expiring + soon + @else + {{ $certificateValidUntil->format('d.m.Y H:i:s') }} + @endif @endif
- +
+ @if (str($database->status)->contains('exited')) + + @else + + @endif +
- +
diff --git a/resources/views/livewire/project/database/mongodb/general.blade.php b/resources/views/livewire/project/database/mongodb/general.blade.php index 4e353306a..83c7f5304 100644 --- a/resources/views/livewire/project/database/mongodb/general.blade.php +++ b/resources/views/livewire/project/database/mongodb/general.blade.php @@ -85,52 +85,73 @@
- + {{ $database->status }} + +
+ @if (str($database->status)->contains('exited')) + + @else + + @endif +
@if ($database->enable_ssl)
- - - - - - + @if (str($database->status)->contains('exited')) + + + + + + + @else + + + + + + + @endif
@endif
-
-
-
-
-
-

Proxy

- +
+
+
+
+

Proxy

+ +
+ @if (data_get($database, 'is_public')) + + Proxy Logs + + + + Logs + + @endif
- @if (data_get($database, 'is_public')) - - Proxy Logs - - - - Logs - - @endif +
- + +
+ +

Advanced

+
+
- -
- -

Advanced

-
- -
diff --git a/resources/views/livewire/project/database/mysql/general.blade.php b/resources/views/livewire/project/database/mysql/general.blade.php index 2a02dd9cd..c9090a4db 100644 --- a/resources/views/livewire/project/database/mysql/general.blade.php +++ b/resources/views/livewire/project/database/mysql/general.blade.php @@ -95,19 +95,38 @@
- +
+ @if (str($database->status)->contains('exited')) + + @else + + @endif +
@if ($database->enable_ssl)
- - - - - - + @if (str($database->status)->contains('exited')) + + + + + + + @else + + + + + + + @endif
@endif
diff --git a/resources/views/livewire/project/database/postgresql/general.blade.php b/resources/views/livewire/project/database/postgresql/general.blade.php index b90836ce8..92e011622 100644 --- a/resources/views/livewire/project/database/postgresql/general.blade.php +++ b/resources/views/livewire/project/database/postgresql/general.blade.php @@ -102,52 +102,72 @@
- +
+ @if ($database->isExited()) + + @else + + @endif +
@if ($database->enable_ssl)
- - - - - - - + @if ($database->isExited()) + + + + + + + + @else + + + + + + + + @endif
@endif -
-
-
-
-
-

Proxy

- +
+
+
+

Proxy

+ +
+ @if (data_get($database, 'is_public')) + + Proxy Logs + + + + Logs + + @endif +
+
+ + +
- @if (data_get($database, 'is_public')) - - Proxy Logs - - - - Logs - - @endif -
-
- - -
-
-
- -
+
+ +
diff --git a/resources/views/livewire/project/database/redis/general.blade.php b/resources/views/livewire/project/database/redis/general.blade.php index a6cae8e38..20acf52c0 100644 --- a/resources/views/livewire/project/database/redis/general.blade.php +++ b/resources/views/livewire/project/database/redis/general.blade.php @@ -53,34 +53,39 @@

SSL Configuration

- @if($database->enable_ssl && $certificateValidUntil) - + submitAction="regenerateSslCertificate" :confirmWithText="false" :confirmWithPassword="false" /> @endif
- @if($database->enable_ssl && $certificateValidUntil) - Valid until: - @if(now()->gt($certificateValidUntil)) - {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expired - @elseif(now()->addDays(30)->gt($certificateValidUntil)) - {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expiring soon - @else - {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - @endif + @if ($database->enable_ssl && $certificateValidUntil) + Valid until: + @if (now()->gt($certificateValidUntil)) + {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expired + @elseif(now()->addDays(30)->gt($certificateValidUntil)) + {{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expiring + soon + @else + {{ $certificateValidUntil->format('d.m.Y H:i:s') }} + @endif @endif
- +
+ @if (str($database->status)->contains('exited')) + + @else + + @endif +
From 44bf3f4ee397cee08a07e170f04d6aa68a23b1af Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Wed, 26 Mar 2025 18:30:52 +0100 Subject: [PATCH 12/16] refactor(database): streamline event listeners in Redis General component --- app/Livewire/Project/Database/Redis/General.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/app/Livewire/Project/Database/Redis/General.php b/app/Livewire/Project/Database/Redis/General.php index 455367aa0..e777ea156 100644 --- a/app/Livewire/Project/Database/Redis/General.php +++ b/app/Livewire/Project/Database/Redis/General.php @@ -15,11 +15,6 @@ use Livewire\Component; class General extends Component { - protected $listeners = [ - 'envsUpdated' => 'refresh', - 'refresh', - ]; - public Server $server; public StandaloneRedis $database; @@ -42,7 +37,8 @@ class General extends Component return [ "echo-private:user.{$userId},DatabaseStatusChanged" => '$refresh', - 'refresh' => '$refresh', + 'envsUpdated' => 'refresh', + 'refresh', ]; } From f3f545998344e9592b5ae41bcd52b56146b137c2 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Wed, 26 Mar 2025 18:31:10 +0100 Subject: [PATCH 13/16] refactor(database): remove redundant database status display in MongoDB view --- .../views/livewire/project/database/mongodb/general.blade.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/resources/views/livewire/project/database/mongodb/general.blade.php b/resources/views/livewire/project/database/mongodb/general.blade.php index 83c7f5304..c92143336 100644 --- a/resources/views/livewire/project/database/mongodb/general.blade.php +++ b/resources/views/livewire/project/database/mongodb/general.blade.php @@ -85,8 +85,6 @@
- {{ $database->status }} -
@if (str($database->status)->contains('exited')) Date: Wed, 26 Mar 2025 18:31:42 +0100 Subject: [PATCH 14/16] refactor(database): update import statements for Auth in database components --- app/Livewire/Project/Database/Mariadb/General.php | 2 +- app/Livewire/Project/Database/Mongodb/General.php | 2 +- app/Livewire/Project/Database/Mysql/General.php | 2 +- app/Livewire/Project/Database/Postgresql/General.php | 2 +- app/Livewire/Project/Database/Redis/General.php | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/Livewire/Project/Database/Mariadb/General.php b/app/Livewire/Project/Database/Mariadb/General.php index ceac4bffb..a13ebd7e0 100644 --- a/app/Livewire/Project/Database/Mariadb/General.php +++ b/app/Livewire/Project/Database/Mariadb/General.php @@ -8,9 +8,9 @@ use App\Helpers\SslHelper; use App\Models\Server; use App\Models\SslCertificate; use App\Models\StandaloneMariadb; -use Auth; use Carbon\Carbon; use Exception; +use Illuminate\Support\Facades\Auth; use Livewire\Component; class General extends Component diff --git a/app/Livewire/Project/Database/Mongodb/General.php b/app/Livewire/Project/Database/Mongodb/General.php index 5d3702d9f..72a9b1fbb 100644 --- a/app/Livewire/Project/Database/Mongodb/General.php +++ b/app/Livewire/Project/Database/Mongodb/General.php @@ -8,9 +8,9 @@ use App\Helpers\SslHelper; use App\Models\Server; use App\Models\SslCertificate; use App\Models\StandaloneMongodb; -use Auth; use Carbon\Carbon; use Exception; +use Illuminate\Support\Facades\Auth; use Livewire\Component; class General extends Component diff --git a/app/Livewire/Project/Database/Mysql/General.php b/app/Livewire/Project/Database/Mysql/General.php index bb6964ef6..1d5cd7505 100644 --- a/app/Livewire/Project/Database/Mysql/General.php +++ b/app/Livewire/Project/Database/Mysql/General.php @@ -8,9 +8,9 @@ use App\Helpers\SslHelper; use App\Models\Server; use App\Models\SslCertificate; use App\Models\StandaloneMysql; -use Auth; use Carbon\Carbon; use Exception; +use Illuminate\Support\Facades\Auth; use Livewire\Component; class General extends Component diff --git a/app/Livewire/Project/Database/Postgresql/General.php b/app/Livewire/Project/Database/Postgresql/General.php index 8440086d9..04e30ad73 100644 --- a/app/Livewire/Project/Database/Postgresql/General.php +++ b/app/Livewire/Project/Database/Postgresql/General.php @@ -8,9 +8,9 @@ use App\Helpers\SslHelper; use App\Models\Server; use App\Models\SslCertificate; use App\Models\StandalonePostgresql; -use Auth; use Carbon\Carbon; use Exception; +use Illuminate\Support\Facades\Auth; use Livewire\Component; class General extends Component diff --git a/app/Livewire/Project/Database/Redis/General.php b/app/Livewire/Project/Database/Redis/General.php index e777ea156..10adcdc79 100644 --- a/app/Livewire/Project/Database/Redis/General.php +++ b/app/Livewire/Project/Database/Redis/General.php @@ -8,9 +8,9 @@ use App\Helpers\SslHelper; use App\Models\Server; use App\Models\SslCertificate; use App\Models\StandaloneRedis; -use Auth; use Carbon\Carbon; use Exception; +use Illuminate\Support\Facades\Auth; use Livewire\Component; class General extends Component From 3be6be4c1b64fb930d0f2a6801b7efc43a19c479 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Thu, 27 Mar 2025 10:02:25 +0100 Subject: [PATCH 15/16] refactor(database): require PEM key file for SSL certificate regeneration --- app/Livewire/Project/Database/Dragonfly/General.php | 1 + app/Livewire/Project/Database/Keydb/General.php | 1 + app/Livewire/Project/Database/Mariadb/General.php | 1 + app/Livewire/Project/Database/Mongodb/General.php | 1 + app/Livewire/Project/Database/Mysql/General.php | 1 + app/Livewire/Project/Database/Postgresql/General.php | 1 + app/Livewire/Project/Database/Redis/General.php | 1 + 7 files changed, 7 insertions(+) diff --git a/app/Livewire/Project/Database/Dragonfly/General.php b/app/Livewire/Project/Database/Dragonfly/General.php index ed5c9fd26..9aef91ac4 100644 --- a/app/Livewire/Project/Database/Dragonfly/General.php +++ b/app/Livewire/Project/Database/Dragonfly/General.php @@ -228,6 +228,7 @@ class General extends Component caKey: $caCert->ssl_private_key, configurationDir: $existingCert->configuration_dir, mountPath: $existingCert->mount_path, + isPemKeyFileRequired: true, ); $this->dispatch('success', 'SSL certificates regenerated. Restart database to apply changes.'); diff --git a/app/Livewire/Project/Database/Keydb/General.php b/app/Livewire/Project/Database/Keydb/General.php index a7c589f3e..cfc22aedc 100644 --- a/app/Livewire/Project/Database/Keydb/General.php +++ b/app/Livewire/Project/Database/Keydb/General.php @@ -234,6 +234,7 @@ class General extends Component caKey: $caCert->ssl_private_key, configurationDir: $existingCert->configuration_dir, mountPath: $existingCert->mount_path, + isPemKeyFileRequired: true, ); $this->dispatch('success', 'SSL certificates regenerated. Restart database to apply changes.'); diff --git a/app/Livewire/Project/Database/Mariadb/General.php b/app/Livewire/Project/Database/Mariadb/General.php index a13ebd7e0..174f907c8 100644 --- a/app/Livewire/Project/Database/Mariadb/General.php +++ b/app/Livewire/Project/Database/Mariadb/General.php @@ -184,6 +184,7 @@ class General extends Component caKey: $caCert->ssl_private_key, configurationDir: $existingCert->configuration_dir, mountPath: $existingCert->mount_path, + isPemKeyFileRequired: true, ); $this->dispatch('success', 'SSL certificates have been regenerated. Please restart the database for changes to take effect.'); diff --git a/app/Livewire/Project/Database/Mongodb/General.php b/app/Livewire/Project/Database/Mongodb/General.php index 72a9b1fbb..2ac6e43b7 100644 --- a/app/Livewire/Project/Database/Mongodb/General.php +++ b/app/Livewire/Project/Database/Mongodb/General.php @@ -192,6 +192,7 @@ class General extends Component caKey: $caCert->ssl_private_key, configurationDir: $existingCert->configuration_dir, mountPath: $existingCert->mount_path, + isPemKeyFileRequired: true, ); $this->dispatch('success', 'SSL certificates have been regenerated. Please restart the database for changes to take effect.'); diff --git a/app/Livewire/Project/Database/Mysql/General.php b/app/Livewire/Project/Database/Mysql/General.php index 1d5cd7505..ea0ea4691 100644 --- a/app/Livewire/Project/Database/Mysql/General.php +++ b/app/Livewire/Project/Database/Mysql/General.php @@ -191,6 +191,7 @@ class General extends Component caKey: $caCert->ssl_private_key, configurationDir: $existingCert->configuration_dir, mountPath: $existingCert->mount_path, + isPemKeyFileRequired: true, ); $this->dispatch('success', 'SSL certificates have been regenerated. Please restart the database for changes to take effect.'); diff --git a/app/Livewire/Project/Database/Postgresql/General.php b/app/Livewire/Project/Database/Postgresql/General.php index 04e30ad73..4162f47b5 100644 --- a/app/Livewire/Project/Database/Postgresql/General.php +++ b/app/Livewire/Project/Database/Postgresql/General.php @@ -148,6 +148,7 @@ class General extends Component caKey: $caCert->ssl_private_key, configurationDir: $existingCert->configuration_dir, mountPath: $existingCert->mount_path, + isPemKeyFileRequired: true, ); $this->dispatch('success', 'SSL certificates have been regenerated. Please restart the database for changes to take effect.'); diff --git a/app/Livewire/Project/Database/Redis/General.php b/app/Livewire/Project/Database/Redis/General.php index 10adcdc79..f301d912e 100644 --- a/app/Livewire/Project/Database/Redis/General.php +++ b/app/Livewire/Project/Database/Redis/General.php @@ -188,6 +188,7 @@ class General extends Component caKey: $caCert->ssl_private_key, configurationDir: $existingCert->configuration_dir, mountPath: $existingCert->mount_path, + isPemKeyFileRequired: true, ); $this->dispatch('success', 'SSL certificates regenerated. Restart database to apply changes.'); From ebd9485acbeb7268c8533c13dfc2359cb7c6a668 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Thu, 27 Mar 2025 10:14:40 +0100 Subject: [PATCH 16/16] refactor(database): change MySQL daemon command to MariaDB daemon --- app/Actions/Database/StartMariadb.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Actions/Database/StartMariadb.php b/app/Actions/Database/StartMariadb.php index 14df9b017..c29273a66 100644 --- a/app/Actions/Database/StartMariadb.php +++ b/app/Actions/Database/StartMariadb.php @@ -183,7 +183,7 @@ class StartMariadb $docker_compose = generateCustomDockerRunOptionsForDatabases($docker_run_options, $docker_compose, $container_name, $this->database->destination->network); if ($this->database->enable_ssl) { $docker_compose['services'][$container_name]['command'] = [ - 'mysqld', + 'mariadbd', '--ssl-cert=/etc/mysql/certs/server.crt', '--ssl-key=/etc/mysql/certs/server.key', '--ssl-ca=/etc/mysql/certs/coolify-ca.crt',