diff --git a/README.md b/README.md index e735b6c30..f4b7af6ef 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ These are the predefined build packs, but with the Docker build pack, you can ho - Laravel - Rust - Docker +- Python ### Databases @@ -77,9 +78,9 @@ One-click database is ready to be used internally or shared over the internet: You can host cool open-source services as well: -- [WordPress](https://wordpress.org) +- [WordPress](https://docs.coollabs.io/coolify/services/wordpress) - [Ghost](https://ghost.org) -- [Plausible Analytics](https://plausible.io) +- [Plausible Analytics](https://docs.coollabs.io/coolify/services/plausible-analytics) - [NocoDB](https://nocodb.com) - [VSCode Server](https://github.com/cdr/code-server) - [MinIO](https://min.io) diff --git a/package.json b/package.json index e0dd0b78b..1f5bea178 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "coolify", "description": "An open-source & self-hostable Heroku / Netlify alternative.", - "version": "2.8.0", + "version": "2.8.1", "license": "AGPL-3.0", "scripts": { "dev": "docker-compose -f docker-compose-dev.yaml up -d && cross-env NODE_ENV=development & svelte-kit dev --host 0.0.0.0", diff --git a/src/lib/buildPacks/common.ts b/src/lib/buildPacks/common.ts index fcd7b2df3..c6f1f75f8 100644 --- a/src/lib/buildPacks/common.ts +++ b/src/lib/buildPacks/common.ts @@ -406,6 +406,10 @@ export function setDefaultBaseImage(buildPack) { } ]; const pythonVersions = [ + { + value: 'python:3.10-alpine', + label: 'python:3.10-alpine' + }, { value: 'python:3.10-buster', label: 'python:3.10-buster' @@ -486,7 +490,7 @@ export function setDefaultBaseImage(buildPack) { payload.baseBuildImages = nodeVersions; } if (buildPack === 'python') { - payload.baseImage = 'python:3-alpine'; + payload.baseImage = 'python:3.10-alpine'; payload.baseImages = pythonVersions; } if (buildPack === 'rust') { diff --git a/src/lib/database/services.ts b/src/lib/database/services.ts index a1fb7f2de..d2a7bb899 100644 --- a/src/lib/database/services.ts +++ b/src/lib/database/services.ts @@ -418,20 +418,27 @@ export async function updateWordpress({ fqdn, name, exposePort, + ownMysql, mysqlDatabase, extraConfig, mysqlHost, - mysqlPort + mysqlPort, + mysqlUser, + mysqlPassword }: { id: string; fqdn: string; name: string; exposePort?: number; + ownMysql: boolean; mysqlDatabase: string; extraConfig: string; mysqlHost?: string; mysqlPort?: number; + mysqlUser?: string; + mysqlPassword?: string; }): Promise { + mysqlPassword = encrypt(mysqlPassword); return await prisma.service.update({ where: { id }, data: { @@ -443,6 +450,8 @@ export async function updateWordpress({ mysqlDatabase, extraConfig, mysqlHost, + mysqlUser, + mysqlPassword, mysqlPort } } diff --git a/src/routes/applications/index.svelte b/src/routes/applications/index.svelte index a14e6fd5c..1eed20ad9 100644 --- a/src/routes/applications/index.svelte +++ b/src/routes/applications/index.svelte @@ -60,7 +60,7 @@ {/if} -
+
{#if !applications || ownApplications.length === 0}
{$t('application.no_applications_found')}
diff --git a/src/routes/databases/index.svelte b/src/routes/databases/index.svelte index 94520ba0d..7939910ae 100644 --- a/src/routes/databases/index.svelte +++ b/src/routes/databases/index.svelte @@ -47,7 +47,7 @@
-
+
{#if !databases || ownDatabases.length === 0}
{$t('database.no_databases_found')}
diff --git a/src/routes/destinations/index.svelte b/src/routes/destinations/index.svelte index 2254cfe5e..1313cb1b6 100644 --- a/src/routes/destinations/index.svelte +++ b/src/routes/destinations/index.svelte @@ -58,7 +58,7 @@ {/if}
-
+
{#if !destinations || ownDestinations.length === 0}
{$t('destination.no_destination_found')}
diff --git a/src/routes/index.svelte b/src/routes/index.svelte index fbf91d066..bd441afdb 100644 --- a/src/routes/index.svelte +++ b/src/routes/index.svelte @@ -140,7 +140,6 @@ {#if $session.teamId === '0'}
Server Usage
-
Total Memory
@@ -175,12 +174,6 @@ {usage?.cpu.count}
-
-
Load Average (5/10/30mins)
-
- {usage?.cpu.load.join('/')} -
-
+
+
Load Average (5/10/30mins)
+
+ {usage?.cpu.load.join('/')} +
+
@@ -255,7 +254,7 @@
-
+
@@ -184,8 +184,8 @@ define('SUBDOMAIN_INSTALL', false);` @@ -196,7 +196,7 @@ define('SUBDOMAIN_INSTALL', false);` @@ -209,6 +209,6 @@ define('SUBDOMAIN_INSTALL', false);` readonly={isRunning || !service.wordpress.ownMysql} disabled={isRunning || !service.wordpress.ownMysql} name="mysqlPassword" - value={service.wordpress.mysqlPassword} + bind:value={service.wordpress.mysqlPassword} />
diff --git a/src/routes/services/[id]/wordpress/index.json.ts b/src/routes/services/[id]/wordpress/index.json.ts index a35270009..b10bfeefc 100644 --- a/src/routes/services/[id]/wordpress/index.json.ts +++ b/src/routes/services/[id]/wordpress/index.json.ts @@ -12,23 +12,25 @@ export const post: RequestHandler = async (event) => { name, fqdn, exposePort, - wordpress: { extraConfig, mysqlDatabase, mysqlHost, mysqlPort } + ownMysql, + wordpress: { extraConfig, mysqlDatabase, mysqlHost, mysqlPort, mysqlUser, mysqlPassword } } = await event.request.json(); - if (fqdn) fqdn = fqdn.toLowerCase(); if (exposePort) exposePort = Number(exposePort); if (mysqlPort) mysqlPort = Number(mysqlPort); - try { await db.updateWordpress({ id, fqdn, name, extraConfig, + ownMysql, mysqlDatabase, exposePort, mysqlHost, - mysqlPort + mysqlPort, + mysqlUser, + mysqlPassword }); return { status: 201 }; } catch (error) { diff --git a/src/routes/services/index.svelte b/src/routes/services/index.svelte index 06a7ce2cc..32c7e14ea 100644 --- a/src/routes/services/index.svelte +++ b/src/routes/services/index.svelte @@ -55,7 +55,7 @@
-
+
{#if !services || ownServices.length === 0}
{$t('service.no_service')}
diff --git a/src/routes/sources/index.svelte b/src/routes/sources/index.svelte index b9c617b06..8d85a89db 100644 --- a/src/routes/sources/index.svelte +++ b/src/routes/sources/index.svelte @@ -62,7 +62,7 @@ {/if}
-
+
{#if !sources || ownSources.length === 0}
{$t('source.no_git_sources_found')}