From 929c02d31f446023ead86580b8f19aac8b74cbe3 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Mon, 26 Sep 2022 20:21:41 +0000 Subject: [PATCH 1/9] ui: fix basedirectory meaning --- apps/api/src/lib/buildPacks/common.ts | 24 ---------- .../src/routes/applications/[id]/index.svelte | 44 +++++++++++-------- 2 files changed, 25 insertions(+), 43 deletions(-) diff --git a/apps/api/src/lib/buildPacks/common.ts b/apps/api/src/lib/buildPacks/common.ts index 37a4b023c..fc9e3a768 100644 --- a/apps/api/src/lib/buildPacks/common.ts +++ b/apps/api/src/lib/buildPacks/common.ts @@ -607,30 +607,6 @@ export async function buildImage({ } } -export async function streamEvents({ stream, docker, buildId, applicationId, debug }) { - await new Promise((resolve, reject) => { - docker.engine.modem.followProgress(stream, onFinished, onProgress); - function onFinished(err, res) { - if (err) reject(err); - resolve(res); - } - async function onProgress(event) { - if (event.error) { - reject(event.error); - } else if (event.stream) { - if (event.stream !== '\n') { - if (debug) - await saveBuildLog({ - line: `${event.stream.replace('\n', '')}`, - buildId, - applicationId - }); - } - } - } - }); -} - export function makeLabelForStandaloneApplication({ applicationId, fqdn, diff --git a/apps/ui/src/routes/applications/[id]/index.svelte b/apps/ui/src/routes/applications/[id]/index.svelte index bc2a4e26a..39740157f 100644 --- a/apps/ui/src/routes/applications/[id]/index.svelte +++ b/apps/ui/src/routes/applications/[id]/index.svelte @@ -266,7 +266,6 @@ await getBaseBuildImages(); await handleSubmit(); } - async function isDNSValid(domain: any, isWWW: any) { try { await get(`/applications/${id}/check?domain=${domain}`); @@ -707,24 +706,6 @@ /> {/if} - {#if application.buildPack === 'docker'} -
- - -
- {/if} {#if application.buildPack === 'deno'}
@@ -776,6 +757,31 @@ />
{/if} + {#if application.buildPack === 'docker'} +
+ +
+ + +
+ +
+ {/if} {#if !notNodeDeployments.includes(application.buildPack)}
From 9d15d2be77c28c86f767c9f4846ec066c165519a Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Mon, 26 Sep 2022 20:22:08 +0000 Subject: [PATCH 2/9] chore: version++ --- apps/api/src/lib/common.ts | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/api/src/lib/common.ts b/apps/api/src/lib/common.ts index b87fe4eef..7bc8b2da6 100644 --- a/apps/api/src/lib/common.ts +++ b/apps/api/src/lib/common.ts @@ -21,7 +21,7 @@ import { scheduler } from './scheduler'; import { supportedServiceTypesAndVersions } from './services/supportedVersions'; import { includeServices } from './services/common'; -export const version = '3.10.8'; +export const version = '3.10.9'; export const isDev = process.env.NODE_ENV === 'development'; const algorithm = 'aes-256-ctr'; diff --git a/package.json b/package.json index a2e4cf306..50a447f4c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "coolify", "description": "An open-source & self-hostable Heroku / Netlify alternative.", - "version": "3.10.8", + "version": "3.10.9", "license": "Apache-2.0", "repository": "github:coollabsio/coolify", "scripts": { From 21dfa5227cf21c25750404eb5e327125f76125d3 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Mon, 26 Sep 2022 20:37:58 +0000 Subject: [PATCH 3/9] fix: logs in docker bp --- apps/api/src/jobs/deployApplication.ts | 1 - apps/api/src/lib/buildPacks/common.ts | 4 +- apps/api/src/lib/buildPacks/docker.ts | 55 ++++++++++++-------------- 3 files changed, 28 insertions(+), 32 deletions(-) diff --git a/apps/api/src/jobs/deployApplication.ts b/apps/api/src/jobs/deployApplication.ts index 89859620f..ba0281b02 100644 --- a/apps/api/src/jobs/deployApplication.ts +++ b/apps/api/src/jobs/deployApplication.ts @@ -211,7 +211,6 @@ import * as buildpacks from '../lib/buildPacks'; // } await copyBaseConfigurationFiles(buildPack, workdir, buildId, applicationId, baseImage); - if (forceRebuild) deployNeeded = true if (!imageFound || deployNeeded) { // if (true) { diff --git a/apps/api/src/lib/buildPacks/common.ts b/apps/api/src/lib/buildPacks/common.ts index fc9e3a768..d91dc097f 100644 --- a/apps/api/src/lib/buildPacks/common.ts +++ b/apps/api/src/lib/buildPacks/common.ts @@ -586,9 +586,9 @@ export async function buildImage({ } else { await saveBuildLog({ line: `Building image started.`, buildId, applicationId }); } - if (!debug && isCache) { + if (!debug) { await saveBuildLog({ - line: `Debug turned off. To see more details, allow it in the configuration.`, + line: `Debug turned off. To see more details, allow it in the features tab.`, buildId, applicationId }); diff --git a/apps/api/src/lib/buildPacks/docker.ts b/apps/api/src/lib/buildPacks/docker.ts index e8cfd89bc..777dda157 100644 --- a/apps/api/src/lib/buildPacks/docker.ts +++ b/apps/api/src/lib/buildPacks/docker.ts @@ -13,36 +13,33 @@ export default async function (data) { pullmergeRequestId, dockerFileLocation } = data - try { - const file = `${workdir}${baseDirectory}${dockerFileLocation}`; - data.workdir = `${workdir}${baseDirectory}`; - const Dockerfile: Array = (await fs.readFile(`${file}`, 'utf8')) - .toString() - .trim() - .split('\n'); - Dockerfile.push(`LABEL coolify.buildId=${buildId}`); - if (secrets.length > 0) { - secrets.forEach((secret) => { - if (secret.isBuildSecret) { - if ( - (pullmergeRequestId && secret.isPRMRSecret) || - (!pullmergeRequestId && !secret.isPRMRSecret) - ) { - Dockerfile.unshift(`ARG ${secret.name}=${secret.value}`); + const file = `${workdir}${baseDirectory}${dockerFileLocation}`; + data.workdir = `${workdir}${baseDirectory}`; + const DockerfileRaw = await fs.readFile(`${file}`, 'utf8') + const Dockerfile: Array = DockerfileRaw + .toString() + .trim() + .split('\n'); + Dockerfile.push(`LABEL coolify.buildId=${buildId}`); + if (secrets.length > 0) { + secrets.forEach((secret) => { + if (secret.isBuildSecret) { + if ( + (pullmergeRequestId && secret.isPRMRSecret) || + (!pullmergeRequestId && !secret.isPRMRSecret) + ) { + Dockerfile.unshift(`ARG ${secret.name}=${secret.value}`); - Dockerfile.forEach((line, index) => { - if (line.startsWith('FROM')) { - Dockerfile.splice(index + 1, 0, `ARG ${secret.name}`); - } - }); - } + Dockerfile.forEach((line, index) => { + if (line.startsWith('FROM')) { + Dockerfile.splice(index + 1, 0, `ARG ${secret.name}`); + } + }); } - }); - } - - await fs.writeFile(`${workdir}${dockerFileLocation}`, Dockerfile.join('\n')); - await buildImage(data); - } catch (error) { - throw error; + } + }); } + + await fs.writeFile(`${workdir}${dockerFileLocation}`, Dockerfile.join('\n')); + await buildImage(data); } From cb9586270c289bd6adfcc8c112ab8e244dcbfb69 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 27 Sep 2022 09:27:28 +0000 Subject: [PATCH 4/9] fix: able to delete apps in unconfigured state --- .../routes/applications/[id]/__layout.svelte | 52 ++++++++++++++++--- 1 file changed, 46 insertions(+), 6 deletions(-) diff --git a/apps/ui/src/routes/applications/[id]/__layout.svelte b/apps/ui/src/routes/applications/[id]/__layout.svelte index 4282c6a33..3e50a0553 100644 --- a/apps/ui/src/routes/applications/[id]/__layout.svelte +++ b/apps/ui/src/routes/applications/[id]/__layout.svelte @@ -59,6 +59,7 @@ import { goto } from '$app/navigation'; import { onDestroy, onMount } from 'svelte'; import { t } from '$lib/translations'; + import DeleteIcon from '$lib/components/DeleteIcon.svelte'; import { appSession, status, @@ -75,10 +76,25 @@ let statusInterval: any; let forceDelete = false; - const { id } = $page.params; + const { id } = $page.params; $isDeploymentEnabled = checkIfDeploymentEnabledApplications($appSession.isAdmin, application); + async function deleteApplication(name: string, force: boolean) { + const sure = confirm($t('application.confirm_to_delete', { name })); + if (sure) { + try { + await del(`/applications/${id}`, { id, force }); + return await goto('/'); + } catch (error) { + if (error.message.startsWith(`Command failed: SSH_AUTH_SOCK=/tmp/coolify-ssh-agent.pid`)) { + forceDelete = true; + } + return errorNotification(error); + } + } + } + async function handleDeploySubmit(forceRebuild = false) { if (!$isDeploymentEnabled) return; try { @@ -172,13 +188,13 @@
-
+ {#if $page.url.pathname.startsWith(`/applications/${id}/configuration/`)} +
+ {#if forceDelete} + + {:else} + + {/if} +
+ + {/if}
Force Redeploy (without cache) - {:else} - {#if $isDeploymentEnabled} + {:else if $isDeploymentEnabled} - {/if} {/if} {#if $location && $status.application.isRunning} From df31e473131c8f93a3b9e62dfa2f595bf37ea747 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 28 Sep 2022 08:39:33 +0200 Subject: [PATCH 5/9] fix: disable development low disk space --- apps/api/src/lib/common.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/api/src/lib/common.ts b/apps/api/src/lib/common.ts index 7bc8b2da6..5435e976e 100644 --- a/apps/api/src/lib/common.ts +++ b/apps/api/src/lib/common.ts @@ -1651,10 +1651,10 @@ export async function cleanupDockerStorage(dockerId, lowDiskSpace, force) { } } catch (error) { } if (lowDiskSpace || force) { - if (isDev) { - if (!force) console.log(`[DEV MODE] Low disk space: ${lowDiskSpace}`); - return; - } + // if (isDev) { + // if (!force) console.log(`[DEV MODE] Low disk space: ${lowDiskSpace}`); + // return; + // } try { await executeDockerCmd({ dockerId, From 91e7cffccc1c729e282f58b95c7b878bd8cb74ae Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 28 Sep 2022 08:39:59 +0200 Subject: [PATCH 6/9] fix: only log things to console in dev mode --- apps/api/src/lib/buildPacks/common.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/api/src/lib/buildPacks/common.ts b/apps/api/src/lib/buildPacks/common.ts index d91dc097f..c5d589bda 100644 --- a/apps/api/src/lib/buildPacks/common.ts +++ b/apps/api/src/lib/buildPacks/common.ts @@ -472,7 +472,8 @@ export const saveBuildLog = async ({ if (isDev) { console.debug(`[${applicationId}] ${addTimestamp}`); - } + return + } try { return await got.post(`${fluentBitUrl}/${applicationId}_buildlog_${buildId}.csv`, { json: { @@ -697,6 +698,7 @@ export async function buildCacheImageWithNode(data, imageForBuild) { if (installCommand) { Dockerfile.push(`RUN ${installCommand}`); } + // Dockerfile.push(`ARG CACHEBUST=1`); Dockerfile.push(`RUN ${buildCommand}`); await fs.writeFile(`${workdir}/Dockerfile-cache`, Dockerfile.join('\n')); await buildImage({ ...data, isCache: true }); From 7a5377efe0fb442116113bd9dd4ef215cd951bb8 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 28 Sep 2022 09:07:46 +0200 Subject: [PATCH 7/9] ui: resource button fix --- apps/ui/src/routes/_NewResource.svelte | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/apps/ui/src/routes/_NewResource.svelte b/apps/ui/src/routes/_NewResource.svelte index 3e73752bf..e3c494aa3 100644 --- a/apps/ui/src/routes/_NewResource.svelte +++ b/apps/ui/src/routes/_NewResource.svelte @@ -18,8 +18,8 @@ {#if applications.length !== 0 || destinations.length !== 0 || databases.length !== 0 || services.length !== 0 || gitSources.length !== 0 || destinations.length !== 0}
@@ -343,40 +465,16 @@
- {#if currentStatus === 'queued'} -
- {$t('application.build.queued_waiting_exec')} -
- {:else if logs.length > 0} -
- {#each logs as log} - {#if fromDb} -
{log.line + '\n'}
- {:else} -
[{day.unix(log.time).format('HH:mm:ss.SSS')}] {log.line + '\n'}
- {/if} - {/each} -
- {:else} -
- No logs found yet. -
{/if} +
+{#if currentStatus === 'queued'} +
+ {$t('application.build.queued_waiting_exec')} +
+{:else if logs.length > 0} +
+ {#each logs as log} + {#if fromDb} +
{log.line + '\n'}
+ {:else} +
[{day.unix(log.time).format('HH:mm:ss.SSS')}] {log.line + '\n'}
+ {/if} + {/each} +
+{:else} +
+ {dev ? 'In development, logs are shown in the console.' : 'No logs found yet.'} +
+{/if}