jube-home / jube

Jube is an open-source software designed for monitoring transactions and events. It offers a range of powerful features including real-time data wrangling, artificial intelligence, decision making, and case management. Jube's exceptional performance is particularly evident in its application to fraud prevention and abuse detection scenarios.
https://www.jube.io
GNU Affero General Public License v3.0
29 stars 2 forks source link

Improve Support for Docker #13

Closed richard-churchman closed 5 months ago

richard-churchman commented 10 months ago

Jube can be built to Docker but there is currently no option to do this in the default build, instead, it is compiled as debug, using dotnet run. This works, but it is only really a demonstration and expects the end user to publish for their release.

Include a Docker file and .yaml file as required in the software, compiling Docker to release and not debug.

Most users appear to require that the software is architected to support containerisation, which it is, with differing appetite for Docker, but universal appetite for Kubenates or similar cloud provider scaling options.

richard-churchman commented 7 months ago

FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine AS base

WORKDIR /app EXPOSE 80 EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build WORKDIR / COPY ["Jube.App/Jube.App.csproj", "Jube.App/"] COPY . . RUN dotnet restore "Jube.App/Jube.App.csproj" WORKDIR "/Jube.App" RUN dotnet build "Jube.App.csproj" -c Release -o /app/build

FROM build AS publish RUN dotnet publish "Jube.App.csproj" -c Release -o /app/publish

FROM base AS final WORKDIR /app COPY --from=publish /app/publish .

ENTRYPOINT ["dotnet", "Jube.App.dll"]

richard-churchman commented 5 months ago

See f667cbc.