Skip to content
View in the app

A better way to browse. Learn more.

Mopar1973Man.Com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Installing JellyFin to use with Roku!

  • Owner

You can run your own Netflix-style media server at home with free software. This is how to set up Jellyfin in Docker on a Linux machine and watch your videos on a TV, a phone or any web browser.

Why Jellyfin

I wanted to play my own videos on the TV. Casting from my desktop browser found no devices, so I set up a media server instead. Jellyfin is free and open source, has no accounts or subscriptions, and keeps your videos on your own hardware. It also has apps for Roku, Android TV, Fire TV and more.

What you need

  • A Linux machine that stays on, such as an old PC or a small home server. These steps use Ubuntu.

  • Enough storage for your videos.

  • A TV or streaming stick that has a Jellyfin app.

  • Videos that you own or made yourself, such as home videos and your own backups.

Step 1: Install Docker

On Ubuntu, the quickest route is the packages in the standard repositories:

sudo apt update
sudo apt install docker.io docker-compose-v2
sudo usermod -aG docker $USER

Log out and back in so the group change takes effect. Then check it with docker --version.

Step 2: Make the folders

Keep your media and Jellyfin's settings in separate places:

sudo mkdir -p /srv/media/movies /srv/media/shows /srv/media/home-videos
sudo mkdir -p /srv/jellyfin/config /srv/jellyfin/cache
sudo chown -R $USER:$USER /srv/media /srv/jellyfin

Step 3: Create the compose file

Make a folder for the project and add a file called compose.yaml:

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    user: "1000:1000"
    ports:
      - "8096:8096"
    volumes:
      - /srv/jellyfin/config:/config
      - /srv/jellyfin/cache:/cache
      - /srv/media:/media:ro
    restart: unless-stopped

Run id -u and id -g and replace the 1000:1000 with your own numbers if they differ. The :ro on the media folder means Jellyfin can read your videos but can't change or delete them.

Step 4: Start it

docker compose up -d

Open a browser on any computer on your home network and go to http://YOUR-SERVER-ADDRESS:8096. The first-run wizard asks you to create an admin account. Use a strong password.

Step 5: Add your libraries

In the wizard, add a library for each folder: Movies from /media/movies, Shows from /media/shows, and Home Videos from /media/home-videos. Let Jellyfin scan them.

Name your files so Jellyfin understands them

movies/Movie Name (2020)/Movie Name (2020).mkv
shows/Show Name/Season 01/Show Name S01E01.mkv

Good names are what let Jellyfin find posters and descriptions on its own.

Watch it on your TV

Install the Jellyfin app on your streaming stick or smart TV. It should find the server on your network, or you can type the address in. Sign in with the account you made.

Tips

  • Direct play is easier on weak hardware. If your server has no graphics card, video that your TV can play directly won't need converting. Common formats like H.264 work well.

  • Back up the settings folder. The config folder holds your libraries and watch history.

  • Keep it off the internet. Don't open the Jellyfin port on your router. If you want to watch away from home, use a VPN to reach your network instead.

If something doesn't work

  • The TV can't find the server. Make sure both are on the same network, and type the server's address in by hand.

  • The page won't load. Run docker ps to see that the container is running, and check the firewall. On Ubuntu with ufw, you can allow your home network to reach port 8096.

  • Libraries look empty. Check the folder permissions with ls -l /srv/media, and make sure the user in the compose file matches the owner of the folders.

  • Video stutters. Check whether the player is converting the video instead of playing it directly. Jellyfin's dashboard shows this.

Questions?

If you get stuck, post in the Linux or Servers and Security forum and tell me your distro and what you see.

  • Views 33
  • Created
  • Last Reply

Featured Replies

No posts to show

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.