Merge pull request #419 from coollabsio/next

v2.8.1
This commit is contained in:
Andras Bacsai 2022-05-10 18:25:38 +02:00 committed by GitHub
commit 3802158ad5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 43 additions and 28 deletions

View File

@ -61,6 +61,7 @@ ### Applications
- Laravel
- Rust
- Docker
- Python
### Databases
@ -77,9 +78,9 @@ ### One-click services
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)

View File

@ -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",

View File

@ -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') {

View File

@ -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<Service> {
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
}
}

View File

@ -60,7 +60,7 @@
</div>
{/if}
</div>
<div class="flex justify-center">
<div class="flex-col justify-center">
{#if !applications || ownApplications.length === 0}
<div class="flex-col">
<div class="text-center text-xl font-bold">{$t('application.no_applications_found')}</div>

View File

@ -47,7 +47,7 @@
</div>
</div>
<div class="flex justify-center">
<div class="flex-col justify-center">
{#if !databases || ownDatabases.length === 0}
<div class="flex-col">
<div class="text-center text-xl font-bold">{$t('database.no_databases_found')}</div>

View File

@ -58,7 +58,7 @@
</a>
{/if}
</div>
<div class="flex justify-center">
<div class="flex-col justify-center">
{#if !destinations || ownDestinations.length === 0}
<div class="flex-col">
<div class="text-center text-xl font-bold">{$t('destination.no_destination_found')}</div>

View File

@ -140,7 +140,6 @@
{#if $session.teamId === '0'}
<div class="px-6 text-2xl font-bold">Server Usage</div>
<dl class="relative mt-5 grid grid-cols-1 gap-5 sm:grid-cols-3">
<Loading />
<div class="overflow-hidden rounded px-4 py-5 text-center sm:p-6 sm:text-left">
<dt class="truncate text-sm font-medium text-white">Total Memory</dt>
<dd class="mt-1 text-3xl font-semibold text-white">
@ -175,12 +174,6 @@
{usage?.cpu.count}
</dd>
</div>
<div class="overflow-hidden rounded px-4 py-5 text-center sm:p-6 sm:text-left">
<dt class="truncate text-sm font-medium text-white">Load Average (5/10/30mins)</dt>
<dd class="mt-1 text-3xl font-semibold text-white">
{usage?.cpu.load.join('/')}
</dd>
</div>
<div
class="overflow-hidden rounded px-4 py-5 text-center sm:p-6 sm:text-left"
class:bg-red-500={cpuWarning}
@ -193,6 +186,12 @@
{/if}
</dd>
</div>
<div class="overflow-hidden rounded px-4 py-5 text-center sm:p-6 sm:text-left">
<dt class="truncate text-sm font-medium text-white">Load Average (5/10/30mins)</dt>
<dd class="mt-1 text-3xl font-semibold text-white">
{usage?.cpu.load.join('/')}
</dd>
</div>
</dl>
<dl class="relative mt-5 grid grid-cols-1 gap-5 sm:grid-cols-3">
<div class="overflow-hidden rounded px-4 py-5 text-center sm:p-6 sm:text-left">
@ -255,7 +254,7 @@
</dd>
</a>
</dl>
<dl class="mt-5 grid grid-cols-1 gap-5 sm:grid-cols-3">
<dl class="mt-5 grid grid-cols-1 gap-5 px-2 sm:grid-cols-3">
<a
href="/databases"
sveltekit:prefetch

View File

@ -175,8 +175,8 @@ define('SUBDOMAIN_INSTALL', false);`
id="mysqlRootUser"
placeholder="MySQL {$t('forms.root_user')}"
value={service.wordpress.mysqlRootUser}
readonly={isRunning || !service.wordpress.ownMysq}
disabled={isRunning || !service.wordpress.ownMysq}
readonly={isRunning || !service.wordpress.ownMysql}
disabled={isRunning || !service.wordpress.ownMysql}
/>
</div>
<div class="grid grid-cols-2 items-center px-10">
@ -184,8 +184,8 @@ define('SUBDOMAIN_INSTALL', false);`
<CopyPasswordField
id="mysqlRootUserPassword"
isPasswordField
readonly={isRunning || !service.wordpress.ownMysq}
disabled={isRunning || !service.wordpress.ownMysq}
readonly={isRunning || !service.wordpress.ownMysql}
disabled={isRunning || !service.wordpress.ownMysql}
name="mysqlRootUserPassword"
value={service.wordpress.mysqlRootUserPassword}
/>
@ -196,7 +196,7 @@ define('SUBDOMAIN_INSTALL', false);`
<input
name="mysqlUser"
id="mysqlUser"
value={service.wordpress.mysqlUser}
bind:value={service.wordpress.mysqlUser}
readonly={isRunning || !service.wordpress.ownMysql}
disabled={isRunning || !service.wordpress.ownMysql}
/>
@ -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}
/>
</div>

View File

@ -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) {

View File

@ -55,7 +55,7 @@
</div>
</div>
<div class="flex justify-center">
<div class="flex-col justify-center">
{#if !services || ownServices.length === 0}
<div class="flex-col">
<div class="text-center text-xl font-bold">{$t('service.no_service')}</div>

View File

@ -62,7 +62,7 @@
</button>
{/if}
</div>
<div class="flex justify-center">
<div class="flex-col justify-center">
{#if !sources || ownSources.length === 0}
<div class="flex-col">
<div class="text-center text-xl font-bold">{$t('source.no_git_sources_found')}</div>