diff --git a/docs/general/installation/linux.md b/docs/general/installation/linux.md index ea8f34c43..c7af2b8ee 100644 --- a/docs/general/installation/linux.md +++ b/docs/general/installation/linux.md @@ -24,9 +24,9 @@ The AUR also offers each separately at [`jellyfin-server-git`](https://aur.archl ## Fedora -Fedora builds in RPM package format are available [here](/downloads/linux#fedora-centos) for now but an official Fedora repository is coming soon. +Fedora builds in RPM package format are available [in the main download repository](https://repo.jellyfin.org/releases/server/). We do not yet have an official Fedora repository, but one is planned for the future. -1. You will need to enable rpmfusion as ffmpeg is a dependency of the jellyfin server package +1. You will need to enable `rpmfusion`, as `ffmpeg` is a dependency of the `jellyfin` server package ```sh sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm @@ -34,33 +34,29 @@ Fedora builds in RPM package format are available [here](/downloads/linux#fedora :::note - You do not need to manually install ffmpeg, it will be installed by the jellyfin server package as a dependency + You do not need to manually install `ffmpeg`; it will be installed by the Jellyfin server package as a dependency. ::: -2. Install the jellyfin server +2. Install the Jellyfin server ```sh - sudo dnf install (link to version jellyfin server you want to install) + sudo dnf install ``` -3. Install the jellyfin web interface +3. Install the Jellyfin web interface ```sh - sudo dnf install (link to web RPM you want to install) + sudo dnf install ``` -4. Enable jellyfin service with systemd +4. Enable and start the Jellyfin service: ```sh - sudo systemctl start jellyfin + sudo systemctl enable --now jellyfin ``` - ```sh - sudo systemctl enable jellyfin - ``` - -5. Open jellyfin service with firewalld +5. Allow Jellyfin through the firewall: ```sh sudo firewall-cmd --permanent --add-service=jellyfin @@ -68,25 +64,20 @@ Fedora builds in RPM package format are available [here](/downloads/linux#fedora :::note - This will open the following ports - 8096 TCP used by default for HTTP traffic, you can change this in the dashboard - 8920 TCP used by default for HTTPS traffic, you can change this in the dashboard - 1900 UDP used for service auto-discovery, this is not configurable - 7359 UDP used for auto-discovery, this is not configurable - - ::: + This will open the following ports: -6. Reboot your machine + * `8096 TCP`, used by default for HTTP traffic; you can change this in the dashboard + * `8920 TCP`, used by default for HTTPS traffic; you can change this in the dashboard + * `1900 UDP`, used for service auto-discovery; this is not configurable + * `7359 UDP`, used for auto-discovery; this is not configurable - ```sh - sudo systemctl reboot - ``` + ::: -7. Go to `localhost:8096` or `ip-address-of-jellyfin-server:8096` to finish setup in the web UI +6. Go to `localhost:8096` or `ip-address-of-jellyfin-server:8096` to finish setup in the web UI ## CentOS -CentOS/RHEL 7 builds in RPM package format are available [here](/downloads/linux#fedora-centos) and an official CentOS/RHEL repository is planned for the future. +CentOS/RHEL 7 builds in RPM package format are available [in the main download repository](https://repo.jellyfin.org/releases/server/). We do not yet have an official CentOS/RHEL repository, but one is planned for the future. The default CentOS/RHEL repositories don't provide FFmpeg, which the RPM requires. You will need to add a third-party repository which provide FFmpeg, such as [RPM Fusion's Free repository](https://rpmfusion.org/Configuration). @@ -95,155 +86,47 @@ You can also build [Jellyfin's version](https://github.com/jellyfin/jellyfin-ffm This includes gathering the dependencies and compiling and installing them. Instructions can be found at [the FFmpeg wiki](https://trac.ffmpeg.org/wiki/CompilationGuide/Centos). -## Debian +The general process should follow the above Fedora instructions. -### Repository +## Debuntu (Debian, Ubuntu, and derivatives using `apt`) -The Jellyfin team provides a Debian repository for installation on Debian Buster, Bullseye and Bookworm. -Supported architectures are `amd64`, `arm64`, and `armhf`. +The Jellyfin team provides 3rd-party Debian and Ubuntu repositories, to help ensure your Jellyfin install is always kept up-to-date. -:::note - -Microsoft does not provide a .NET for 32-bit x86 Linux systems, and hence Jellyfin is **not** supported on the `i386` architecture. - -::: +### Repository (Automatic) -We provide an installer script to easily configure the Jellyfin APT repository. -All you need to do is run this command on your system: +To simplify deployment and help automate this for as many users as possible, we provide a BASH script to handle repo installation as well as installing Jellyfin. +All you need to do is run this command on your system (requires `curl`, or subsitute `curl` with `wget -O-`): ```sh curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash ``` -If you do not have `curl` installed, you can try `wget` instead: +:::note + +You can verify the script download integrity with (requires `sha256sum`): ```sh -wget -O- https://repo.jellyfin.org/install-debuntu.sh | sudo bash +diff <( curl -s https://repo.jellyfin.org/install-debuntu.sh -o install-debuntu.sh; sha256sum install-debuntu.sh ) <( curl -s https://repo.jellyfin.org/install-debuntu.sh.sha256sum ) ``` -If you don't trust the script or want to do everything manually, the full steps are as follows: - -1. Install `curl` and `gnupg` if you haven't already: - - ```sh - sudo apt install curl gnupg - ``` - -2. Download the GPG signing key (signed by the Jellyfin Team): - - ```sh - sudo mkdir -p /etc/apt/keyrings - curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg - ``` - -3. Add a repository configuration at `/etc/apt/sources.list.d/jellyfin.sources`: - - ```sh - cat < = [ {`curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash`}

- If you do not have curl installed, you can try wget instead: + If you do not have curl installed, you can use + wget -O- instead of + curl.

-
-              {`wget -O- https://repo.jellyfin.org/install-debuntu.sh | sudo bash`}
-            
-

For more advanced users, the full steps are:

-
-              
-                {`sudo apt install curl gnupg
-sudo mkdir /etc/apt/keyrings
-DISTRO="$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release )"
-CODENAME="$( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release )"
-curl -fsSL https://repo.jellyfin.org/\${DISTRO}/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg
-cat <
-            

- Note:: If you are running a non-Debian, non-Ubuntu derivative, ensure the $DISTRO and{' '} - $CODENAME are valid Debian or Ubuntu values! + For more advanced users, the full steps can be [found in the + docs](https://jellyfin.org/docs/general/installation/linux#debuntu).

Once installed, Jellyfin will be running as a service. Manage it with{' '}