diff --git a/.gitignore b/.gitignore index a187b8a..0fffee0 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,6 @@ obj *.user log* Content/ -.env \ No newline at end of file +.env +tiles/ +ready/ \ No newline at end of file diff --git a/SatelliteProvider.Api/Dockerfile b/SatelliteProvider.Api/Dockerfile new file mode 100644 index 0000000..06b973c --- /dev/null +++ b/SatelliteProvider.Api/Dockerfile @@ -0,0 +1,24 @@ +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +WORKDIR /app +EXPOSE 8080 +EXPOSE 8081 + +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +WORKDIR /src +COPY ["SatelliteProvider.Api/SatelliteProvider.Api.csproj", "SatelliteProvider.Api/"] +COPY ["SatelliteProvider.Common/SatelliteProvider.Common.csproj", "SatelliteProvider.Common/"] +COPY ["SatelliteProvider.DataAccess/SatelliteProvider.DataAccess.csproj", "SatelliteProvider.DataAccess/"] +COPY ["SatelliteProvider.Services/SatelliteProvider.Services.csproj", "SatelliteProvider.Services/"] +RUN dotnet restore "SatelliteProvider.Api/SatelliteProvider.Api.csproj" +COPY . . +WORKDIR "/src/SatelliteProvider.Api" +RUN dotnet build "SatelliteProvider.Api.csproj" -c Release -o /app/build + +FROM build AS publish +RUN dotnet publish "SatelliteProvider.Api.csproj" -c Release -o /app/publish /p:UseAppHost=false + +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "SatelliteProvider.Api.dll"] + diff --git a/docker-compose.yml b/docker-compose.yml index 29f56da..3ffde62 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,6 +16,25 @@ services: timeout: 5s retries: 5 + api: + build: + context: . + dockerfile: SatelliteProvider.Api/Dockerfile + container_name: satellite-provider-api + ports: + - "18980:8080" + - "18981:8081" + environment: + - ASPNETCORE_ENVIRONMENT=Development + - ASPNETCORE_URLS=http://+:8080 + - ConnectionStrings__DefaultConnection=Host=postgres;Port=5432;Database=satelliteprovider;Username=postgres;Password=postgres + volumes: + - ./tiles:/app/tiles + - ./ready:/app/ready + depends_on: + postgres: + condition: service_healthy + volumes: postgres_data: