diff --git a/HetznerServer/Service/ServerService.cs b/HetznerServer/Service/ServerService.cs index 7cbb68b..930cb36 100644 --- a/HetznerServer/Service/ServerService.cs +++ b/HetznerServer/Service/ServerService.cs @@ -118,7 +118,7 @@ public class ServerService: IServerService try { client.Connect(); - var command = client.RunCommand("apt upgrade -y && apt auto-remove -y"); + var command = client.RunCommand("apt dist-upgrade -y && apt auto-remove -y"); if (command.ExitStatus == 0) { Console.WriteLine(serv.Name + " SUCCESS upgraded apt."); @@ -284,6 +284,52 @@ public class ServerService: IServerService } } } + + command = client.RunCommand("docker inspect psc-web-1"); + if (command.ExitStatus == 0) + { + JArray web = JArray.Parse(command.Result); + var hostConfigArray = web[0]["HostConfig"]; + if (hostConfigArray["RestartPolicy"]["Name"].ToString() == "always") + { + serv.IsRestartAlways = true; + } + + var webEnvArray = web[0]["Config"]["Env"]; + + foreach (String entry in webEnvArray) + { + var webExploded = entry.Split("="); + if (webExploded[0] == "LETSENCRYPT_HOST") + { + var webHosts = webExploded[1].Split(","); + serv.Domains.Clear(); + foreach (String dom in webHosts) + { + serv.Domains.Add(new Domain(dom)); + } + var httpClient = new HttpClient(); + httpClient.DefaultRequestHeaders.Accept.Clear(); + httpClient.DefaultRequestHeaders.Accept.Add( + new MediaTypeWithQualityHeaderValue("application/ld+json")); + httpClient.DefaultRequestHeaders.Add("User-Agent", "PSC Client"); + try + { + var stringTask = httpClient.GetStringAsync("https://" + webHosts[0] + "/apps/api/system/version"); + + var msg = await stringTask; + JObject versionMSg = JObject.Parse(msg); + + serv.Datum = versionMSg["datum"].ToString(); + serv.Release = float.Parse(versionMSg["release"].ToString()); + } + catch (Exception ex) + { + } + + } + } + } if (serv.Domains.Count == 0) {