Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 20 additions & 13 deletions TeachingRecordSystem/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,18 +1,27 @@
# syntax=docker/dockerfile:1
FROM mcr.microsoft.com/dotnet/aspnet:10.0-alpine3.22
FROM mcr.microsoft.com/dotnet/sdk:10.0-alpine3.23@sha256:732cd42c6f659814c9804ad7b05c7f761e83ef8379c5b2fdc3af673353caff73 AS build
WORKDIR /source

COPY . ./
RUN dotnet tool restore
RUN dotnet restore
RUN dotnet publish --no-restore --configuration Release

FROM mcr.microsoft.com/dotnet/aspnet:10.0-alpine3.23@sha256:1201dde897ab436b7c6b386f6dbd4f9a3ca0245f9c5a8aac8f8bcdccb4c7d484
ARG GIT_SHA
WORKDIR /Apps
COPY --from=build /source/src/TeachingRecordSystem.Api/bin/Release/net10.0/publish/ ./Api/
COPY --from=build /source/src/TeachingRecordSystem.Cli/bin/Release/net10.0/publish/ ./TrsCli/
COPY --from=build /source/src/TeachingRecordSystem.SupportUi/bin/Release/net10.0/publish/ ./SupportUi/
COPY --from=build /source/src/TeachingRecordSystem.Worker/bin/Release/net10.0/publish/ ./Worker/
COPY --from=build /source/src/TeachingRecordSystem.AuthorizeAccess/bin/Release/net10.0/publish/ ./AuthorizeAccess/
COPY --from=build /source/db.sh .

RUN chmod +x ./db.sh

ENV SENTRY_RELEASE=${GIT_SHA}
ENV GIT_SHA=${GIT_SHA}
ENV ASPNETCORE_HTTP_PORTS=3000
COPY src/TeachingRecordSystem.Api/bin/Release/net10.0/publish/ Apps/Api/
COPY src/TeachingRecordSystem.Cli/bin/Release/net10.0/publish/ Apps/TrsCli/
COPY src/TeachingRecordSystem.SupportUi/bin/Release/net10.0/publish/ Apps/SupportUi/
COPY src/TeachingRecordSystem.Worker/bin/Release/net10.0/publish/ Apps/Worker/
COPY src/TeachingRecordSystem.AuthorizeAccess/bin/Release/net10.0/publish/ Apps/AuthorizeAccess/
COPY db.sh Apps/db.sh
WORKDIR /Apps

RUN chmod +x /Apps/db.sh
ENV PATH="${PATH}:/Apps/TrsCli"

# Install Culture prerequisities
RUN apk add --no-cache \
Expand Down Expand Up @@ -42,5 +51,3 @@ RUN apk add --allow-untrusted msodbcsql18_18.0.1.1-1_amd64.apk && \
RUN addgroup -S appgroup -g 20001 && adduser -S appuser -G appgroup -u 10001

USER 10001

ENV PATH="${PATH}:/Apps/TrsCli"
3 changes: 1 addition & 2 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,7 @@ watch-worker:

# Build the Docker image
[working-directory: 'TeachingRecordSystem']
docker-build *ARGS: restore
@dotnet publish -c Release --no-restore
docker-build *ARGS:
@docker build . {{ARGS}}

# Set a configuration entry in user secrets for running the apps
Expand Down
Loading