31 lines
1.6 KiB
Docker
31 lines
1.6 KiB
Docker
# syntax=docker/dockerfile:1.7@sha256:a57df69d0ea827fb7266491f2813635de6f17269be881f696fbfdf2d83dda33e
|
|
FROM mcr.microsoft.com/dotnet/sdk:10.0.301-noble@sha256:ea8bde36c11b6e7eec2656d0e59101d4462f6bd630730f2c8201ed0572b295d5 AS build
|
|
|
|
WORKDIR /source
|
|
COPY Directory.Build.props Directory.Packages.props NuGet.config global.json Rendezvous.slnx ./
|
|
COPY src/FinalFactory.Rendezvous.Contracts/FinalFactory.Rendezvous.Contracts.csproj src/FinalFactory.Rendezvous.Contracts/packages.lock.json src/FinalFactory.Rendezvous.Contracts/
|
|
COPY src/FinalFactory.Rendezvous.Server/FinalFactory.Rendezvous.Server.csproj src/FinalFactory.Rendezvous.Server/packages.lock.json src/FinalFactory.Rendezvous.Server/
|
|
RUN dotnet restore src/FinalFactory.Rendezvous.Server/FinalFactory.Rendezvous.Server.csproj --locked-mode
|
|
|
|
COPY src/FinalFactory.Rendezvous.Contracts/ src/FinalFactory.Rendezvous.Contracts/
|
|
COPY src/FinalFactory.Rendezvous.Server/ src/FinalFactory.Rendezvous.Server/
|
|
RUN dotnet publish src/FinalFactory.Rendezvous.Server/FinalFactory.Rendezvous.Server.csproj \
|
|
--configuration Release \
|
|
--no-restore \
|
|
--output /out \
|
|
/p:UseAppHost=false \
|
|
/p:OpenApiGenerateDocuments=false
|
|
|
|
FROM mcr.microsoft.com/dotnet/aspnet:10.0.9-noble-chiseled@sha256:f820c4fbfb8bb204c3bbe05c69d48cd039cd0e67aa8f13ac1cec168819b90643 AS runtime
|
|
|
|
ENV ASPNETCORE_HTTP_PORTS=8080 \
|
|
DOTNET_EnableDiagnostics=0 \
|
|
DOTNET_CLI_TELEMETRY_OPTOUT=1 \
|
|
TMPDIR=/tmp
|
|
WORKDIR /app
|
|
COPY --from=build --chown=1654:1654 /out/ ./
|
|
USER 1654:1654
|
|
EXPOSE 8080/tcp
|
|
EXPOSE 9050/udp
|
|
ENTRYPOINT ["dotnet", "FinalFactory.Rendezvous.Server.dll"]
|