run method

  1. @override
void run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
void run() {
  var debug = argResults!['debug'] as bool;
  Settings().setVerbose(enabled: debug);

  var interactive = argResults!['interactive'] as bool;

  var config = ConfigYaml();
  config.validate(() => showUsage(argParser));

  var container = Containers().findByContainerId(config.containerid ?? '')!;
  if (container.isRunning) {
    printerr(
        'The container ${config.containerid} is already running. Consider nginx-le restart');
    showUsage(argParser);
  }

  print('Starting nginx container ${config.containerid}');

  container.start(interactive: interactive);

  sleep(3);

  if (!container.isRunning) {
    printerr(red('The container ${config.containerid} failed to start'));
    print(green('Showing docker logs'));
    container.showLogs();
  }
}