From 28f87a306dcf805d753c07642a604da19d7f3efc Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 12 Apr 2022 20:57:49 +0200 Subject: [PATCH 01/10] fix: Cleanup images older than a day --- src/lib/queues/cleanup.ts | 51 +++++++-------------------------------- 1 file changed, 9 insertions(+), 42 deletions(-) diff --git a/src/lib/queues/cleanup.ts b/src/lib/queues/cleanup.ts index 3802e3317..05f795799 100644 --- a/src/lib/queues/cleanup.ts +++ b/src/lib/queues/cleanup.ts @@ -14,56 +14,23 @@ export default async function (): Promise { await asyncExecShell(`DOCKER_HOST=${host} docker rmi -f ${images}`); } } catch (error) { - console.log(error); + //console.log(error); } try { await asyncExecShell(`DOCKER_HOST=${host} docker container prune -f`); } catch (error) { - console.log(error); + //console.log(error); } try { await asyncExecShell(`DOCKER_HOST=${host} docker image prune -f --filter "until=2h"`); } catch (error) { - console.log(error); + //console.log(error); + } + // Cleanup old images older than a day + try { + await asyncExecShell(`DOCKER_HOST=${host} docker image prune --filter "until=24h" -a -f`); + } catch (error) { + //console.log(error); } - // Tagging images with labels - // try { - // const images = [ - // `coollabsio/${defaultProxyImageTcp}`, - // `coollabsio/${defaultProxyImageHttp}`, - // 'certbot/certbot:latest', - // 'node:16.14.0-alpine', - // 'alpine:latest', - // 'nginx:stable-alpine', - // 'node:lts', - // 'php:apache', - // 'rust:latest' - // ]; - // for (const image of images) { - // try { - // await asyncExecShell(`DOCKER_HOST=${host} docker image inspect ${image}`); - // } catch (error) { - // await asyncExecShell( - // `DOCKER_HOST=${host} docker pull ${image} && echo "FROM ${image}" | docker build --label coolify.image="true" -t "${image}" -` - // ); - // } - // } - // } catch (error) {} - // if (!dev) { - // // Cleanup images that are not managed by coolify - // try { - // await asyncExecShell( - // `DOCKER_HOST=${host} docker image prune --filter 'label!=coolify.image=true' -a -f` - // ); - // } catch (error) { - // console.log(error); - // } - // // Cleanup old images >3 days - // try { - // await asyncExecShell(`DOCKER_HOST=${host} docker image prune --filter "until=72h" -a -f`); - // } catch (error) { - // console.log(error); - // } - // } } } From 9e681ece41908747d65b0e77a7a13f955d9b1a84 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 12 Apr 2022 20:58:02 +0200 Subject: [PATCH 02/10] chore: version++ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c42352555..e6fc811c4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "coolify", "description": "An open-source & self-hostable Heroku / Netlify alternative.", - "version": "2.4.5", + "version": "2.4.6", "license": "AGPL-3.0", "scripts": { "dev": "docker-compose -f docker-compose-dev.yaml up -d && cross-env NODE_ENV=development & svelte-kit dev", From 0e6abf172be91f36a18f07d51c8adedffc3716d4 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 12 Apr 2022 21:09:38 +0200 Subject: [PATCH 03/10] fix: Meilisearch service --- src/lib/haproxy/configuration.ts | 3 ++- src/lib/letsencrypt/index.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/haproxy/configuration.ts b/src/lib/haproxy/configuration.ts index f0bd2bb08..36dded536 100644 --- a/src/lib/haproxy/configuration.ts +++ b/src/lib/haproxy/configuration.ts @@ -215,7 +215,8 @@ export async function configureHAProxy(): Promise { plausibleAnalytics: true, vscodeserver: true, wordpress: true, - ghost: true + ghost: true, + meiliSearch: true } }); diff --git a/src/lib/letsencrypt/index.ts b/src/lib/letsencrypt/index.ts index b90cac5bd..857e0e998 100644 --- a/src/lib/letsencrypt/index.ts +++ b/src/lib/letsencrypt/index.ts @@ -148,7 +148,8 @@ export async function generateSSLCerts(): Promise { plausibleAnalytics: true, vscodeserver: true, wordpress: true, - ghost: true + ghost: true, + meiliSearch: true }, orderBy: { createdAt: 'desc' } }); From 58763ef84c3a7f548e88abd2aef989deda9c6f23 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 12 Apr 2022 21:48:50 +0200 Subject: [PATCH 04/10] fix: Load all branches, not just the first 30 --- .../configuration/_GithubRepositories.svelte | 61 +++++++++++-------- src/tailwind.css | 5 +- 2 files changed, 39 insertions(+), 27 deletions(-) diff --git a/src/routes/applications/[id]/configuration/_GithubRepositories.svelte b/src/routes/applications/[id]/configuration/_GithubRepositories.svelte index 06e58be58..81a44018f 100644 --- a/src/routes/applications/[id]/configuration/_GithubRepositories.svelte +++ b/src/routes/applications/[id]/configuration/_GithubRepositories.svelte @@ -36,8 +36,15 @@ }); } + async function loadBranchesByPage(page = 0) { + return await get(`${apiUrl}/repos/${selected.repository}/branches?per_page=100&page=${page}`, { + Authorization: `token ${$gitTokens.githubToken}` + }); + } + let reposSelectOptions; let branchSelectOptions; + async function loadRepositories() { let page = 1; let reposCount = 0; @@ -58,24 +65,27 @@ })); } async function loadBranches(event) { + branches = []; selected.repository = event.detail.value; + let page = 1; + let branchCount = 0; loading.branches = true; - selected.branch = undefined; - selected.projectId = repositories.find((repo) => repo.full_name === selected.repository).id; - try { - branches = await get(`${apiUrl}/repos/${selected.repository}/branches`, { - Authorization: `token ${$gitTokens.githubToken}` - }); - branchSelectOptions = branches.map((branch) => ({ - value: branch.name, - label: branch.name - })); - return; - } catch ({ error }) { - return errorNotification(error); - } finally { - loading.branches = false; + const loadedBranches = await loadBranchesByPage(); + branches = branches.concat(loadedBranches); + branchCount = branches.length; + if (branchCount === 100) { + while (branchCount === 100) { + page = page + 1; + const nextBranches = await loadBranchesByPage(page); + branches = branches.concat(nextBranches); + branchCount = nextBranches.length; + } } + loading.branches = false; + branchSelectOptions = branches.map((branch) => ({ + value: branch.name, + label: branch.name + })); } async function isBranchAlreadyUsed(event) { selected.branch = event.detail.value; @@ -166,30 +176,36 @@ {:else}
-
+