diff --git a/Dockerfile b/Dockerfile
index 33b19e95..8e96d6df 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,25 +1,32 @@
# syntax=docker/dockerfile:1
# Learn about building .NET container images:
# https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md
-FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:10.0-alpine AS build
-ARG TARGETARCH=amd64
+FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base
+WORKDIR /app
+EXPOSE 80
+EXPOSE 443
-WORKDIR /source
+FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
+WORKDIR /src
+COPY ["/src", "/src"]
+COPY "Directory.Packages.props" "Directory.Packages.props"
-# Copy project file and restore as distinct layers
-COPY --link src src
-COPY --link Directory.Packages.props .
+RUN dotnet nuget add source https://isn.pschneider.fr/v3/index.json --allow-insecure-connections
-RUN dotnet nuget add source https://isn.pschneider.fr/v3/index.json
-RUN dotnet restore -a $TARGETARCH src/Yavsc/Yavsc.csproj
+# Just to see if two lines above work
+RUN dotnet nuget list source
+
+RUN dotnet restore "/src/Yavsc/Yavsc.csproj"
# Copy source code and publish app
-RUN dotnet publish -a $TARGETARCH --no-restore -o /app src/Yavsc/Yavsc.csproj
-# Runtime stage
-FROM mcr.microsoft.com/dotnet/runtime:10.0-alpine
+WORKDIR "/src/Yavsc"
+RUN dotnet build "Yavsc.csproj" -c Release -o /app/build
+
+FROM build AS publish
+RUN dotnet publish "Yavsc.csproj" -c Release -o /app/publish /p:UseAppHost=false
+
+FROM base AS final
WORKDIR /app
-COPY --link --from=build /app .
-USER $APP_UID
-ENTRYPOINT ["./Yavsc"]
-
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "Yavsc.dll"]
diff --git a/Makefile b/Makefile
index bde8014f..bf73d4d2 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
CONFIG=Debug
-FRAMEWORK=net8.0
+FRAMEWORK=net9.0
DESTDIR=/tmp/yavsc
all:
@@ -34,4 +34,7 @@ publish:
install: publish
sudo chown -R www-data:www-data $(DESTDIR)/srv/www/yavsc
+docker-image:
+ docker build .
+
.PHONY:
diff --git a/src/Yavsc/Yavsc.csproj b/src/Yavsc/Yavsc.csproj
index fa83037c..8b9225b5 100644
--- a/src/Yavsc/Yavsc.csproj
+++ b/src/Yavsc/Yavsc.csproj
@@ -50,4 +50,4 @@
-
\ No newline at end of file
+