added compose install
This commit is contained in:
parent
c795cac009
commit
eda852b89e
3 changed files with 206 additions and 174 deletions
|
@ -251,6 +251,7 @@ export const InstallModal = async (req, res) => {
|
|||
if (type == 'compose') {
|
||||
let compose = readFileSync(`templates/compose/${input}/compose.yaml`, 'utf8');
|
||||
let modal = readFileSync('./views/modals/compose.html', 'utf8');
|
||||
modal = modal.replace(/AppName/g, input);
|
||||
modal = modal.replace(/COMPOSE_CONTENT/g, compose);
|
||||
res.send(modal);
|
||||
return;
|
||||
|
|
|
@ -11,6 +11,35 @@ export const Install = async (req, res) => {
|
|||
|
||||
let data = req.body;
|
||||
|
||||
if (req.body.compose) {
|
||||
let app = req.body.app;
|
||||
writeFileSync(`./templates/compose/${app}/compose.yaml`, req.body.compose, function (err) { console.log(err) });
|
||||
let compose = new DockerodeCompose(docker, `./templates/compose/${app}/compose.yaml`, `${app}`);
|
||||
addAlert(req.session, 'success', `Installing ${app}. It should appear on the dashboard shortly.`);
|
||||
try {
|
||||
(async () => {
|
||||
await compose.pull();
|
||||
await compose.up();
|
||||
|
||||
const syslog = await Syslog.create({
|
||||
user: req.session.user,
|
||||
email: null,
|
||||
event: "App Installation",
|
||||
message: `${app} installed successfully`,
|
||||
ip: req.socket.remoteAddress
|
||||
});
|
||||
})();
|
||||
} catch (err) {
|
||||
const syslog = await Syslog.create({
|
||||
user: req.session.user,
|
||||
email: null,
|
||||
event: "App Installation",
|
||||
message: `${app} installation failed: ${err}`,
|
||||
ip: req.socket.remoteAddress
|
||||
});
|
||||
}
|
||||
} else {
|
||||
|
||||
let { service_name, name, image, command_check, command, net_mode, restart_policy } = data;
|
||||
let { port0, port1, port2, port3, port4, port5 } = data;
|
||||
let { volume0, volume1, volume2, volume3, volume4, volume5 } = data;
|
||||
|
@ -205,5 +234,6 @@ export const Install = async (req, res) => {
|
|||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
res.redirect('/');
|
||||
}
|
||||
|
|
|
@ -13,7 +13,8 @@
|
|||
|
||||
<form action="/install" name="FormId_install" id="FormId_install" method="POST">
|
||||
|
||||
<textarea class="form-control" name="example-textarea-input" rows="30" placeholder="Content..">COMPOSE_CONTENT</textarea>
|
||||
<input type="hidden" name="app" value="AppName"/>
|
||||
<textarea class="form-control" name="compose" rows="30" placeholder="Content..">COMPOSE_CONTENT</textarea>
|
||||
|
||||
</form>
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue