From 4c837170d7825361b32563cf13f622319ce91bb8 Mon Sep 17 00:00:00 2001 From: Robbie Davis Date: Mon, 6 Mar 2023 13:33:55 -0500 Subject: [PATCH] Fixing docker bind issue (#1852) # Fixed: - Fixed an issue for docker users conflicting with a previous feature inclusion for multiple IP addresses --- API/Program.cs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/API/Program.cs b/API/Program.cs index f4c9b9243..ca27faa71 100644 --- a/API/Program.cs +++ b/API/Program.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.IO.Abstractions; using System.Linq; using System.Security.Cryptography; @@ -10,6 +10,7 @@ using API.Logging; using API.Services; using API.SignalR; using Kavita.Common; +using Kavita.Common.EnvironmentInfo; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Server.Kestrel.Core; @@ -172,27 +173,27 @@ public class Program webBuilder.UseKestrel((opts) => { var ipAddresses = Configuration.IpAddresses; - if (string.IsNullOrEmpty(ipAddresses)) + if (new OsInfo(Array.Empty()).IsDocker || string.IsNullOrEmpty(ipAddresses)) { opts.ListenAnyIP(HttpPort, options => { options.Protocols = HttpProtocols.Http1AndHttp2; }); } else { - foreach(var ipAddress in ipAddresses.Split(',')) + foreach (var ipAddress in ipAddresses.Split(',')) { - try { + try + { var address = System.Net.IPAddress.Parse(ipAddress.Trim()); opts.Listen(address, HttpPort, options => { options.Protocols = HttpProtocols.Http1AndHttp2; }); } - catch(Exception ex) + catch (Exception ex) { - Log.Fatal(ex, "Could not parse ip addess '{0}'", ipAddress); + Log.Fatal(ex, "Could not parse ip address {IPAddress}", ipAddress); } } } - }); - webBuilder.UseStartup(); + webBuilder.UseStartup(); });