import { docker } from '../server.js'; export const Volumes = async function(req, res) { let list = await docker.listVolumes({ all: true }); let volumes = list.Volumes; let volume_list = ` ` for (let i = 0; i < volumes.length; i++) { let volume = volumes[i]; let name = volume.Name; let mount = volume.Mountpoint; if (name.length > 40) { name = name.slice(0, 37) + '...'; } if (mount.length > 70) { mount = mount.slice(0, 67) + '...'; } // docker.df(volume.Mountpoint).then((data) => { // for (let key in data) { // console.log(data[key]); // } // }); let details = ` ${name} ${mount} - ${volume.CreatedAt} MB Details ` volume_list += details; } volume_list += `` res.render("volumes", { name: req.session.user, role: req.session.role, avatar: req.session.avatar, volume_list: volume_list, volume_count: volumes.length }); } export const createVolume = async function(req, res) { let name = req.body.name; docker.createVolume({ Name: name }); res.redirect("/volumes"); } export const removeVolume = async function(req, res) { let volumes = req.body.select; if (typeof(volumes) == 'string') { volumes = [volumes]; } for (let i = 0; i < volumes.length; i++) { if (volumes[i] != 'on') { try { console.log(`Removing volume: ${volumes[i]}`); let volume = docker.getVolume(volumes[i]); await volume.remove(); } catch (error) { console.log(`Unable to remove volume: ${volumes[i]}`); } } } res.redirect("/volumes"); }