From 5333bdc0763d2b206ec59dcc68ea1cf61c45a726 Mon Sep 17 00:00:00 2001 From: Diego Amatte Date: Sun, 27 Sep 2026 22:16:18 -0300 Subject: [PATCH 1/2] build(docker): install tzdata so IANA server time zones resolve The Alpine base image ships without /usr/share/zoneinfo, so .NET only knew UTC and the server time zone setting rejected ids like America/Argentina/Buenos_Aires. Split out of #995. Co-Authored-By: Claude Opus 5.5 --- src/Startup/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Startup/Dockerfile b/src/Startup/Dockerfile index 2f97505258..f58fe76da9 100644 --- a/src/Startup/Dockerfile +++ b/src/Startup/Dockerfile @@ -1,7 +1,8 @@ FROM mcr.microsoft.com/dotnet/aspnet:10.0-alpine AS base WORKDIR /app -RUN apk add --no-cache icu-libs +# tzdata provides the IANA time zones (e.g. America/Argentina/Buenos_Aires) for the server time zone setting. +RUN apk add --no-cache icu-libs tzdata ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false EXPOSE 8080 From 524136eab19d6613d9603e1d84b00adfaae97366 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 18 Oct 2026 09:22:29 +0000 Subject: [PATCH 2/2] build(docker): install tzdata in the distributed container images, too Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Uz47mrsSwm3hxZc7gCMxd9 --- src/Dapr/AdminPanel.Host/Dockerfile | 3 ++- src/Dapr/CentralServer.Host/Dockerfile | 3 ++- src/Dapr/GameServer.Host/Dockerfile | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Dapr/AdminPanel.Host/Dockerfile b/src/Dapr/AdminPanel.Host/Dockerfile index c5b639231b..29e0d1c2f2 100644 --- a/src/Dapr/AdminPanel.Host/Dockerfile +++ b/src/Dapr/AdminPanel.Host/Dockerfile @@ -3,7 +3,8 @@ WORKDIR /app # OpenMU uses localized texts, which require the culture data of ICU. # The alpine images don't contain it and run in the globalization-invariant mode by default. -RUN apk add --no-cache icu-libs +# tzdata provides the IANA time zones (e.g. Europe/Berlin), which the alpine images don't contain either. +RUN apk add --no-cache icu-libs tzdata ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false EXPOSE 8080 diff --git a/src/Dapr/CentralServer.Host/Dockerfile b/src/Dapr/CentralServer.Host/Dockerfile index 1f5575480a..bb38108ffe 100644 --- a/src/Dapr/CentralServer.Host/Dockerfile +++ b/src/Dapr/CentralServer.Host/Dockerfile @@ -3,7 +3,8 @@ WORKDIR /app # OpenMU uses localized texts, which require the culture data of ICU. # The alpine images don't contain it and run in the globalization-invariant mode by default. -RUN apk add --no-cache icu-libs +# tzdata provides the IANA time zones (e.g. Europe/Berlin), which the alpine images don't contain either. +RUN apk add --no-cache icu-libs tzdata ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false EXPOSE 8080 EXPOSE 44405 diff --git a/src/Dapr/GameServer.Host/Dockerfile b/src/Dapr/GameServer.Host/Dockerfile index baa9468e9e..63581e6f25 100644 --- a/src/Dapr/GameServer.Host/Dockerfile +++ b/src/Dapr/GameServer.Host/Dockerfile @@ -3,7 +3,8 @@ WORKDIR /app # OpenMU uses localized texts, which require the culture data of ICU. # The alpine images don't contain it and run in the globalization-invariant mode by default. -RUN apk add --no-cache icu-libs +# tzdata provides the IANA time zones (e.g. Europe/Berlin), which the alpine images don't contain either. +RUN apk add --no-cache icu-libs tzdata ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false EXPOSE 8080