Does TeamCity run on Windows Server 2019 Core?

I'm trying to get TeamCity to run on Windows Server Core 2019, but I've had zero luck.  I'm running it in Console mode, and the last thing I see is:

14-Sep-2019 18:46:18.906 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 18924 ms
TeamCity version: 2019.1.3 (build 66439), data format version 898
OS: Windows Server 2016, version 10.0, amd64, Current user: Michael.Christensen, Time zone: PDT (UTC-07:00)
Java: 1.8.0_151, Java HotSpot(TM) 64-Bit Server VM (25.151-b12, mixed mode), Java(TM) SE Runtime Environment (1.8.0_151-b12), Oracle Corporation; JVM parameters: -Djava.util.logging.config.file=c:\TeamCity\bin\..\conf\logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Xrs -Xmx512m -Dteamcity.configuration.path=../conf/teamcity-startup.properties -Dlog4j.configuration=file:../conf/teamcity-server-log4j.xml -Dteamcity_logs=c:\TeamCity\bin\..\logs -Dignore.endorsed.dirs= -Dcatalina.base=c:\TeamCity\bin\.. -Dcatalina.home=c:\TeamCity\bin\.. -Djava.io.tmpdir=c:\TeamCity\bin\..\temp
Startup confirmation is required. Open TeamCity web page in the browser. Server is running at http://localhost:89

If I do a netstat, I can see it's indeed listening on that port:

 Proto Local Address Foreign Address State PID
TCP 0.0.0.0:89 HQBLDDOC03:0 LISTENING 8264

However, from the command line I do:

iwr -UseBasicParsing http://localhost:89

And I get an error: The remote server returned an error: (503) Server Unavailable.

From another computer using Chrome, the URL returns:

This page isn’t working

hqblddoc03 didn’t send any data.

 

This same configuration works fine on our old Windows Server.  Anything special I need to do?  This is basically a fresh install of Windows Server 2019 Core, so no defaults have been changed.

Also, I've tried to run the Docker version of TeamCity on this same machine and I get the same behavior.  The Docker version works fine on my Windows 10 laptop.  I'm guessing Windows Server 2019 Core just doesn't like TeamCity or maybe Java or something.  Thanks!

 

0
2 comments

Hi Michael, 

How do you start a server? The default port for TeamCity is `8111`, not `89`. That's why I'm asking. 

In general, no issues were reported so far about Windows Server 2019 incompatibility. I haven't observed any problem with a running server on it. 

0

I was copying a config from another server which is setup to use port 89.  Anyway, I found out the root cause.  I ran a network trace and found a clue in the Windows Defender log files:

It seems normally, the first time you run Java it would pop up an alert asking you if you want to allow the port.  Windows Server Core cannot do this (since it has no UI), so it silently fails.  The work around is to disable Windows Defender:

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled false

After running this, everything seems to work (there's probably a way to only allow java.exe or only allow that port, but I'll figure that out later).  I still can't get the container version to work on Core, but that appears to be an issue with Docker and not TeamCity.

0

Please sign in to leave a comment.