diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..df2e0fe50 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +.dockerignore +.env +.git +.gitignore +.vs +.vscode +*/bin +*/obj +**/.toolstarget \ No newline at end of file diff --git a/src/FilterLists.Api/Dockerfile b/src/FilterLists.Api/Dockerfile new file mode 100644 index 000000000..34248be89 --- /dev/null +++ b/src/FilterLists.Api/Dockerfile @@ -0,0 +1,21 @@ +FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base +WORKDIR /app +EXPOSE 80 + +FROM microsoft/dotnet:2.1-sdk AS build +WORKDIR /src +COPY ["src/FilterLists.Api/FilterLists.Api.csproj", "src/FilterLists.Api/"] +COPY ["src/FilterLists.Services/FilterLists.Services.csproj", "src/FilterLists.Services/"] +COPY ["src/FilterLists.Data/FilterLists.Data.csproj", "src/FilterLists.Data/"] +RUN dotnet restore "src/FilterLists.Api/FilterLists.Api.csproj" +COPY . . +WORKDIR "/src/src/FilterLists.Api" +RUN dotnet build "FilterLists.Api.csproj" -c Release -o /app + +FROM build AS publish +RUN dotnet publish "FilterLists.Api.csproj" -c Release -o /app + +FROM base AS final +WORKDIR /app +COPY --from=publish /app . +ENTRYPOINT ["dotnet", "FilterLists.Api.dll"] \ No newline at end of file diff --git a/src/FilterLists.Api/FilterLists.Api.csproj b/src/FilterLists.Api/FilterLists.Api.csproj index fa985d570..5df3f6165 100644 --- a/src/FilterLists.Api/FilterLists.Api.csproj +++ b/src/FilterLists.Api/FilterLists.Api.csproj @@ -18,6 +18,7 @@ git https://github.com/collinbarrett/FilterLists false + Linux @@ -42,6 +43,7 @@ + diff --git a/src/FilterLists.Api/Properties/launchSettings.json b/src/FilterLists.Api/Properties/launchSettings.json index 27a7f46de..dcce7aa59 100644 --- a/src/FilterLists.Api/Properties/launchSettings.json +++ b/src/FilterLists.Api/Properties/launchSettings.json @@ -8,6 +8,11 @@ "ASPNETCORE_ENVIRONMENT": "Development" }, "applicationUrl": "http://localhost:5000/docs/index.html" + }, + "Docker": { + "commandName": "Docker", + "launchBrowser": true, + "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/docs/index.html" } } } \ No newline at end of file diff --git a/src/FilterLists.Web/Dockerfile b/src/FilterLists.Web/Dockerfile new file mode 100644 index 000000000..cd51d4d2d --- /dev/null +++ b/src/FilterLists.Web/Dockerfile @@ -0,0 +1,19 @@ +FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base +WORKDIR /app +EXPOSE 80 + +FROM microsoft/dotnet:2.1-sdk AS build +WORKDIR /src +COPY ["src/FilterLists.Web/FilterLists.Web.csproj", "src/FilterLists.Web/"] +RUN dotnet restore "src/FilterLists.Web/FilterLists.Web.csproj" +COPY . . +WORKDIR "/src/src/FilterLists.Web" +RUN dotnet build "FilterLists.Web.csproj" -c Release -o /app + +FROM build AS publish +RUN dotnet publish "FilterLists.Web.csproj" -c Release -o /app + +FROM base AS final +WORKDIR /app +COPY --from=publish /app . +ENTRYPOINT ["dotnet", "FilterLists.Web.dll"] \ No newline at end of file diff --git a/src/FilterLists.Web/FilterLists.Web.csproj b/src/FilterLists.Web/FilterLists.Web.csproj index 309f26f94..7538963a3 100644 --- a/src/FilterLists.Web/FilterLists.Web.csproj +++ b/src/FilterLists.Web/FilterLists.Web.csproj @@ -19,6 +19,7 @@ git true false + Linux @@ -26,6 +27,7 @@ + diff --git a/src/FilterLists.Web/Properties/launchSettings.json b/src/FilterLists.Web/Properties/launchSettings.json index 0db5cdf24..8a3cc92da 100644 --- a/src/FilterLists.Web/Properties/launchSettings.json +++ b/src/FilterLists.Web/Properties/launchSettings.json @@ -13,6 +13,11 @@ "launchBrowser": true, "launchUrl": "http://localhost:5001/", "applicationUrl": "http://localhost:5001/" + }, + "Docker": { + "commandName": "Docker", + "launchBrowser": true, + "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/" } } } \ No newline at end of file