initializeContainer method

  1. @override
Future<bool> initializeContainer(
  1. DockerContainerNginx dockerContainer
)
override

Implementation

@override
Future<bool> initializeContainer(DockerContainerNginx dockerContainer) async {
  if (isEmptyString(config)) return true;

  var putOK =
      await dockerContainer.putFileContent(configPath, config, sudo: true);
  if (!putOK) {
    _log.severe(
        "Can't put int container `${dockerContainer.name}` config file at: $configPath");
    return false;
  }

  var testOK = await dockerContainer.testConfiguration();
  if (!testOK) {
    _log.severe(
        'Nginx configuration test failed! container: `${dockerContainer.name}` ; path: $configPath');
    return false;
  }

  var reloadOK = await dockerContainer.reloadConfiguration();
  if (!reloadOK) {
    _log.severe(
        'Error reloading NGINX configuration! container: `${dockerContainer.name}` ; path: $configPath');
    return false;
  }

  // Some delay to reload NGINX configuration.
  await Future.delayed(Duration(seconds: 1));

  return true;
}