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"]
 |