34 lines
698 B
Docker
34 lines
698 B
Docker
# Define the SDK to build the project
|
|
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
|
WORKDIR /app
|
|
|
|
# Copy the solution and the project files
|
|
COPY UI/UI.csproj UI/
|
|
COPY *.sln ./
|
|
|
|
# Restore the dependencies
|
|
RUN dotnet restore
|
|
|
|
# Copy the rest of the source code
|
|
COPY UI/ UI/
|
|
|
|
# Set the working directory to the project directory
|
|
WORKDIR /app/UI
|
|
|
|
# Publish the application
|
|
RUN dotnet publish -c Release -o out
|
|
|
|
# Final stage / runtime
|
|
FROM nginx:1.23-alpine
|
|
WORKDIR /usr/share/nginx/html
|
|
|
|
# Remove default nginx static assets
|
|
RUN rm -rf ./*
|
|
|
|
# Copy static assets over
|
|
COPY --from=build /app/UI/out/wwwroot .
|
|
COPY nginx.conf /etc/nginx/nginx.conf
|
|
|
|
EXPOSE 5023
|
|
ENTRYPOINT ["nginx", "-g", "daemon off;"]
|