Jellyfin: Open-Source Media Streaming Server

18-08-2024 - 1 minute, 57 seconds -
documentation media jellyfin streaming

Setting Up Jellyfin with Docker

Introduction

Jellyfin is a free, open-source media server software that allows you to manage and stream your media files across devices. This guide walks you through setting up Jellyfin using Docker, with a focus on integrating your media stored on a network-attached storage (NAS) using SMB/CIFS shares.

Prerequisites

Before proceeding, make sure you have the following:

  • Docker installed on your system.
  • Network Share (NAS) configured with SMB/CIFS access.
  • Jellyfin Image: The official Docker image for Jellyfin.

Setting Up Jellyfin with Docker

Start by creating the docker-compose.yml file with the following configuration:

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: "jellyfin"
    ports:
      - 8096:8096
    volumes:
      - ./config:/config
      - ./cache:/cache
      - nas-share:/media:ro
    restart: unless-stopped

volumes:
  nas-share:
    driver_opts:
      type: cifs
      o: "username=administrator,password=********"
      device: "//2k22-host/bucket/documents/"

Note: Sensitive data such as passwords have been masked for security.

Explanation of Configuration

  • Ports: Jellyfin runs on port 8096 by default.
  • Volumes: The configuration and cache directories are mapped to local directories. The media files are accessed via an SMB/CIFS share, mounted using the cifs driver.
  • driver_opts: These options configure the SMB/CIFS share. Make sure to replace the device path and credentials with your actual NAS share details.

Running Jellyfin

To start Jellyfin, run the following command:

docker-compose up -d

This will spin up the Jellyfin container and make your media server available on the configured port.

Accessing Jellyfin

Once the container is running, you can access Jellyfin by navigating to http://<your-ip>:8096 in your web browser. You'll be prompted to complete the initial setup, where you can configure your media libraries and other settings.

Working with SMB/CIFS Shares

To ensure Jellyfin has access to your media files on the NAS, make sure the SMB/CIFS share is properly configured and accessible from the Docker container. The following resources may help with troubleshooting and additional setup:

Resources and References

Conclusion

By following this guide, you have set up a Jellyfin media server using Docker, allowing you to stream your media files across devices. The configuration leverages SMB/CIFS shares for easy access to media stored on a NAS. For future expansion, consider integrating Jellyfin with other media services or exploring additional plugins and customization options.