Dockerfile 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. FROM centos:7
  2. # Docker build arguments
  3. ARG SOURCE_DIR=/jellyfin
  4. ARG PLATFORM_DIR=/jellyfin/deployment/centos-package-x64
  5. ARG ARTIFACT_DIR=/dist
  6. ARG SDK_VERSION=3.1
  7. # Docker run environment
  8. ENV SOURCE_DIR=/jellyfin
  9. ENV ARTIFACT_DIR=/dist
  10. # Prepare CentOS environment
  11. RUN yum update -y \
  12. && yum install -y epel-release
  13. # Install build dependencies
  14. RUN yum install -y @buildsys-build rpmdevtools yum-plugins-core libcurl-devel fontconfig-devel freetype-devel openssl-devel glibc-devel libicu-devel git
  15. # Install recent NodeJS and Yarn
  16. RUN curl -fSsLo /etc/yum.repos.d/yarn.repo https://dl.yarnpkg.com/rpm/yarn.repo \
  17. && rpm -i https://rpm.nodesource.com/pub_10.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm \
  18. && yum install -y yarn
  19. # Install DotNET SDK
  20. RUN rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm \
  21. && rpmdev-setuptree \
  22. && yum install -y dotnet-sdk-${SDK_VERSION}
  23. # Create symlinks and directories
  24. RUN ln -sf ${PLATFORM_DIR}/docker-build.sh /docker-build.sh \
  25. && mkdir -p ${SOURCE_DIR}/SPECS \
  26. && ln -s ${PLATFORM_DIR}/pkg-src/jellyfin.spec ${SOURCE_DIR}/SPECS/jellyfin.spec \
  27. && mkdir -p ${SOURCE_DIR}/SOURCES \
  28. && ln -s ${PLATFORM_DIR}/pkg-src ${SOURCE_DIR}/SOURCES
  29. VOLUME ${ARTIFACT_DIR}/
  30. COPY . ${SOURCE_DIR}/
  31. ENTRYPOINT ["/docker-build.sh"]