aboutsummaryrefslogtreecommitdiff
path: root/rpm/docker/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'rpm/docker/Dockerfile')
-rw-r--r--rpm/docker/Dockerfile47
1 files changed, 47 insertions, 0 deletions
diff --git a/rpm/docker/Dockerfile b/rpm/docker/Dockerfile
new file mode 100644
index 0000000..bfdd085
--- /dev/null
+++ b/rpm/docker/Dockerfile
@@ -0,0 +1,47 @@
+# Docker build arguments
+ARG DOTNET_VERSION=8.0
+ARG NODEJS_VERSION=20
+# No GCC version choices in Fedora, sorry
+
+ARG PACKAGE_TYPE
+ARG PACKAGE_VERSION
+ARG PACKAGE_ARCH
+
+FROM ${PACKAGE_TYPE}:${PACKAGE_VERSION}
+
+ARG SOURCE_DIR=/jellyfin
+ARG ARTIFACT_DIR=/dist
+ARG DOTNET_VERSION
+ARG NODEJS_VERSION
+ARG PACKAGE_TYPE
+ARG PACKAGE_VERSION
+ARG PACKAGE_ARCH
+ARG GCC_VERSION
+
+# Docker run environment
+ENV SOURCE_DIR=/jellyfin
+ENV ARTIFACT_DIR=/dist
+#ENV DEB_BUILD_OPTIONS=noddebs
+ENV TYPE=${PACKAGE_TYPE}
+ENV VERSION=${PACKAGE_VERSION}
+ENV ARCH=${PACKAGE_ARCH}
+
+# Prepare Fedora build environment
+# spec file is not available during image build, so `dnf builddep jellyfin.spec` will not work here.
+RUN dnf install -y \
+ firewalld-filesystem \
+ systemd-rpm-macros \
+ dotnet-sdk-${DOTNET_VERSION} \
+ npm \
+ nodejs \
+ rpm-build \
+ && dnf clean all
+
+# Link to build script
+RUN ln -sf ${SOURCE_DIR}/rpm/docker/build.sh /build.sh
+
+VOLUME ${SOURCE_DIR}/
+
+VOLUME ${ARTIFACT_DIR}/
+
+ENTRYPOINT ["/build.sh"]
bgstack15