Fix Dockerfile
All checks were successful
Build Prowlarr Container / build (push) Successful in 6m20s
All checks were successful
Build Prowlarr Container / build (push) Successful in 6m20s
This commit is contained in:
55
Dockerfile
55
Dockerfile
@@ -1,83 +1,60 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
#===========================
|
||||
# Stage 1: Build Prowlarr from source
|
||||
#===========================
|
||||
# Build Prowlarr from source with patches applied
|
||||
FROM mcr.microsoft.com/dotnet/sdk:8.0-alpine AS build
|
||||
|
||||
# Install build dependencies
|
||||
RUN apk add --no-cache \
|
||||
bash \
|
||||
git \
|
||||
curl \
|
||||
icu-libs \
|
||||
nodejs \
|
||||
npm \
|
||||
yarn
|
||||
RUN apk add --no-cache bash git curl icu-libs nodejs npm yarn
|
||||
|
||||
# Arguments for upstream source
|
||||
ARG PROWLARR_BRANCH="develop"
|
||||
ARG PROWLARR_REPO="https://github.com/Prowlarr/Prowlarr.git"
|
||||
|
||||
WORKDIR /src
|
||||
RUN git clone --depth 1 --branch "${PROWLARR_BRANCH}" https://github.com/Prowlarr/Prowlarr.git .
|
||||
|
||||
# Clone upstream Prowlarr
|
||||
RUN git clone --depth 1 --branch "${PROWLARR_BRANCH}" "${PROWLARR_REPO}" .
|
||||
|
||||
# Copy and apply patches
|
||||
COPY patches/ /tmp/patches/
|
||||
RUN git config user.email "build@local" && \
|
||||
git config user.name "Build" && \
|
||||
git am /tmp/patches/*.patch
|
||||
|
||||
# Install frontend dependencies and build
|
||||
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
|
||||
|
||||
# Build backend for linux-musl-x64 (Alpine)
|
||||
RUN bash build.sh --backend -r linux-musl-x64 -f net8.0
|
||||
|
||||
# Package
|
||||
RUN bash build.sh --packages -r linux-musl-x64 -f net8.0
|
||||
|
||||
#===========================
|
||||
# Stage 2: Runtime
|
||||
#===========================
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.23
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG PROWLARR_BRANCH="develop"
|
||||
LABEL build_version="Custom build version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="romain"
|
||||
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 runtime packages ****" && \
|
||||
echo "**** install packages ****" && \
|
||||
apk add -U --upgrade --no-cache \
|
||||
icu-libs \
|
||||
sqlite-libs \
|
||||
xmlstarlet
|
||||
xmlstarlet && \
|
||||
echo "**** install prowlarr ****" && \
|
||||
mkdir -p /app/prowlarr/bin
|
||||
|
||||
# Copy compiled Prowlarr from build stage
|
||||
RUN mkdir -p /app/prowlarr/bin
|
||||
COPY --from=build /src/_artifacts/linux-musl-x64/net8.0/Prowlarr/ /app/prowlarr/bin/
|
||||
|
||||
# Write package info
|
||||
RUN echo -e "UpdateMethod=docker\nBranch=${PROWLARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=custom-build" > /app/prowlarr/package_info && \
|
||||
printf "Custom build version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
|
||||
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 (s6 services)
|
||||
# copy local files
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
|
||||
Reference in New Issue
Block a user