mirror of
https://github.com/SpecterOps/Nemesis
synced 2026-06-08 12:36:42 +00:00
40902d9d8f
- See CHANGELOG.md for summary of changes
45 lines
1.3 KiB
Docker
45 lines
1.3 KiB
Docker
|
|
# Build stage
|
|
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
|
|
|
WORKDIR /src
|
|
|
|
# Copy project file and restore dependencies (fix the path)
|
|
COPY ./projects/dotnet_service/ILSpyDecompilerService.csproj ./projects/dotnet_service/
|
|
RUN dotnet restore ./projects/dotnet_service/ILSpyDecompilerService.csproj
|
|
|
|
# Copy source code and build
|
|
COPY ./projects/dotnet_service/ ./projects/dotnet_service/
|
|
WORKDIR /src/projects/dotnet_service
|
|
RUN dotnet build ILSpyDecompilerService.csproj -c Release -o /app/build
|
|
|
|
# Publish stage
|
|
FROM build AS publish
|
|
RUN dotnet publish ILSpyDecompilerService.csproj -c Release -o /app/publish
|
|
|
|
# Development stage (for hot reload and debugging)
|
|
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS dev
|
|
WORKDIR /app
|
|
COPY ./projects/dotnet_service/ .
|
|
RUN dotnet restore
|
|
EXPOSE 5000
|
|
ENTRYPOINT ["dotnet", "run", "--urls", "http://0.0.0.0:5000"]
|
|
|
|
# Production runtime stage
|
|
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS prod
|
|
WORKDIR /app
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends curl && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY --from=publish /app/publish .
|
|
|
|
# Create a non-root user
|
|
RUN groupadd -r appuser && useradd -r -g appuser appuser
|
|
RUN chown -R appuser:appuser /app
|
|
USER appuser
|
|
|
|
EXPOSE 5000
|
|
ENTRYPOINT ["dotnet", "ILSpyDecompilerService.dll", "--urls", "http://0.0.0.0:5000"] |