fix: Update process

This commit is contained in:
Andras Bacsai
2022-03-02 13:37:06 +01:00
parent d2fad19a11
commit 4dcc76d366
3 changed files with 13 additions and 36 deletions

View File

@@ -1,7 +1,7 @@
{ {
"name": "coolify", "name": "coolify",
"description": "An open-source & self-hostable Heroku / Netlify alternative.", "description": "An open-source & self-hostable Heroku / Netlify alternative.",
"version": "2.0.25", "version": "2.0.26",
"license": "AGPL-3.0", "license": "AGPL-3.0",
"scripts": { "scripts": {
"dev": "docker-compose -f docker-compose-dev.yaml up -d && NODE_ENV=development svelte-kit dev --host 0.0.0.0", "dev": "docker-compose -f docker-compose-dev.yaml up -d && NODE_ENV=development svelte-kit dev --host 0.0.0.0",

View File

@@ -63,13 +63,11 @@
const data = await get(`/update.json`); const data = await get(`/update.json`);
if (overrideVersion || data?.isUpdateAvailable) { if (overrideVersion || data?.isUpdateAvailable) {
latestVersion = overrideVersion || data.latestVersion; latestVersion = overrideVersion || data.latestVersion;
console.log('checking update'); if (overrideVersion) {
const { exists } = await post(`/update.json`, { isUpdateAvailable = true;
type: 'check', } else {
latestVersion, isUpdateAvailable = data.isUpdateAvailable;
overrideVersion }
});
isUpdateAvailable = exists;
} }
} catch (error) { } catch (error) {
} finally { } finally {

View File

@@ -6,13 +6,16 @@ import type { RequestHandler } from '@sveltejs/kit';
import compare from 'compare-versions'; import compare from 'compare-versions';
import got from 'got'; import got from 'got';
export const get: RequestHandler = async () => { export const get: RequestHandler = async (request) => {
try { try {
const currentVersion = version; const currentVersion = version;
const versions = await got const versions = await got
.get(`https://get.coollabs.io/versions.json?appId=${process.env['COOLIFY_APP_ID']}`) .get(`https://get.coollabs.io/versions.json?appId=${process.env['COOLIFY_APP_ID']}`)
.json(); .json();
const latestVersion = versions['coolify'].main.version; const latestVersion =
request.url.hostname === 'staging.coolify.io'
? versions['coolify'].next.version
: versions['coolify'].main.version;
const isUpdateAvailable = compare(latestVersion, currentVersion); const isUpdateAvailable = compare(latestVersion, currentVersion);
return { return {
body: { body: {
@@ -21,12 +24,13 @@ export const get: RequestHandler = async () => {
} }
}; };
} catch (error) { } catch (error) {
console.log(error);
return ErrorHandler(error); return ErrorHandler(error);
} }
}; };
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
const { type, latestVersion, overrideVersion } = await event.request.json(); const { type, latestVersion } = await event.request.json();
if (type === 'update') { if (type === 'update') {
try { try {
if (!dev) { if (!dev) {
@@ -50,31 +54,6 @@ export const post: RequestHandler = async (event) => {
} catch (error) { } catch (error) {
return ErrorHandler(error); return ErrorHandler(error);
} }
} else if (type === 'check') {
try {
if (overrideVersion) {
return {
status: 200,
body: {
exists: true
}
};
}
await asyncExecShell(`docker image inspect coollabsio/coolify:${latestVersion}`);
return {
status: 200,
body: {
exists: true
}
};
} catch (error) {
return {
status: 200,
body: {
exists: false
}
};
}
} }
return { return {
status: 500 status: 500