ソースを参照

fixed install

lllllllillllllillll 1 年間 前
コミット
cec389702c
1 ファイル変更11 行追加12 行削除
  1. 11 12
      utils/install.js

+ 11 - 12
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",