コード例 #1
0
ファイル: DockerClient.php プロジェクト: roninkenji/dynamix
	public function getUpdateStatus($container, $image) {
		$DockerTemplates = new DockerTemplates();
		$RegistryUrl     = $DockerTemplates->getTemplateValue($image, "Registry");
		$userFile        = $DockerTemplates->getUserTemplate($container);
		$localVersion    = $this->getLocalVersion($userFile);
		$remoteVersion   = $this->getRemoteVersion($RegistryUrl, $image);
		// echo "\n $localVersion => $remoteVersion";
		return ($localVersion && $remoteVersion) ? (($remoteVersion == $localVersion) ? "true" : "false") : "undef" ;
	}
コード例 #2
0
}

if (!isset($check)) {
  echo " Updating templates... ";
  $docker->downloadTemplates();
  echo " Updating info... ";
  $docker->getAllInfo(true);
  echo " Done.";
} else {
  require_once("/usr/local/emhttp/webGui/include/Wrappers.php");
  $client = new DockerClient();
  $update = new DockerUpdate();
  $notify = "/usr/local/emhttp/webGui/scripts/notify";
  $unraid = parse_plugin_cfg("dynamix",true);
  $server = strtoupper($var['NAME']);
  $output = $unraid['notify']['docker_notify'];

  $list = $client->getDockerContainers();
  $info = $docker->getAllInfo();
  foreach ($list as $ct) {
    $name = $ct['Name'];
    $image = $ct['Image'];
    if ($info[$name]['updated'] == "false") {
      $new = $update->getRemoteVersion($docker->getTemplateValue($image, "Registry"), $image);
      exec("$notify -e 'Docker - $name [$new]' -s 'Notice [$server] - Docker update $new' -d 'A new version of $name is available' -i 'normal $output' -x");
    }
  }
}
exit(0);
?>
コード例 #3
0
ファイル: CreateDocker.php プロジェクト: roninkenji/dynamix
    $doc = new DOMDocument();
    $doc->load($xmlTemplate);

    $templateRepository   = $doc->getElementsByTagName( "Repository" )->item(0)->nodeValue;
    $templateName         = $doc->getElementsByTagName( "Name" )->item(0)->nodeValue;
    $Registry             = $doc->getElementsByTagName( "Registry" )->item(0)->nodeValue;
    $templatePrivileged   = (strtolower($doc->getElementsByTagName( "Privileged" )->item(0)->nodeValue) == 'true') ? 'checked' : "";
    $templateMode         = $doc->getElementsByTagName( "Mode" )->item(0)->nodeValue;;
    $readonly             = ($xmlType == 'default') ? 'readonly="readonly"' : '';
    $required             = ($xmlType == 'default') ? 'required' : '';
    $disabled             = ($xmlType == 'default') ? 'disabled="disabled"' : '';

    if ( $doc->getElementsByTagName( "Description" )->length > 0 ) {
      $templateDescription = $doc->getElementsByTagName( "Description" )->item(0)->nodeValue;
    } else {
      $templateDescription = $DockerTemplates->getTemplateValue($templateRepository, "Description", "default");
    }

    if ( $doc->getElementsByTagName( "Registry" )->length > 0 ) {
      $templateRegistry = $doc->getElementsByTagName( "Registry" )->item(0)->nodeValue;
    } else {
      $templateRegistry = $DockerTemplates->getTemplateValue($templateRepository, "Registry", "default");
    }

    if ( $doc->getElementsByTagName( "WebUI" )->length > 0 ) {
      $templateWebUI = $doc->getElementsByTagName( "WebUI" )->item(0)->nodeValue;
    } else {
      $templateWebUI = $DockerTemplates->getTemplateValue($templateRepository, "WebUI", "default");
    }

    if ( $doc->getElementsByTagName( "Banner" )->length > 0 ) {