Manual Repo Setup: DNF
Fedora / RHEL / CentOS
This guide explains how to configure the Emby RPM repository manually for DNF-based systems (without using get.sh).
Prerequisites
You need:
dnfcurlca-certificates
On some distributions, dnf config-manager is provided by dnf-plugins-core.
Channels
Emby publishes two RPM channels:
stable(repo id:emby)beta(repo id:emby-beta)
You should configure exactly one of them.
Option A (simple): use dnf config-manager with the published .repo
This matches the short form shown on the website.
Stable
sudo dnf config-manager --add-repo https://pkg.emby.media/rpm/emby.repo
sudo dnf makecache
Beta
sudo dnf config-manager --add-repo https://pkg.emby.media/rpm/emby-beta.repo
sudo dnf makecache
Notes:
- The
.repofile is installed under/etc/yum.repos.d/. - DNF may prompt to import a GPG key the first time it uses the repo.
Option B (recommended for non-interactive/manual control): download the .repo and import the key proactively
This mirrors the behavior of tree_update/rpm/setup-dnf.sh (used by get.sh).
Stable
- Download the repo file:
sudo curl -fsSL https://pkg.emby.media/rpm/emby.repo -o /etc/yum.repos.d/emby.repo
- Download and import the signing key:
- Key URL:
https://pkg.emby.media/keys/emby-public.asc - Local key path (recommended):
/etc/pki/rpm-gpg/emby-public.asc
sudo install -d -m 0755 /etc/pki/rpm-gpg
sudo curl -fsSL https://pkg.emby.media/keys/emby-public.asc -o /etc/pki/rpm-gpg/emby-public.asc
sudo rpm --import /etc/pki/rpm-gpg/emby-public.asc 2>/dev/null || sudo rpmkeys --import /etc/pki/rpm-gpg/emby-public.asc || true
- Ensure the repo file uses the local
file://key path (prevents repeated prompts):
sudo sed -i -E 's|^[[:space:]]*gpgkey=.*$|gpgkey=file:///etc/pki/rpm-gpg/emby-public.asc|' /etc/yum.repos.d/emby.repo
- Refresh metadata:
sudo dnf -y clean metadata || true
sudo dnf -y makecache --refresh --repo emby
Beta
Same steps, but using the beta .repo file and repo id:
sudo curl -fsSL https://pkg.emby.media/rpm/emby-beta.repo -o /etc/yum.repos.d/emby-beta.repo
sudo install -d -m 0755 /etc/pki/rpm-gpg
sudo curl -fsSL https://pkg.emby.media/keys/emby-public.asc -o /etc/pki/rpm-gpg/emby-public.asc
sudo rpm --import /etc/pki/rpm-gpg/emby-public.asc 2>/dev/null || sudo rpmkeys --import /etc/pki/rpm-gpg/emby-public.asc || true
sudo sed -i -E 's|^[[:space:]]*gpgkey=.*$|gpgkey=file:///etc/pki/rpm-gpg/emby-public.asc|' /etc/yum.repos.d/emby-beta.repo
sudo dnf -y clean metadata || true
sudo dnf -y makecache --refresh --repo emby-beta
Verify repository configuration
List known repos and confirm emby or emby-beta is present:
dnf repolist --all | grep -E '^(emby|emby-beta)'
Show package info:
dnf info emby-server
List available packages (basic search):
dnf search emby
List available versions (shows duplicates):
dnf list --showduplicates emby-server
Install / upgrade / uninstall examples
Install server:
sudo dnf install emby-server
Upgrade:
sudo dnf upgrade
Uninstall:
sudo dnf remove emby-server
Remove the repository
Stable:
sudo rm -f /etc/yum.repos.d/emby.repo
sudo dnf -y clean metadata || true
Beta:
sudo rm -f /etc/yum.repos.d/emby-beta.repo
sudo dnf -y clean metadata || true
(You can keep /etc/pki/rpm-gpg/emby-public.asc if you plan to re-add the repo later.)