Refactor Dockerfile and build (#10603)

* Fix fedora

* Fix RID Linux

* Fix package and image versions

* Fix buildling and optimize docker images
```

* Removed find obj

* Changed curl command and added gpg

* Added to Contributors

* Removed apt-transport-https package

* Removed RASPI

* Update Intel drivers version

* Update Dockerfile for CentOS, Fedora, and portable deployments

 - Changed Jammy docker image to Built-in Jammy Microsoft .NET SDK image
 - Switched from using "Yum" to "Dnf" for CentOS and Fedora
 - Added "dnf clean all" and "rm -rf /var/cache/dnf" to the end of CentOS and Fedora Dockerfiles
 - Added "apt-get clean", "apt-get autoremove", "rm -rf /var/lib/apt/lists/*" to the end of the Debian/Ubuntu Dockerfiles
 - Added ${DOTNET_VERSION} in every Dockerfile except CentOS/Fedora
 - Removed previous warning comment for dotnet publish build in parallel
 - Arranged package installation

* Re-arranged Dockerfile package installation

* Re-align

* Remove curl

* Remove curl
This commit is contained in:
Gauvino
2024-01-18 02:11:03 +01:00
committed by GitHub
parent 4962eb5b43
commit a884b1f786
45 changed files with 402 additions and 327 deletions

View File

@@ -1,7 +1,11 @@
FROM mcr.microsoft.com/dotnet/sdk:8.0-bookworm-slim
ARG DOTNET_VERSION=8.0
FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim
# Docker build arguments
ARG SOURCE_DIR=/jellyfin
ARG ARTIFACT_DIR=/dist
# Docker run environment
ENV SOURCE_DIR=/jellyfin
ENV ARTIFACT_DIR=/dist
@@ -11,10 +15,13 @@ ENV IS_DOCKER=YES
# Prepare Debian build environment
RUN apt-get update -yqq \
&& apt-get install -yqq --no-install-recommends \
&& apt-get install --no-install-recommends -yqq \
debhelper gnupg devscripts unzip \
mmv libcurl4-openssl-dev libfontconfig1-dev \
libfreetype6-dev libssl-dev libssl1.1 liblttng-ust0
libfreetype6-dev libssl-dev libssl3 liblttng-ust1 \
&& apt-get clean autoclean -yqq \
&& apt-get autoremove -yqq \
&& rm -rf /var/lib/apt/lists/*
# Link to docker-build script
RUN ln -sf ${SOURCE_DIR}/deployment/build.linux.amd64 /build.sh