|
|
@ -1,17 +1,11 @@ |
|
|
|
FROM jasongdove/ersatztv-ffmpeg:6.1-nvidia AS runtime-base |
|
|
|
FROM mcr.microsoft.com/dotnet/aspnet:8.0-noble-amd64 AS dotnet-runtime |
|
|
|
|
|
|
|
|
|
|
|
RUN wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb && \ |
|
|
|
FROM jasongdove/ersatztv-ffmpeg:7.1.1-nvidia AS runtime-base |
|
|
|
dpkg -i packages-microsoft-prod.deb && \ |
|
|
|
COPY --from=dotnet-runtime /usr/share/dotnet /usr/share/dotnet |
|
|
|
rm packages-microsoft-prod.deb && \ |
|
|
|
|
|
|
|
apt-get -yqq update && \ |
|
|
|
|
|
|
|
apt-get install -yq aspnetcore-runtime-8.0 && \ |
|
|
|
|
|
|
|
apt-get autoremove -y && \ |
|
|
|
|
|
|
|
apt-get clean -y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# https://hub.docker.com/_/microsoft-dotnet |
|
|
|
# https://hub.docker.com/_/microsoft-dotnet |
|
|
|
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build |
|
|
|
FROM mcr.microsoft.com/dotnet/sdk:8.0-noble-amd64 AS build |
|
|
|
RUN apt-get update && apt-get install -y ca-certificates gnupg |
|
|
|
RUN apt-get update && apt-get install -y ca-certificates gnupg |
|
|
|
|
|
|
|
|
|
|
|
WORKDIR /source |
|
|
|
WORKDIR /source |
|
|
|
|
|
|
|
|
|
|
|
# copy csproj and restore as distinct layers |
|
|
|
# copy csproj and restore as distinct layers |
|
|
@ -38,10 +32,10 @@ COPY ErsatzTV.Infrastructure.MySql/. ./ErsatzTV.Infrastructure.MySql/ |
|
|
|
COPY ErsatzTV.Scanner/. ./ErsatzTV.Scanner/ |
|
|
|
COPY ErsatzTV.Scanner/. ./ErsatzTV.Scanner/ |
|
|
|
ARG INFO_VERSION="unknown" |
|
|
|
ARG INFO_VERSION="unknown" |
|
|
|
WORKDIR /source/ErsatzTV.Scanner |
|
|
|
WORKDIR /source/ErsatzTV.Scanner |
|
|
|
RUN dotnet publish ErsatzTV.Scanner.csproj --framework net8.0 -c release -o /app -r linux-x64 --self-contained false --no-restore /p:DebugType=Embedded /p:InformationalVersion=${INFO_VERSION} |
|
|
|
RUN dotnet publish ErsatzTV.Scanner.csproj -c release -o /app -r linux-x64 --self-contained false --no-restore /p:DebugType=Embedded /p:InformationalVersion=${INFO_VERSION} |
|
|
|
WORKDIR /source/ErsatzTV |
|
|
|
WORKDIR /source/ErsatzTV |
|
|
|
RUN sed -i '/Scanner/d' ErsatzTV.csproj |
|
|
|
RUN sed -i '/Scanner/d' ErsatzTV.csproj |
|
|
|
RUN dotnet publish ErsatzTV.csproj --framework net8.0 -c release -o /app -r linux-x64 --self-contained false --no-restore /p:DebugType=Embedded /p:InformationalVersion=${INFO_VERSION} |
|
|
|
RUN dotnet publish ErsatzTV.csproj -c release -o /app -r linux-x64 --self-contained false --no-restore /p:DebugType=Embedded /p:InformationalVersion=${INFO_VERSION} |
|
|
|
|
|
|
|
|
|
|
|
# final stage/image |
|
|
|
# final stage/image |
|
|
|
FROM runtime-base |
|
|
|
FROM runtime-base |
|
|
@ -51,4 +45,5 @@ WORKDIR /app |
|
|
|
COPY --from=build /app ./ |
|
|
|
COPY --from=build /app ./ |
|
|
|
ENV ETV_CONFIG_FOLDER=/config |
|
|
|
ENV ETV_CONFIG_FOLDER=/config |
|
|
|
ENV ETV_TRANSCODE_FOLDER=/transcode |
|
|
|
ENV ETV_TRANSCODE_FOLDER=/transcode |
|
|
|
|
|
|
|
ENV ETV_DISABLE_VULKAN=1 |
|
|
|
ENTRYPOINT ["./ErsatzTV"] |
|
|
|
ENTRYPOINT ["./ErsatzTV"] |
|
|
|