FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build ENV DOTNET_NUGET_SIGNATURE_VERIFICATION=false WORKDIR /app RUN apk update && apk upgrade RUN apk add nodejs~=22 npm~=11 RUN dotnet tool install -g Volo.Abp.Cli ENV PATH="/root/.dotnet/tools:${PATH}" COPY "src/Erp.Platform.HttpApi.Host/Erp.Platform.HttpApi.Host.csproj" "src/Erp.Platform.HttpApi.Host/" COPY "src/Erp.Platform.HttpApi.Host/package.json" "src/Erp.Platform.HttpApi.Host/" COPY "src/Erp.Platform.HttpApi.Host/package-lock.json" "src/Erp.Platform.HttpApi.Host/" WORKDIR /app/src/Erp.Platform.HttpApi.Host RUN abp install-libs WORKDIR /app COPY "modules/Erp.Languages/Erp.Languages.Application/Erp.Languages.Application.csproj" "modules/Erp.Languages/Erp.Languages.Application/" COPY "modules/Erp.Languages/Erp.Languages.Application.Contracts/Erp.Languages.Application.Contracts.csproj" "modules/Erp.Languages/Erp.Languages.Application.Contracts/" COPY "modules/Erp.Languages/Erp.Languages.Domain/Erp.Languages.Domain.csproj" "modules/Erp.Languages/Erp.Languages.Domain/" COPY "modules/Erp.Languages/Erp.Languages.Domain.Shared/Erp.Languages.Domain.Shared.csproj" "modules/Erp.Languages/Erp.Languages.Domain.Shared/" COPY "modules/Erp.Languages/Erp.Languages.EntityFrameworkCore/Erp.Languages.EntityFrameworkCore.csproj" "modules/Erp.Languages/Erp.Languages.EntityFrameworkCore/" COPY "modules/Erp.MailQueue/Erp.MailQueue.csproj" "modules/Erp.MailQueue/" COPY "modules/Erp.Notifications/Erp.Notifications.Application/Erp.Notifications.Application.csproj" "modules/Erp.Notifications/Erp.Notifications.Application/" COPY "modules/Erp.Notifications/Erp.Notifications.Application.Contracts/Erp.Notifications.Application.Contracts.csproj" "modules/Erp.Notifications/Erp.Notifications.Application.Contracts/" COPY "modules/Erp.Notifications/Erp.Notifications.Domain/Erp.Notifications.Domain.csproj" "modules/Erp.Notifications/Erp.Notifications.Domain/" COPY "modules/Erp.Notifications/Erp.Notifications.Domain.Shared/Erp.Notifications.Domain.Shared.csproj" "modules/Erp.Notifications/Erp.Notifications.Domain.Shared/" COPY "modules/Erp.Notifications/Erp.Notifications.EntityFrameworkCore/Erp.Notifications.EntityFrameworkCore.csproj" "modules/Erp.Notifications/Erp.Notifications.EntityFrameworkCore/" COPY "modules/Erp.Sender/Erp.Sender.csproj" "modules/Erp.Sender/" COPY "modules/Erp.Settings/Erp.Settings.Application/Erp.Settings.Application.csproj" "modules/Erp.Settings/Erp.Settings.Application/" COPY "modules/Erp.Settings/Erp.Settings.Application.Contracts/Erp.Settings.Application.Contracts.csproj" "modules/Erp.Settings/Erp.Settings.Application.Contracts/" COPY "modules/Erp.Settings/Erp.Settings.Domain/Erp.Settings.Domain.csproj" "modules/Erp.Settings/Erp.Settings.Domain/" COPY "modules/Erp.Settings/Erp.Settings.Domain.Shared/Erp.Settings.Domain.Shared.csproj" "modules/Erp.Settings/Erp.Settings.Domain.Shared/" COPY "modules/Erp.Settings/Erp.Settings.EntityFrameworkCore/Erp.Settings.EntityFrameworkCore.csproj" "modules/Erp.Settings/Erp.Settings.EntityFrameworkCore/" COPY "src/Erp.Platform.Application/Erp.Platform.Application.csproj" "src/Erp.Platform.Application/" COPY "src/Erp.Platform.Application.Contracts/Erp.Platform.Application.Contracts.csproj" "src/Erp.Platform.Application.Contracts/" COPY "src/Erp.Platform.Domain/Erp.Platform.Domain.csproj" "src/Erp.Platform.Domain/" COPY "src/Erp.Platform.Domain.Shared/Erp.Platform.Domain.Shared.csproj" "src/Erp.Platform.Domain.Shared/" COPY "src/Erp.Platform.EntityFrameworkCore/Erp.Platform.EntityFrameworkCore.csproj" "src/Erp.Platform.EntityFrameworkCore/" COPY "src/Erp.Platform.HttpApi/Erp.Platform.HttpApi.csproj" "src/Erp.Platform.HttpApi/" COPY "src/Erp.Platform.HttpApi.Client/Erp.Platform.HttpApi.Client.csproj" "src/Erp.Platform.HttpApi.Client/" COPY "src/Erp.Platform.HttpApi.Host/Erp.Platform.HttpApi.Host.csproj" "src/Erp.Platform.HttpApi.Host/" COPY "test/Erp.Platform.EntityFrameworkCore.Tests/Erp.Platform.EntityFrameworkCore.Tests.csproj" "test/Erp.Platform.EntityFrameworkCore.Tests/" COPY "test/Erp.Platform.TestBase/Erp.Platform.TestBase.csproj" "test/Erp.Platform.TestBase/" RUN dotnet restore "src/Erp.Platform.HttpApi.Host/Erp.Platform.HttpApi.Host.csproj" COPY . . RUN mkdir -p publish RUN dotnet publish "src/Erp.Platform.HttpApi.Host/Erp.Platform.HttpApi.Host.csproj" -c Release -o /app/publish --no-restore FROM mcr.microsoft.com/dotnet/aspnet:9.0-alpine AS final ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \ LC_ALL=tr_TR.UTF-8 \ LANG=tr_TR.UTF-8 # icu'lar dotnet culture icin gerekli # lib'ler wkhtmltopdf icin gerekli RUN apk update RUN apk add --no-cache \ icu-data-full \ icu-libs \ libgdiplus \ libc6-compat \ libc-dev # OpenSSL default TLSv3 desteklediği için MSSQL 2012'ye bağlanmıyor. Bunu çözmek için gerekli RUN sed -i 's/\[openssl_init\]/# [openssl_init]/' /etc/ssl/openssl.cnf RUN printf "\n\n[openssl_init]\nssl_conf = ssl_sect" >> /etc/ssl/openssl.cnf RUN printf "\n\n[ssl_sect]\nsystem_default = ssl_default_sect" >> /etc/ssl/openssl.cnf RUN printf "\n\n[ssl_default_sect]\nMinProtocol = TLSv1\nCipherString = DEFAULT@SECLEVEL=0\n" >> /etc/ssl/openssl.cnf EXPOSE 80 EXPOSE 443 WORKDIR /srv/app COPY --from=build /app/publish . ENTRYPOINT ["./Erp.Platform.HttpApi.Host"]