chore: add docker deployment directory
This commit is contained in:
@@ -25,7 +25,7 @@ ASTRAIN is a dark-mode, mobile-first workout logbook. It runs a Blazor WebAssemb
|
|||||||
|
|
||||||
Build and run the single-container setup:
|
Build and run the single-container setup:
|
||||||
|
|
||||||
- `docker compose up --build`
|
- `docker compose -f docker/docker-compose.yml up --build`
|
||||||
|
|
||||||
The app will be available at http://localhost:8080
|
The app will be available at http://localhost:8080
|
||||||
|
|
||||||
|
|||||||
29
docker/Dockerfile
Normal file
29
docker/Dockerfile
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# Build API
|
||||||
|
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
||||||
|
WORKDIR /src
|
||||||
|
COPY src/ASTRAIN.Api/ASTRAIN.Api.csproj ASTRAIN.Api/
|
||||||
|
COPY src/ASTRAIN.Shared/ASTRAIN.Shared.csproj ASTRAIN.Shared/
|
||||||
|
RUN dotnet restore ASTRAIN.Api/ASTRAIN.Api.csproj
|
||||||
|
COPY src/ASTRAIN.Api/ ASTRAIN.Api/
|
||||||
|
COPY src/ASTRAIN.Shared/ ASTRAIN.Shared/
|
||||||
|
RUN dotnet publish ASTRAIN.Api/ASTRAIN.Api.csproj -c Release -o /app/publish
|
||||||
|
|
||||||
|
# Build Client
|
||||||
|
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build-client
|
||||||
|
WORKDIR /src
|
||||||
|
COPY src/ASTRAIN.Client/ASTRAIN.Client.csproj ASTRAIN.Client/
|
||||||
|
COPY src/ASTRAIN.Shared/ASTRAIN.Shared.csproj ASTRAIN.Shared/
|
||||||
|
RUN dotnet restore ASTRAIN.Client/ASTRAIN.Client.csproj
|
||||||
|
COPY src/ASTRAIN.Client/ ASTRAIN.Client/
|
||||||
|
COPY src/ASTRAIN.Shared/ ASTRAIN.Shared/
|
||||||
|
RUN dotnet publish ASTRAIN.Client/ASTRAIN.Client.csproj -c Release -o /app/client
|
||||||
|
|
||||||
|
# Final runtime
|
||||||
|
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime
|
||||||
|
WORKDIR /app
|
||||||
|
RUN mkdir -p /app/Data
|
||||||
|
COPY --from=build /app/publish/ ./
|
||||||
|
COPY --from=build-client /app/client/wwwroot ./wwwroot
|
||||||
|
ENV ASPNETCORE_URLS=http://+:8080
|
||||||
|
EXPOSE 8080
|
||||||
|
ENTRYPOINT ["dotnet", "ASTRAIN.Api.dll"]
|
||||||
10
docker/docker-compose.yml
Normal file
10
docker/docker-compose.yml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
version: "3.9"
|
||||||
|
services:
|
||||||
|
astrain:
|
||||||
|
build:
|
||||||
|
context: ..
|
||||||
|
dockerfile: docker/Dockerfile
|
||||||
|
ports:
|
||||||
|
- "8080:8080"
|
||||||
|
volumes:
|
||||||
|
- ./data:/app/Data
|
||||||
Reference in New Issue
Block a user