fivem-docker-cli
Version:
Command-line tool to create and administer FiveM Servers running in Docker.
52 lines (45 loc) • 1.4 kB
JavaScript
const {Command, flags} = require('@oclif/command');
const Docker = require('dockerode');
const docker = new Docker({socketPath: '/var/run/docker.sock'});
class StatusCommand extends Command {
async run() {
docker.listContainers({
all: true,
}).then(containers => {
let table = [];
containers.forEach(container => {
docker.getContainer(container.Id).inspect((err, data) => {
console.log('Inspect: ' + data.Config.ExposedPorts);
console.error(err);
});
let ports;
container.Ports.forEach(port => {
if (ports) {
ports = ports + ", " + port.PublicPort + "/" + port.Type;
} else {
ports = port.PublicPort + "/" + port.Type;
}
});
table.push({
Name: container.Names.toString(),
ID: container.Id,
Ports: ports,
Status: container.Status,
State: container.State,
});
});
console.log('Container Status:');
console.table(table);
}).catch(err => {
console.error(err);
});
}
}
StatusCommand.description = `Display status of all FiveM Docker Containers.
...
Extra documentation goes here
`;
StatusCommand.flags = {
// name: flags.string({char: 'n', description: 'name to print'}),
};
module.exports = StatusCommand;