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",
"description": "An open-source & self-hostable Heroku / Netlify alternative.",
"version": "2.0.25",
"version": "2.0.26",
"license": "AGPL-3.0",
"scripts": {
"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`);
if (overrideVersion || data?.isUpdateAvailable) {
latestVersion = overrideVersion || data.latestVersion;
console.log('checking update');
const { exists } = await post(`/update.json`, {
type: 'check',
latestVersion,
overrideVersion
});
isUpdateAvailable = exists;
if (overrideVersion) {
isUpdateAvailable = true;
} else {
isUpdateAvailable = data.isUpdateAvailable;
}
}
} catch (error) {
} finally {

View File

@ -6,13 +6,16 @@ import type { RequestHandler } from '@sveltejs/kit';
import compare from 'compare-versions';
import got from 'got';
export const get: RequestHandler = async () => {
export const get: RequestHandler = async (request) => {
try {
const currentVersion = version;
const versions = await got
.get(`https://get.coollabs.io/versions.json?appId=${process.env['COOLIFY_APP_ID']}`)
.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);
return {
body: {
@ -21,12 +24,13 @@ export const get: RequestHandler = async () => {
}
};
} catch (error) {
console.log(error);
return ErrorHandler(error);
}
};
export const post: RequestHandler = async (event) => {
const { type, latestVersion, overrideVersion } = await event.request.json();
const { type, latestVersion } = await event.request.json();
if (type === 'update') {
try {
if (!dev) {
@ -50,31 +54,6 @@ export const post: RequestHandler = async (event) => {
} catch (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 {
status: 500