Emby Media Server Installation | Streaming Setup for Linux

Image of engineers installing Emby on Linux in an IOFLOOD datacenter to enhance media server capabilities

Installing Emby on Linux servers at IOFLOOD is a strategic step towards creating a powerful and customizable media server solution. Emby is an open-source media server software that allows users to organize, stream, and access their media files from various devices. This guide aims to provide a concise yet comprehensive tutorial on installing Emby on Linux, empowering our dedicated server customers and fellow developers to set up a feature-rich media server environment and enjoy seamless media streaming.

In this guide, we will navigate the process of installing Emby on your Linux system. We will provide you with installation instructions for both APT and YUM-based distributions, delve into compiling Emby from the source, and installing a specific version. Finally, we will show you how to use Emby and verify that the correct version is installed.

So, let’s dive in and begin installing Emby on your Linux system!

TL;DR: How Do I Install Emby on Linux?

You can install Emby on Linux by running the command sudo apt-get install emby-server. Once installed, you can access Emby through your web browser at http://localhost:8096.

sudo apt-get update
sudo apt-get install emby-server

# Output:
# 'Reading package lists... Done'
# 'Building dependency tree'
# 'Reading state information... Done'
# 'The following additional packages will be installed:'
# '  emby-server'
# '0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.'
# 'Need to get 0 B/100 MB of archives.'
# 'After this operation, 0 B of additional disk space will be used.'
# 'Selecting previously unselected package emby-server.'
# '(Reading database ... 130812 files and directories currently installed.)'
# 'Preparing to unpack .../emby-server_4.6.4.0_amd64.deb ...'
# 'Unpacking emby-server (4.6.4.0) ...'
# 'Setting up emby-server (4.6.4.0) ...'
# 'Processing triggers for systemd (245.4-4ubuntu3.11) ...'

This command updates your package lists, then installs Emby Server. Once the installation is complete, you can access Emby Server by opening your web browser and navigating to http://localhost:8096.

This is a basic way to install Emby on Linux, but there’s much more to learn about installing and using Emby. Continue reading for more detailed information and advanced usage scenarios.

Getting Started with Emby on Linux

Emby is a media server designed to organize, play, and stream audio and video to a variety of devices. Emby’s source code is mostly open with some closed-source components as of August 2017, releases being source code releases are published under GPL. If you’re a music or movie enthusiast looking for a way to stream your media collection across your devices, Emby is a great tool to have in your arsenal.

In this section, we’ll walk you through the process of installing Emby on your Linux system using different package managers. Remember, the package manager you use depends on the Linux distribution you’re running.

Installing Emby with APT on Debian and Ubuntu

If you’re using a Debian-based distribution like Ubuntu, you’ll use the APT package manager to install Emby. Here’s how to do it:

sudo apt-get update
sudo apt-get install emby-server

# Output:
# 'Reading package lists... Done'
# 'Building dependency tree'
# 'Reading state information... Done'
# 'The following additional packages will be installed:'
# '  emby-server'
# '0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.'
# 'Need to get 0 B/100 MB of archives.'
# 'After this operation, 0 B of additional disk space will be used.'
# 'Selecting previously unselected package emby-server.'
# '(Reading database ... 130812 files and directories currently installed.)'
# 'Preparing to unpack .../emby-server_4.6.4.0_amd64.deb ...'
# 'Unpacking emby-server (4.6.4.0) ...'
# 'Setting up emby-server (4.6.4.0) ...'
# 'Processing triggers for systemd (245.4-4ubuntu3.11) ...'

The sudo apt-get update command updates your package lists, then sudo apt-get install emby-server installs Emby Server on your system. You should see a message indicating that the installation was successful.

Installing Emby with YUM on CentOS and AlmaLinux

For those using CentOS, AlmaLinux or any other Linux distribution that uses the YUM package manager, the installation command is slightly different. Here’s how you can install Emby using YUM:

sudo yum update
sudo yum install emby-server

# Output:
# 'Loaded plugins: fastestmirror, langpacks'
# 'Loading mirror speeds from cached hostfile'
# 'Resolving Dependencies'
# '--> Running transaction check'
# '--> Package emby-server.x86_64 0:4.6.4.0-1 will be installed'
# '--> Finished Dependency Resolution'
# 'Dependencies Resolved'
# '================================================================================'
# ' Package            Arch        Version         Repository                Size'
# '================================================================================'
# 'Installing:'
# ' emby-server        x86_64      4.6.4.0-1       epel                     100 M'
# 'Transaction Summary'
# '================================================================================'
# 'Install  1 Package'
# 'Total download size: 100 M'
# 'Installed size: 100 M'
# 'Downloading packages:'
# 'Running transaction check'
# 'Running transaction test'
# 'Transaction test succeeded'
# 'Running transaction'
# '  Installing : emby-server-4.6.4.0-1.x86_64                             1/1 '
# '  Verifying  : emby-server-4.6.4.0-1.x86_64                             1/1 '
# 'Installed:'
# '  emby-server.x86_64 0:4.6.4.0-1                                                '
# 'Complete!'

The sudo yum update command updates your package lists, and sudo yum install emby-server installs Emby Server. After running these commands, Emby should be installed on your system.

Installing Emby from Source Code

If you prefer to install Emby from the source code, you can clone the Emby repository and compile it yourself. Here’s how you can do it:

git clone https://github.com/MediaBrowser/Emby.git

# Output:
# Cloning into 'Emby'...
# remote: Enumerating objects: 258, done.
# remote: Counting objects: 100% (258/258), done.
# remote: Compressing objects: 100% (176/176), done.
# remote: Total 258 (delta 124), reused 163 (delta 74), pack-reused 0
# Receiving objects: 100% (258/258), 103.64 KiB | 2.59 MiB/s, done.
# Resolving deltas: 100% (124/124), done.

cd Emby
./build.sh

# Output:
# Building Emby
# ...
# Build completed successfully

This will clone the Emby repository to your local system and build Emby from the source code. The ./build.sh script compiles the code and builds the Emby server.

Installing Different Versions of Emby

There may be situations where you need to install a specific version of Emby. This could be due to compatibility issues, or you might want to use a feature that’s only available in a specific version.

Installing Specific Versions from Source

To install a specific version from source, you need to check out the corresponding tag in the Git repository. Here’s an example:

git clone https://github.com/MediaBrowser/Emby.git
cd Emby
git checkout tags/4.6.4.0
./build.sh

# Output:
# Switched to a new branch 'tags/4.6.4.0'
# Building Emby
# ...
# Build completed successfully

This will build the specific version 4.6.4.0 of Emby.

Installing Specific Versions with APT and YUM

You can also install specific versions of Emby using package managers like APT and YUM. Here’s how you can do it:

# For APT
sudo apt-get install emby-server=4.6.4.0

# For YUM
sudo yum install emby-server-4.6.4.0

These commands will install the specific version 4.6.4.0 of Emby.

Version Comparison

Different versions of Emby have different features and compatibilities. Here’s a comparison of some of the key features/changes in the recent versions:

VersionKey Features/Changes
4.6.4.0Added support for HDR10+ and Dolby Vision, improved transcoding
4.5.0.0Added support for hardware-accelerated encoding on AMD GPUs
4.4.3.0Improved HDR tone mapping, added support for more subtitle formats

Using Emby and Verifying Installation

How to Use Emby

Once Emby is installed, you can start using it to organize and stream your media. Here’s a basic example of how to add a media library to Emby:

# Navigate to Emby's web interface
http://localhost:8096

# Follow the on-screen instructions to set up your media library

Verifying Emby Installation

You can verify that Emby is installed and running correctly by checking the service status:

systemctl status emby-server

# Output:
# ● emby-server.service - Emby Server is a personal media server with apps on just about every device.
#    Loaded: loaded (/usr/lib/systemd/system/emby-server.service; enabled; vendor preset: enabled)
#    Active: active (running) since Tue 2022-07-12 15:30:13 UTC; 1min 53s ago
#  Main PID: 2468 (EmbyServer)
#     Tasks: 23 (limit: 4915)
#    CGroup: /system.slice/emby-server.service
#            └─2468 /opt/emby-server/system/EmbyServer -programdata /var/lib/emby -ffdetect /opt/emby-server/bin/ffdetect -ffmpeg /opt/emby-server/bin/ffmpeg -ffprobe /opt/emby-server/bin/ffprobe -restartexitcode 3 -updatepackage emby-server-deb_{version}_amd64.deb

This command checks the status of the Emby server. If it’s running correctly, you should see ‘active (running)’ in the output.

Exploring Alternative Media Servers

While Emby is a powerful and flexible media server, it’s not the only option available. There are other media servers like Plex and Jellyfin that you might want to consider. Let’s explore these alternatives and see how they compare to Emby.

Plex: A Robust Media Server

Plex is another popular media server that organizes your video, music, and photo collections and lets you stream them to all of your devices. It’s easy to install and has a user-friendly interface.

Here’s how you can install Plex on Ubuntu:

sudo apt-get update
sudo apt-get install plexmediaserver

# Output:
# 'Reading package lists... Done'
# 'Building dependency tree'
# 'Reading state information... Done'
# 'The following additional packages will be installed:'
# '  plexmediaserver'
# '0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.'
# 'Need to get 0 B/100 MB of archives.'
# 'After this operation, 0 B of additional disk space will be used.'
# 'Selecting previously unselected package plexmediaserver.'
# '(Reading database ... 130812 files and directories currently installed.)'
# 'Preparing to unpack .../plexmediaserver_1.25.2.5319-c43dc0277_amd64.deb ...'
# 'Unpacking plexmediaserver (1.25.2.5319-c43dc0277) ...'
# 'Setting up plexmediaserver (1.25.2.5319-c43dc0277) ...'
# 'Processing triggers for systemd (245.4-4ubuntu3.11) ...'

This command updates your package lists, then installs Plex Media Server. Once the installation is complete, you can access Plex Media Server by opening your web browser and navigating to http://localhost:32400/web.

Plex offers a premium subscription called Plex Pass, which provides additional features like live TV and DVR, mobile sync, and premium music features. However, the free version of Plex is quite capable and might be sufficient for most users.

Jellyfin: A Fully Open Source Alternative

Jellyfin is a free and open-source media server. It’s a fork of Emby and offers all of its features without any of the premium tier restrictions imposed by Emby. Here’s how you can install Jellyfin on Ubuntu:

sudo apt update
sudo apt install jellyfin

# Output:
# 'Reading package lists... Done'
# 'Building dependency tree'
# 'Reading state information... Done'
# 'The following additional packages will be installed:'
# '  jellyfin'
# '0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.'
# 'Need to get 0 B/100 MB of archives.'
# 'After this operation, 0 B of additional disk space will be used.'
# 'Selecting previously unselected package jellyfin.'
# '(Reading database ... 130812 files and directories currently installed.)'
# 'Preparing to unpack .../jellyfin_10.7.7-1_amd64.deb ...'
# 'Unpacking jellyfin (10.7.7-1) ...'
# 'Setting up jellyfin (10.7.7-1) ...'
# 'Processing triggers for systemd (245.4-4ubuntu3.11) ...'

This command updates your package lists, then installs Jellyfin. Once the installation is complete, you can access Jellyfin by opening your web browser and navigating to http://localhost:8096.

Jellyfin is completely free and open-source. It doesn’t have any premium tiers or features locked behind a paywall. This makes Jellyfin a great choice for users who want a fully open-source media server.

Comparison of Emby, Plex, and Jellyfin

Here’s a comparison of Emby, Plex, and Jellyfin based on their features and user experience:

FeatureEmbyPlexJellyfin
Open SourcePartiallyNoYes
Premium TierYesYesNo
Live TV and DVRPremiumPremiumYes
Mobile SyncPremiumPremiumYes
Hardware TranscodingPremiumPremiumYes

While all three media servers offer similar core features, the availability of certain features can vary depending on whether you’re using the free or premium version. Your choice between Emby, Plex, and Jellyfin would depend on your specific needs and preferences.

Troubleshooting Emby Installations

Despite our best efforts, we might encounter issues during the installation or use of Emby on Linux. Let’s explore some common problems and their solutions.

Emby Server Not Starting

After installing Emby, you might find that the server isn’t starting. You can check the status of the Emby server using the following command:

systemctl status emby-server

# Output:
# ● emby-server.service - Emby Server is a personal media server with apps on just about every device.
#    Loaded: loaded (/usr/lib/systemd/system/emby-server.service; enabled; vendor preset: enabled)
#    Active: inactive (dead) since Tue 2022-07-12 15:30:13 UTC; 1min 53s ago
#  Main PID: 2468 (code=exited, status=0/SUCCESS)

If the output shows ‘inactive (dead)’, the Emby server is not running. You can start the Emby server using the following command:

sudo systemctl start emby-server

# Output:
# No output means the command was successful

This command starts the Emby server. You can check the status again to confirm that the server is running.

Access Denied Error

While installing Emby, you might encounter an ‘Access Denied’ error. This can occur if you’re not running the command as a superuser. You can solve this by using ‘sudo’ before your command, which gives you superuser privileges.

sudo apt-get install emby-server

# Output:
# 'Reading package lists... Done'
# 'Building dependency tree'
# 'Reading state information... Done'
# 'The following additional packages will be installed:'
# '  emby-server'
# '0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.'
# 'Need to get 0 B/100 MB of archives.'
# 'After this operation, 0 B of additional disk space will be used.'
# 'Selecting previously unselected package emby-server.'
# '(Reading database ... 130812 files and directories currently installed.)'
# 'Preparing to unpack .../emby-server_4.6.4.0_amd64.deb ...'
# 'Unpacking emby-server (4.6.4.0) ...'
# 'Setting up emby-server (4.6.4.0) ...'
# 'Processing triggers for systemd (245.4-4ubuntu3.11) ...'

This command runs the installation with superuser privileges, which should bypass the ‘Access Denied’ error.

Emby Not Accessible on Port 8096

After installing Emby, you might find that you can’t access the server on port 8096. This could be due to a firewall blocking the port. You can open the port using the following command:

sudo ufw allow 8096

# Output:
# 'Rules updated'
# 'Rules updated (v6)'

This command opens port 8096 in the firewall, which should allow you to access the Emby server.

Remember, troubleshooting is a normal part of the process. Don’t be discouraged if you encounter issues. With a bit of patience and persistence, you’ll have Emby up and running on your Linux system.

Understanding Media Servers in Linux

Before we dive deeper into the specifics of Emby, it’s crucial to understand what a media server is and why it’s beneficial, especially in a Linux environment.

What is a Media Server?

A media server is a device or software that stores and organizes multimedia content—like music, movies, and photos—and makes it accessible to other devices on the same network. These servers use standard network protocols like HTTP and UPnP to stream the media content to client devices.

The Role of Media Servers in Linux

Media servers play a crucial role in Linux environments, especially in home networks. They allow for centralized storage and streaming of media content, which can be accessed by any device connected to the network. This means you can watch a movie on your TV, listen to music on your smartphone, or view photos on your laptop, all stored and streamed from the media server running on your Linux system.

Emby: A Powerful Media Server for Linux

Emby is a popular media server choice for Linux users. It’s designed to organize, play, and stream audio and video to a variety of devices. Emby’s source code is mostly open with some closed-source components, and it offers a range of features that make it a versatile and powerful media server solution.

Emby’s System Requirements

Before installing Emby, it’s important to ensure your Linux system meets the minimum requirements. Emby requires a 64-bit architecture, 2 GB of RAM (4 GB recommended), and at least 20 GB of storage. Here’s how you can check your system’s architecture and memory:

uname -m
free -h

# Output:
# 'x86_64'
#               total        used        free      shared  buff/cache   available
# Mem:           7.7Gi       1.1Gi       6.0Gi       128Mi       611Mi       6.3Gi
# Swap:          2.0Gi          0B       2.0Gi

The uname -m command checks your system’s architecture, and free -h checks your system’s memory. The output should show ‘x86_64’ for the architecture and at least 2 GB of total memory.

Understanding these fundamentals provides a solid foundation for exploring and mastering Emby’s capabilities on your Linux system.

Additional Uses of Media Servers

Media servers like Emby have drastically changed the way we consume media. They allow us to store all our media in one place and access it from any device on our home network. This convenience has made media servers an integral part of home networking and streaming.

Network Storage: The Backbone of Media Streaming

Network storage is a crucial concept in media streaming. It’s the technology that allows media servers to store and serve media files. By understanding network storage, you can optimize your media server setup for better performance and reliability.

Transcoding: Bridging the Compatibility Gap

Transcoding is another important concept in media streaming. It’s the process of converting media files from one format to another. Media servers like Emby use transcoding to ensure that media files are compatible with the device they’re being streamed to. Understanding transcoding can help you troubleshoot playback issues and improve streaming quality.

Further Resources for Mastering Emby and Media Servers

To deepen your understanding of Emby and media servers, you might find these resources helpful:

Wrapping Up: Emby Setup on Linux

In this comprehensive guide, we’ve delved into the process of installing and using Emby, a powerful media server, on Linux systems. We’ve explored the benefits of having a media server at home and how Emby fits into that picture.

We started with the basics, illustrating how to install Emby on Linux using the command line and package managers like APT and YUM. We then delved into more advanced usage, such as installing Emby from source and using different versions of Emby. We also provided a detailed guide on how to use Emby, add a media library, and verify the installation.

Along the way, we tackled common issues you might encounter when installing or using Emby on Linux, such as the server not starting, access denied errors, and port accessibility issues. We provided solutions for each of these problems, equipping you with the knowledge to troubleshoot and overcome these challenges.

We also explored alternative media servers like Plex and Jellyfin, providing a comparison to help you understand the broader landscape of media servers. Here’s a quick comparison of these media servers:

Media ServerOpen SourcePremium TierEase of Use
EmbyPartiallyYesHigh
PlexNoYesHigh
JellyfinYesNoModerate

Whether you’re just starting out with Emby or looking to deepen your understanding, we hope this guide has been a valuable resource. The ability to set up and manage your own media server is a powerful skill, providing you with an organized, accessible, and personal media library.

With this guide, you’re well equipped to install Emby on Linux and navigate any challenges that come your way. Happy streaming!