UNPKG

fivem-docker-cli

Version:

Command-line tool to create and administer FiveM Servers running in Docker.

59 lines (48 loc) 1.45 kB
const {Command, flags} = require('@oclif/command'); const Docker = require('dockerode'); // Initialization const docker = new Docker({ socketPath: "/var/run/docker.sock" }); class RestartCommand extends Command { async run() { const {flags} = this.parse(RestartCommand); let serverid; let servername; let container; if (flags.serverid) { serverid = flags.serverid; } if (flags.servername) { servername = flags.servername; } if (serverid || servername) { serverid = serverid || servername; container = docker.getContainer(serverid); container.stop((err, data) => { if (err) { console.log(err); } else { console.log('Stopping server...'); } }); } else { console.error('You must enter a valid server ID or name.') } Promise.all([container.stop]) .then(() => { container.start((err, data) => { if (err) { console.log(err); } else { console.log('Starting server...'); } }) .catch((err) => console.error(err)); }); } } RestartCommand.description = `Restarts a FiveM server Docker container.`; RestartCommand.flags = { servername: flags.string({char: 's', description: 'Name of the FiveM Docker container.'}), serverid: flags.string({char: 'i', description: 'ID of the FiveM Docker container.'}), }; module.exports = RestartCommand;