feat(deployment): add secure Linux runtime (#17)
This commit is contained in:
+30
@@ -0,0 +1,30 @@
|
||||
# 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"]
|
||||
Reference in New Issue
Block a user