From a9f88f1a72250b0471f9ee2f2dd738c4ddc95396 Mon Sep 17 00:00:00 2001 From: Derek Holloway Date: Mon, 16 Jun 2025 18:43:17 -0700 Subject: [PATCH] Build new DockerFile / Update ports to 5000 --- Dockerfile | 66 ++++++++++++++++++++++++++++++++++++---------- docker-compose.yml | 2 +- 2 files changed, 53 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8f30ba5..6179ed2 100755 --- a/Dockerfile +++ b/Dockerfile @@ -1,26 +1,64 @@ -# Build -FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build +###################### +## Build Frontend ## +###################### + +FROM node:alpine AS build-frontend WORKDIR /src -# Copy all projects -COPY ["src", "."] +# Install the angular CLI +RUN npm install -g @angular/cli + +# Copy the package.json into this build step +COPY ./src/MistoxWebsite.Client/package.json ./ + +# Pull dependencies +RUN npm install + +# Copy the rest of the frontend over +COPY ./src/MistoxWebsite.Client/ ./ + +# Compile the source +RUN ng build + +##################### +## Build Backend ## +##################### + +FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build-backend +WORKDIR /src + +# Copy the csproj +COPY ./src/MistoxWebsite.Server/MistoxWebsite.Server.csproj ./ # Restore the Server -RUN dotnet restore 'MistoxWebsite.Server/MistoxWebsite.Server.csproj' +RUN dotnet restore './MistoxWebsite.Server.csproj' -# Publish -FROM build as publish -RUN dotnet publish 'MistoxWebsite.Server/MistoxWebsite.Server.csproj' -c Release -o /app/publish +# Copy the rest of the backend over +COPY ./src/MistoxWebsite.Server/ ./ + +# Build the source +RUN dotnet publish './MistoxWebsite.Server.csproj' -c Release -o /app/publish + +################ +## Publish ## +################ -# Run the app FROM mcr.microsoft.com/dotnet/aspnet:9.0 -ENV ASPNETCORE_HTTP_PORTS=5001 +WORKDIR /app + +ENV ASPNETCORE_HTTP_PORTS=5000 ENV StripeKey=null ENV MySQLServer=null ENV MySQLUser=null ENV MySQLPass=null ENV MySQLDatabase=Mistox -EXPOSE 5001 -WORKDIR /app -COPY --from=publish /app/publish . -ENTRYPOINT ["dotnet", "MistoxWebsite.Server.dll"] + +EXPOSE 5000 + +# Copy in the server +COPY --from=build-backend /app/publish ./ + +# Copy in the client +COPY --from=build-frontend /src/resources/static/browser ./wwwroot/ + +ENTRYPOINT ["dotnet", "MistoxWebsite.Server.dll", "--url", "http://localhost:5000"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 29bafef..53a2057 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,7 +15,7 @@ services: - EmailAddress=${Email_Address} - EmailPassword=${Email_Password} ports: - - 5001:5001 + - 5000:5000 depends_on: - mistox-database