I have tried to install Emby directly from the Arch package repositories, but for whatever reason, permissions for the emby service user were not allowing emby to access the media file locations. Now that I have used it a little bit, Docker seems to be the best, and easiest way, to get Emby up and running reliably. Below is my experience running through the emby installation process. Most of it comes from the GitHub tutorial, but I've added my take and what I've done to resolve certain issues.
Note: The following install was done on an Arch Linux box, running the most recent kernel, which at the time was 4.3.3.-2-ARCH.
You can get he full GitHub installation guide from here
First, make sure that you have a working Docker instance:
sudo pacman -S docker
Now, start the docker service:
sudo systemctl enable docker sudo systemctl start docker
Your docker container should now be running, and it should startup after each reboot of your system. To Check that the service is running, use the following command
sudo systemctl status docker
If docker is running, your should see something like:
$ sudo docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 1.11.2 Storage Driver: devicemapper Pool Name: docker-254:0-1183049-pool Pool Blocksize: 65.54 kB Base Device Size: 10.74 GB Backing Filesystem: xfs Data file: /dev/loop0 Metadata file: /dev/loop1 Data Space Used: 11.8 MB Data Space Total: 107.4 GB Data Space Available: 26.73 GB Metadata Space Used: 581.6 kB Metadata Space Total: 2.147 GB Metadata Space Available: 2.147 GB Udev Sync Supported: true Deferred Removal Enabled: false Deferred Deletion Enabled: false Deferred Deleted Device Count: 0 Data loop file: /var/lib/docker/devicemapper/devicemapper/data WARNING: Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning. Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata Library Version: 1.02.125 (2016-05-14) Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: host bridge null Kernel Version: 4.5.4-1-ARCH Operating System: Arch Linux OSType: linux Architecture: x86_64 CPUs: 4 Total Memory: 7.694 GiB Name: localhost ID: EW2B:GJAH:4W3I:PX4B:7X7T:QSM2:RNR5:AIHS:PCWU:5WLG:GCM4:TCKL Docker Root Dir: /var/lib/docker Debug mode (client): false Debug mode (server): false Registry: https://index.docker.io/v1/
If you have trouble starting the docker service, try rebooting your system and then try starting the service again.
Lastly, make sure that the user that will be installing the emby Docker package is also able to run the docker command.
Emby Docker Hub Installation:
Start the installation
sudo docker run -it --rm -v /usr/local/bin:/target emby/embyserver instl
Install the Emby service
sudo docker run -it --rm -v /usr/local/bin:/target emby/embyserver instl service
Enable the Emby service
sudo systemctl enable embay-server
Emby Server Setup
Run the following command into your terminal window:
The first time your run the above command, you will be prompted to input the locations where Emby can find your media. For example: /home/username/Music or /home/username/MediaStorageDevice.
Once Emby is able to access your media files, it will be able to handle the rest.
Accessing the Server
Now that the backend is all set, all you have to do is open a browser and enter localhost:8096 into the address bar. It should bring you to the setup page for Emby, and the prompts should be easy enough to follow.
Emby can be updated by restarting the emby service
sudo systemctl restart emby-server
sudo docker exec emby-server update