forked from MDCPS/DamageAssessment_Backend
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| #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"]
 |