#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. # Use the ASP.NET base image FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /app EXPOSE 80 # Use the SDK image for building FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build WORKDIR /src # Copy the project file and restore dependencies COPY ["DamageAssesment.Api.Attachments/DamageAssesment.Api.Attachments.csproj", "DamageAssesment.Api.Attachments/"] RUN dotnet restore "DamageAssesment.Api.Attachments/DamageAssesment.Api.Attachments.csproj" # Copy the source code COPY . . WORKDIR "/src/DamageAssesment.Api.Attachments" # Build the application RUN dotnet build "DamageAssesment.Api.Attachments.csproj" -c Release -o /app/build # Publish the application FROM build AS publish RUN dotnet publish "DamageAssesment.Api.Attachments.csproj" -c Release -o /app/publish /p:UseAppHost=false # Set up the final image FROM base AS final WORKDIR /app # Copy the published files COPY --from=publish /app/publish . # Create directories for attachments and set permissions RUN mkdir -p /app/DMS_Attachments/Active && \ mkdir -p /app/DMS_Attachments/Deleted && \ chown -R www-data:www-data /app/DMS_Attachments # Update appsettings.json with the correct paths for attachments RUN sed -i 's#"folderpath": "DMS_Attachments/Active"#"folderpath": "/app/DMS_Attachments/Active"#' appsettings.json && \ sed -i 's#"Deletepath": "DMS_Attachments/Deleted"#"Deletepath": "/app/DMS_Attachments/Deleted"#' appsettings.json ## Set up the volume and copy the XML comments #VOLUME /xmlcomments #COPY ["DamageAssesment.Api.Attachments/bin/Release/net6.0/DamageAssesment.Api.Attachments.xml", "/xmlcomments/"] # # Specify the entry point for the container ENTRYPOINT ["dotnet", "DamageAssesment.Api.Attachments.dll"]