diff --git a/.dockerignore b/.dockerignore index 117a47532..2cf892588 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,10 @@ -.git -.idea -node_modules -*/samples* -*/doc* \ No newline at end of file +.dockerignore +.env +.git +.gitignore +.vs +.vscode +*/bin +*/obj +**/.toolstarget +**/node_modules \ No newline at end of file diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 971e981ed..000000000 --- a/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build-env -WORKDIR /app - -COPY . ./ - -WORKDIR /app/src/dashboard/Elsa.Dashboard/Theme/argon-dashboard - -RUN apt-get update -yq \ - && apt-get install build-essential -y \ - && apt-get install curl gnupg -yq \ - && curl -sL https://deb.nodesource.com/setup_10.x | bash \ - && apt-get install nodejs -yq - -RUN npm install -RUN npm install --global gulp-cli -RUN npm rebuild node-sass --force -RUN gulp build - -WORKDIR /app -RUN dotnet publish Elsa.sln -c Release -o out - -FROM mcr.microsoft.com/dotnet/core/aspnet:3.0 -WORKDIR /app -COPY --from=build-env /app/out . -ENTRYPOINT ["dotnet", "Elsa.Dashboard.Web.dll"] \ No newline at end of file diff --git a/docker/ElsaDashboard.Samples.Monolith.Compose.yaml b/docker/ElsaDashboard.Samples.Monolith.Compose.yaml new file mode 100644 index 000000000..44dcfbec0 --- /dev/null +++ b/docker/ElsaDashboard.Samples.Monolith.Compose.yaml @@ -0,0 +1,23 @@ +version: '3.7' + +services: + + elsa-dashboard: + build: + context: ../ + dockerfile: ./docker/ElsaDashboard.Samples.Monolith.Dockerfile + environment: + - ASPNETCORE_ENVIRONMENT=Development + - Elsa:Http:BaseUrl=http://localhost + - Elsa:Smtp:Host=smtp4dev + - Dashboard:ElsaServerUrl=http://localhost:22174 + ports: + - "22174:80" + depends_on: + - smtp4dev + + smtp4dev: + image: rnwood/smtp4dev:linux-amd64-3.1.0-ci0856 + ports: + - "3000:80" + - "2525:25" \ No newline at end of file diff --git a/docker/ElsaDashboard.Samples.Monolith.Dockerfile b/docker/ElsaDashboard.Samples.Monolith.Dockerfile new file mode 100644 index 000000000..3154bdef3 --- /dev/null +++ b/docker/ElsaDashboard.Samples.Monolith.Dockerfile @@ -0,0 +1,16 @@ +FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build +WORKDIR /source + +# copy everything else and build app +COPY src/. ./src +COPY *.props ./ +COPY Nuget.config ./ +WORKDIR /source/src/samples/dashboard/ElsaDashboard.Samples.Monolith +RUN dotnet restore +RUN dotnet publish -c release -o /app --no-restore + +# final stage/image +FROM mcr.microsoft.com/dotnet/aspnet:5.0 +WORKDIR /app +COPY --from=build /app ./ +ENTRYPOINT ["dotnet", "ElsaDashboard.Samples.Monolith.dll"] \ No newline at end of file diff --git a/docker/ElsaDashboard.Samples.Monolith.Dockerfile.Build.cmd b/docker/ElsaDashboard.Samples.Monolith.Dockerfile.Build.cmd new file mode 100644 index 000000000..64f36651e --- /dev/null +++ b/docker/ElsaDashboard.Samples.Monolith.Dockerfile.Build.cmd @@ -0,0 +1 @@ +docker build -t elsadashboard_samples_monolith -f ./ElsaDashboard.Samples.Monolith.Dockerfile ../ \ No newline at end of file diff --git a/docker/ElsaDashboard.Samples.Monolith.Dockerfile.Run.cmd b/docker/ElsaDashboard.Samples.Monolith.Dockerfile.Run.cmd new file mode 100644 index 000000000..9225b2b18 --- /dev/null +++ b/docker/ElsaDashboard.Samples.Monolith.Dockerfile.Run.cmd @@ -0,0 +1 @@ +docker run -t -i -e ELSA__HTTP__BASEURL='http://localhost' -e DASHBOARD__ELSASERVERURL='http://localhost:6868' -e ASPNETCORE_ENVIRONMENT='Development' -p 6868:80 elsadashboard_samples_monolith \ No newline at end of file