profileShare

rasmusjy / splitapp-backend-microservices

Read-only snapshot

No repository description.

main default branch 501 files Expires Sep 13, 2026, 9:06 AM
Dockerfile 3,219 bytes
1 FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
2 WORKDIR /src
3
4 # Copy solution + Directory.Build.props
5 COPY SplitApp.Modular/SplitApp.sln .
6 COPY SplitApp.Modular/Directory.Build.props .
7
8 # Copy all csproj files first for restore-layer caching
9 COPY SplitApp.Modular/src/SplitApp.WebApp/*.csproj src/SplitApp.WebApp/
10 COPY SplitApp.Modular/src/Shared/SplitApp.Shared.Kernel/*.csproj src/Shared/SplitApp.Shared.Kernel/
11 COPY SplitApp.Modular/src/Shared/SplitApp.Shared.Contracts/*.csproj src/Shared/SplitApp.Shared.Contracts/
12 COPY SplitApp.Modular/src/Shared/SplitApp.Shared.Messaging/*.csproj src/Shared/SplitApp.Shared.Messaging/
13 COPY SplitApp.Modular/src/Modules/Users/SplitApp.Modules.Users.Domain/*.csproj src/Modules/Users/SplitApp.Modules.Users.Domain/
14 COPY SplitApp.Modular/src/Modules/Users/SplitApp.Modules.Users.Application/*.csproj src/Modules/Users/SplitApp.Modules.Users.Application/
15 COPY SplitApp.Modular/src/Modules/Users/SplitApp.Modules.Users.Infrastructure/*.csproj src/Modules/Users/SplitApp.Modules.Users.Infrastructure/
16 COPY SplitApp.Modular/src/Modules/Users/SplitApp.Modules.Users.Api/*.csproj src/Modules/Users/SplitApp.Modules.Users.Api/
17 COPY SplitApp.Modular/src/Services/Users/SplitApp.UsersService/*.csproj src/Services/Users/SplitApp.UsersService/
18 COPY SplitApp.Modular/src/Modules/Trips/SplitApp.Modules.Trips.Domain/*.csproj src/Modules/Trips/SplitApp.Modules.Trips.Domain/
19 COPY SplitApp.Modular/src/Modules/Trips/SplitApp.Modules.Trips.Application/*.csproj src/Modules/Trips/SplitApp.Modules.Trips.Application/
20 COPY SplitApp.Modular/src/Modules/Trips/SplitApp.Modules.Trips.Infrastructure/*.csproj src/Modules/Trips/SplitApp.Modules.Trips.Infrastructure/
21 COPY SplitApp.Modular/src/Modules/Trips/SplitApp.Modules.Trips.Api/*.csproj src/Modules/Trips/SplitApp.Modules.Trips.Api/
22 COPY SplitApp.Modular/src/Modules/Expenses/SplitApp.Modules.Expenses.Domain/*.csproj src/Modules/Expenses/SplitApp.Modules.Expenses.Domain/
23 COPY SplitApp.Modular/src/Modules/Expenses/SplitApp.Modules.Expenses.Application/*.csproj src/Modules/Expenses/SplitApp.Modules.Expenses.Application/
24 COPY SplitApp.Modular/src/Modules/Expenses/SplitApp.Modules.Expenses.Infrastructure/*.csproj src/Modules/Expenses/SplitApp.Modules.Expenses.Infrastructure/
25 COPY SplitApp.Modular/src/Modules/Expenses/SplitApp.Modules.Expenses.Api/*.csproj src/Modules/Expenses/SplitApp.Modules.Expenses.Api/
26 COPY SplitApp.Modular/tests/SplitApp.Modules.Users.Tests/*.csproj tests/SplitApp.Modules.Users.Tests/
27 COPY SplitApp.Modular/tests/SplitApp.Modules.Trips.Tests/*.csproj tests/SplitApp.Modules.Trips.Tests/
28 COPY SplitApp.Modular/tests/SplitApp.Modules.Expenses.Tests/*.csproj tests/SplitApp.Modules.Expenses.Tests/
29 COPY SplitApp.Modular/tests/SplitApp.WebApp.IntegrationTests/*.csproj tests/SplitApp.WebApp.IntegrationTests/
30
31 RUN dotnet restore src/SplitApp.WebApp/SplitApp.WebApp.csproj
32
33 # Copy everything else and publish the host
34 COPY SplitApp.Modular/ .
35 RUN dotnet publish src/SplitApp.WebApp/SplitApp.WebApp.csproj -c Release -o /app/publish
36
37 FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime
38 WORKDIR /app
39 COPY --from=build /app/publish .
40 ENV ASPNETCORE_URLS=http://+:8080
41 EXPOSE 8080
42 ENTRYPOINT ["dotnet", "SplitApp.WebApp.dll"]
43