diff --git a/src/Nocr.TextMatcher.Host/Dockerfile b/src/Nocr.TextMatcher.Host/Dockerfile
index 9c1dd37..72cb07b 100644
--- a/src/Nocr.TextMatcher.Host/Dockerfile
+++ b/src/Nocr.TextMatcher.Host/Dockerfile
@@ -16,8 +16,23 @@ RUN apt-get update && \
COPY . .
-# Add custom NuGet source (no API key needed for public read access)
-RUN dotnet nuget add source https://gitea.musk.fun/api/packages/nocr/nuget/index.json --name musk
+# Create global NuGet.Config with package source mapping
+RUN mkdir -p /root/.nuget/NuGet && \
+ echo '' > /root/.nuget/NuGet/NuGet.Config && \
+ echo '' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo '' >> /root/.nuget/NuGet/NuGet.Config
# Restore with verbose logging
RUN dotnet restore "src/Nocr.TextMatcher.Host/Nocr.TextMatcher.Host.csproj" --verbosity normal
diff --git a/src/Nocr.TextMatcher.Migrator/Dockerfile b/src/Nocr.TextMatcher.Migrator/Dockerfile
index 542f233..db197ab 100644
--- a/src/Nocr.TextMatcher.Migrator/Dockerfile
+++ b/src/Nocr.TextMatcher.Migrator/Dockerfile
@@ -15,8 +15,23 @@ RUN apt-get update && \
COPY . .
-# Add custom NuGet source (no API key needed for public read access)
-RUN dotnet nuget add source https://gitea.musk.fun/api/packages/nocr/nuget/index.json --name musk
+# Create global NuGet.Config with package source mapping
+RUN mkdir -p /root/.nuget/NuGet && \
+ echo '' > /root/.nuget/NuGet/NuGet.Config && \
+ echo '' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo ' ' >> /root/.nuget/NuGet/NuGet.Config && \
+ echo '' >> /root/.nuget/NuGet/NuGet.Config
# Restore with verbose logging
RUN dotnet restore "src/Nocr.TextMatcher.Migrator/Nocr.TextMatcher.Migrator.csproj" --verbosity normal