generated from fahricansecer/boilerplate-be
29 lines
653 B
Docker
29 lines
653 B
Docker
FROM mcr.microsoft.com/dotnet/sdk:8.0-alpine AS build
|
||
WORKDIR /src
|
||
|
||
# Restore dependencies
|
||
COPY SaasMediaWorker.csproj .
|
||
RUN dotnet restore
|
||
|
||
# Build
|
||
COPY . .
|
||
RUN dotnet publish -c Release -o /app/publish --no-restore
|
||
|
||
# Runtime — ARM64 uyumlu Alpine image
|
||
FROM mcr.microsoft.com/dotnet/runtime:8.0-alpine AS runtime
|
||
WORKDIR /app
|
||
|
||
# FFmpeg kurulumu (ARM64 native Alpine paketi)
|
||
RUN apk add --no-cache ffmpeg font-dejavu
|
||
|
||
# Temp dizin oluştur
|
||
RUN mkdir -p /tmp/contgen-render
|
||
|
||
COPY --from=build /app/publish .
|
||
|
||
# Non-root user ile çalıştır (güvenlik)
|
||
RUN adduser -D -h /app workeruser
|
||
USER workeruser
|
||
|
||
ENTRYPOINT ["dotnet", "SaasMediaWorker.dll"]
|