From cec389702c871a1b2c44118e97ae9f82f99c3e3e Mon Sep 17 00:00:00 2001 From: lllllllillllllillll Date: Sat, 18 May 2024 13:13:40 -0700 Subject: [PATCH] fixed install --- utils/install.js | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/utils/install.js b/utils/install.js index 741ce8e..9a8c5f9 100644 --- a/utils/install.js +++ b/utils/install.js @@ -1,4 +1,4 @@ -import { writeFileSync, mkdirSync, readFileSync, readdirSync } from "fs"; +import { writeFileSync, mkdirSync, readFileSync, readdirSync, writeFile } from "fs"; import yaml from 'js-yaml'; import { execSync } from "child_process"; import { docker } from "../server.js"; @@ -13,7 +13,6 @@ export const Install = async (req, res) => { let name = data.name; let containers = await docker.listContainers({ all: true }); - for (let i = 0; i < containers.length; i++) { if (containers[i].Names[0].includes(name)) { addAlert(req.session, 'danger', `App ${name} already exists. Please remove it first.`); @@ -24,6 +23,7 @@ export const Install = async (req, res) => { if (req.body.compose) { + mkdirSync(`./appdata/${name}`, { recursive: true }); writeFileSync(`./templates/compose/${name}/compose.yaml`, req.body.compose, function (err) { console.log(err) }); let compose = new DockerodeCompose(docker, `./templates/compose/${name}/compose.yaml`, `${name}`); addAlert(req.session, 'success', `Installing ${name}. It should appear on the dashboard shortly.`); @@ -32,7 +32,7 @@ export const Install = async (req, res) => { await compose.pull(); await compose.up(); - const syslog = await Syslog.create({ + await Syslog.create({ user: req.session.user, email: null, event: "App Installation", @@ -41,7 +41,7 @@ export const Install = async (req, res) => { }); })(); } catch (err) { - const syslog = await Syslog.create({ + await Syslog.create({ user: req.session.user, email: null, event: "App Installation", @@ -206,19 +206,18 @@ export const Install = async (req, res) => { } } } + - - - try { + try { + mkdirSync(`./appdata/${name}`, { recursive: true }); writeFileSync(`./appdata/${name}/docker-compose.yml`, compose_file, function (err) { console.log(err) }); var compose = new DockerodeCompose(docker, `./appdata/${name}/docker-compose.yml`, `${name}`); - } catch { - const syslog = await Syslog.create({ + await Syslog.create({ user: req.session.user, email: null, event: "App Installation", - message: `${name} installation failed - error creating directory or compose file : ${err}`, + message: `${name} installation failed - error creating directory or compose file`, ip: req.socket.remoteAddress }); } @@ -228,7 +227,7 @@ export const Install = async (req, res) => { await compose.pull(); await compose.up(); - const syslog = await Syslog.create({ + await Syslog.create({ user: req.session.user, email: null, event: "App Installation", @@ -237,7 +236,7 @@ export const Install = async (req, res) => { }); })(); } catch (err) { - const syslog = await Syslog.create({ + await Syslog.create({ user: req.session.user, email: null, event: "App Installation",