Setting up Emby server on Linux

If you have an old laptop lying around, just like mine and want to repurpose it as a media server for streaming movies, songs, etc. then read up.

Emby

Emby is a media server designed to organize, play and stream media content like audio, movies, etc. It has a web-based client interface for streaming content and managing server. Emby clients exist for many platforms, including, but not limited to, Android, IOS, Android TV and Chromecast. Emby’s source code is mostly open with some closed-source components. Emby server can be installed on all major platforms like Linux, Windows, Mac, NAS devices, Docker.

Installation

Installing Emby server

Setup

  • If using Arch start and enable emby-server.service on your machine.

    • sudo systemctl start emby-server.service
    • sudo systemctl enable emby-server.service
  • Assign static local IP to the machine where you will installed emby server. This process is different for different routers. You can search it on Google or find it in your router’s manual or fiddle around in settings like I did.
    It was under Setup > Local Network > DHCP Server on my router D-Link DSL-224.

  • Create a folder to store your media files, like

    • mkdir /home/emby
  • Emby runs under the user and user group emby(emby:emby). To provide Emby access to your media library, change owner to user emby and group to group emby.

    • sudo chown -R emby /home/emby
    • sudo chgrp -R emby /home/emby
  • Change permissions so that anyone in group emby can read and write files into your media library.

    • sudo chmod g+rwx /home/emby
  • Verify the above, using ls -la /home
    Refer this for understanding ls output.

  • Add your current user to the emby group so that you can write files into your media library.

    • sudo usermod -a -G emby $(whoami)
    • Verify using getent group emby
      You should see user emby and your current user as a part of the emby group.
  • Copy some movies to your media library.

  • Emby server listens on port 8096 by default.

    • If you have GUI go to http://localhost:8096
    • If you have a command line interface, find your server’s local IP address and create an ssh tunnel to your server.
      • ssh -L 8096:localhost:8096 asus@192.168.1.21, where asus is server’s username and 192.168.1.21 is my server’s local IP.
      • Now go to http://localhost:8096
  • Follow the onscreen instructions to setup emby.

  • When the setup wizard asks you to add media library, select the content type and display name.

  • Click on the + icon next to Folders option. Then specify your media library path in folder option, which is /home/emby in our case and click OK.

  • Complete the setup wizard.

  • Now go SERVER_LOCAL_IP:8096, 192.168.1.21:8096 in my case, from your web browser to stream your movies/media. You can also download Android or iOS client for emby to stream your media content.

  • Peace ✌️