63 lines
1.8 KiB
Docker
Executable File
63 lines
1.8 KiB
Docker
Executable File
# syntax=docker/dockerfile:1
|
|
|
|
# Build Prowlarr from source with patches applied
|
|
FROM mcr.microsoft.com/dotnet/sdk:8.0-alpine AS build
|
|
|
|
RUN apk add --no-cache bash git curl icu-libs nodejs npm yarn
|
|
|
|
ARG PROWLARR_BRANCH="develop"
|
|
WORKDIR /src
|
|
RUN git clone --depth 1 --branch "${PROWLARR_BRANCH}" https://github.com/Prowlarr/Prowlarr.git .
|
|
|
|
COPY patches/ /tmp/patches/
|
|
RUN git config user.email "build@local" && \
|
|
git config user.name "Build" && \
|
|
git am /tmp/patches/*.patch
|
|
|
|
RUN bash build.sh --backend -r linux-musl-x64 -f net8.0
|
|
RUN yarn install --frozen-lockfile --network-timeout 120000
|
|
RUN yarn run build --env production
|
|
RUN bash build.sh --packages -r linux-musl-x64 -f net8.0
|
|
|
|
FROM ghcr.io/linuxserver/baseimage-alpine:3.23
|
|
|
|
# set version label
|
|
ARG BUILD_DATE
|
|
ARG VERSION
|
|
ARG PROWLARR_RELEASE
|
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
|
LABEL maintainer="Roxedus,thespad"
|
|
|
|
# environment settings
|
|
ARG PROWLARR_BRANCH="master"
|
|
ENV XDG_CONFIG_HOME="/config/xdg" \
|
|
COMPlus_EnableDiagnostics=0 \
|
|
TMPDIR=/run/prowlarr-temp
|
|
|
|
RUN \
|
|
echo "**** install packages ****" && \
|
|
apk add -U --upgrade --no-cache \
|
|
icu-libs \
|
|
sqlite-libs \
|
|
xmlstarlet && \
|
|
echo "**** install prowlarr ****" && \
|
|
mkdir -p /app/prowlarr/bin
|
|
|
|
COPY --from=build /src/_artifacts/linux-musl-x64/net8.0/Prowlarr/ /app/prowlarr/bin/
|
|
|
|
RUN \
|
|
echo -e "UpdateMethod=docker\nBranch=${PROWLARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=[linuxserver.io](https://www.linuxserver.io/)" > /app/prowlarr/package_info && \
|
|
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
|
|
echo "**** cleanup ****" && \
|
|
rm -rf \
|
|
/app/prowlarr/bin/Prowlarr.Update \
|
|
/tmp/* \
|
|
/var/tmp/*
|
|
|
|
# copy local files
|
|
COPY root/ /
|
|
|
|
# ports and volumes
|
|
EXPOSE 9696
|
|
VOLUME /config
|