-
-
Notifications
You must be signed in to change notification settings - Fork 24
/
Dockerfile.sm.template
41 lines (36 loc) · 1.91 KB
/
Dockerfile.sm.template
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
ARG TARGETPLATFORM
ARG TARGETARCH
ARG BUILDPLATFORM
ENV TARGETPLATFORM=${TARGETPLATFORM:-linux/amd64}
WORKDIR /src
# Copy all files into the image
COPY . .
# Step 1: Restore and build the .NET project with error-only output but keep echo messages
RUN echo "Starting .NET restore..." && \
dotnet restore "StreamMaster.API/StreamMaster.API.csproj" -a $TARGETARCH --verbosity m && \
echo ".NET restore completed successfully." || echo "Error during .NET restore!" && \
\
echo "Starting .NET build..." && \
dotnet build "StreamMaster.API/StreamMaster.API.csproj" -c Debug -o /app/build -a $TARGETARCH --verbosity m && \
echo ".NET build completed successfully." || echo "Error during .NET build!"
# Step 2: Install npm packages, build the frontend, and copy to wwwroot with error-only output but keep echo messages
RUN echo "Navigating to frontend directory: /src/streammasterwebui" && \
cd /src/streammasterwebui && \
echo "Installing npm dependencies..." && \
npm install --silent && \
echo "npm install completed successfully." || echo "Error during npm install!" && \
\
echo "Building frontend with npm run build..." && \
npm run build --silent && \
echo "Frontend build completed successfully." || echo "Error during frontend build!" && \
\
echo "Copying frontend build files to /src/StreamMaster.API/wwwroot/..." && \
cp -r dist/* /src/StreamMaster.API/wwwroot/ && \
echo "Files copied to wwwroot successfully." || echo "Error copying files to wwwroot!"
# Publish the .NET application with error-only output but keep echo messages
WORKDIR "/src/StreamMaster.API"
RUN echo "Publishing .NET application..." && \
dotnet publish --no-restore "StreamMaster.API.csproj" -c Debug -o /app/publish /p:UseAppHost=false -a $TARGETARCH --verbosity m && \
echo ".NET publish completed successfully." || echo "Error during .NET publish!"
# Clean up source files
#RUN rm -rf /src