jellyfin-server/fedora
AJ Jordan d251c701b9
Use systemd-run(1) in restart.sh
systemd-run(1) runs `systemctl restart` in an isolated systemd unit
that is not subject to process termination as jellyfin.service is shut
down. We adjust the sudoers configuration for this new usage, removing
the old config, since restart.sh is the only user of the sudoers
policy.

Additionally we change `systemctl start` to `systemctl restart` since
there was a race condition where jellyfin.service was not fully
stopped by the time this ran, so `systemctl start` became a noop.
`systemctl restart` on the other hand works whether jellyfin.service is
stopped or not.

The at(1) hack (and the usage of `start` instead of `restart`) is left
in for other init systems since I cannot test on those systems, and
because I don't know of any systemd-run(1) equivalent (although it may
be a non-issue since alternate init systems do not keep track of daemon
children nearly as aggressively as systemd does).
2020-12-04 16:18:26 -08:00
..
.gitignore Port Fedora and CentOS builds and remove web build 2020-03-23 17:32:07 -04:00
jellyfin-firewalld.xml Port Fedora and CentOS builds and remove web build 2020-03-23 17:32:07 -04:00
jellyfin.env Add Web integration option in default service conf 2020-04-29 16:06:42 -04:00
jellyfin.override.conf Port Fedora and CentOS builds and remove web build 2020-03-23 17:32:07 -04:00
jellyfin.service Add Web integration option in default service conf 2020-04-29 16:06:42 -04:00
jellyfin.spec Add sudo to package dependencies 2020-11-29 04:15:11 -05:00
jellyfin.sudoers Use systemd-run(1) in restart.sh 2020-12-04 16:18:26 -08:00
Makefile Clean up redundant Makefile steps 2020-03-24 00:01:48 -04:00
README.md Port Fedora and CentOS builds and remove web build 2020-03-23 17:32:07 -04:00
restart.sh Use systemd-run(1) in restart.sh 2020-12-04 16:18:26 -08:00

Jellyfin RPM

Build Fedora Package with docker

Change into this directory cd rpm-package Run the build script ./build-fedora-rpm.sh. Resulting RPM and src.rpm will be in ../../jellyfin-*.rpm

ffmpeg

The RPM package for Fedora/CentOS requires some additional repositories as ffmpeg is not in the main repositories.

# ffmpeg from RPMfusion free
# Fedora
$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
# CentOS 7
$ sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm

ISO mounting

To allow Jellyfin to mount/umount ISO files uncomment these two lines in /etc/sudoers.d/jellyfin-sudoers

# %jellyfin ALL=(ALL) NOPASSWD: /bin/mount
# %jellyfin ALL=(ALL) NOPASSWD: /bin/umount

Building with dotnet

Jellyfin is build with --self-contained so no dotnet required for runtime.

# dotnet required for building the RPM
# Fedora
$ sudo dnf copr enable @dotnet-sig/dotnet
# CentOS
$ sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

TODO

  • OpenSUSE