2025-11-11 19:49:52 +00:00
|
|
|
|
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
|
|
|
|
|
|
|
2025-11-20 21:03:24 +00:00
|
|
|
|
COPY .config/dotnet-tools.json .config/dotnet-tools.json
|
|
|
|
|
|
RUN dotnet tool restore
|
|
|
|
|
|
ENV PATH="/root/.dotnet/tools:/app/.config/dotnet/tools:${PATH}"
|
2025-11-11 19:49:52 +00:00
|
|
|
|
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
|
2025-11-20 21:03:24 +00:00
|
|
|
|
RUN dotnet tool run abp install-libs
|
2025-11-11 19:49:52 +00:00
|
|
|
|
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
|
|
|
|
|
|
|
2025-11-12 12:59:31 +00:00
|
|
|
|
# OpenSSL default TLSv3 desteklediği için MSSQL 2012'ye bağlanmıyor. Bunu çözmek için gerekli
|
2025-11-11 19:49:52 +00:00
|
|
|
|
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"]
|