Como Instalar Jellyfin usando Docker Compose

O Jellyfin é um servidor de mídia de código aberto que permite organizar, gerenciar e transmitir mídias digitais. Neste guia, vamos instalar o Jellyfin usando o Docker Compose. Ele é uma alternativa ao Emby e Plex proprietários, fornecendo mídia de um servidor dedicado para dispositivos de usuário final por meio de vários aplicativos.

O Jellyfin é descendente do lançamento 3.5.2 do Emby e foi portado para o framework .NET Core para permitir suporte completo entre plataformas.

Pré-requisitos

Certifique-se de que o Docker e o Docker Compose estejam instalados em seu sistema. Instalar Docker


Instalando Jellyfin Usando Docker Compose

Criando os Diretórios

Primeiramente crie os diretórios necessários para armazenar os dados de configuração, cache e mídia:

/mnt/
└── docker/
         └── jellyfin/
                 ├── config/
                 ├── cache/
                 ├── transcode/
                 ├── tvshows/
                 └── movies/
mkdir -p /mnt/docker/jellyfin/{config,cache,media,transcode,tvshows,movies/}


Criando o Arquivo Docker Compose

Crie um arquivo chamado docker-compose.yaml no diretório /mnt/docker/jellyfin com o seguinte conteúdo:

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    environment:
      - PUID=1000
      - PGID=100
      - TZ=America/Sao_Paulo
    group_add:
      - "106" # Mude para o seu "render" host group id
    network_mode: "host"
    volumes:
      - /mnt/docker/jellyfin/config:/config
      - /mnt/docker/jellyfin/cache:/cache
      - /mnt/docker/jellyfin/transcode:/transcode
      - /mnt/docker/jellyfin/tvseries:/data/tvshows
      - /mnt/docker/jellyfin//movies:/data/movies
    ports:
      - 8096:8096
    #  - 8920:8920 #optional
    #  - 7359:7359/udp #optional
    #  - 1900:1900/udp #optional
    restart: unless-stopped
    devices:
     - /dev/dri/renderD128:/dev/dri/renderD128

Entendendo o Arquivo Docker Compose

image: jellyfin/jellyfin:latest

Isso especifica a imagem Docker que será usada para criar o contêiner. Neste caso, é a última versão da imagem Jellyfin.

container_name: jellyfin

Isso define o nome do contêiner como “jellyfin”.

environment:

Define variáveis de ambiente para o contêiner. Neste caso, são definidos o ID do usuário (PUID), o ID do grupo (PGID) e o fuso horário (TZ) esse valores você precisa mudar conforme seu sistema para saber o numero do seu (PUID) e (PGID) digite no terminal do linux o comando id.

group_add:

Adiciona o contêiner ao grupo especificado.

network_mode: “host”:

Configura o contêiner para usar a rede do host.

volumes:

Esse parâmetro mapeia diretórios no host para diretórios no contêiner. Neste caso, vários diretórios estão sendo mapeados para armazenar configurações, cache, transcodificação e dados de mídia.

ports:

Isso mapeia portas no host para portas no contêiner. Neste caso, a porta 8096 no host é mapeada para a porta 8096 no contêiner.

restart: unless-stopped:

Configura o contêiner para reiniciar automaticamente a menos que seja explicitamente parado.

devices:

Mapeia dispositivos no host para dispositivos no contêiner. Neste caso, um dispositivo de renderização está sendo mapeado.


Habilitando a Transcodificação no Jellyfin

Este arquivo Docker Compose permite a ativação da transcodificação por meio da placa de vídeo integrada da Intel.

Para outras placas consulte mais informações em: Jellyfin Docs

Caso não tenha interesse em habilitar transcodificação pule para Iniciando o Contêiner Jellyfin.

Obtendo o GID do Grupo render

Digite o comando abaixo no terminal do linux

getent group render | cut -d: -f3

Anote o numero e substitua no arquivo docker compose logo abaixo de group_add:

Iniciando o Contêiner Jellyfin

Agora, inicie o container Jellyfin com o seguinte comando:

docker compose up -d

Acessar a Interface Web do Jellyfin

Finalmente, acesse a interface web do Jellyfin no seu navegador através do seguinte endereço:

http://localhost:8096


Configurações Iniciais

Inicialmente, é necessário criar um usuário e uma senha. Após essa etapa, você deve adicionar suas bibliotecas. Para isso, clique no sinal de “+” para iniciar o processo de adição de uma biblioteca de media. No campo “Tipo de conteúdo”, selecione a opção “Filmes” e, em seguida, escolha a pasta /data/movies. Para finalizar, confirme a operação clicando no botão “OK”. Repita o procedimento para a pasta /data/tvshows, selecionando desta vez “Séries” como o tipo de conteúdo.

Instalando Jellyfin usando Docker Compose

Testando a Aceleração de Hardware

Execute o comando abaixo para saber quais codecs sua placa suporta

docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/vainfo

Verifique o status do tempo de execução do OpenCL:

docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -v verbose -init_hw_device vaapi=va -init_hw_device opencl@va

Verifique se a execução ocorre sem erros. Se sim, então você deve ter suporte à transcodificação QSV. Se algum erro for apresentado, pode ser que sua placa não tenha suporte, nesse caso, você pode usar o método nativo VA-API.

Retorne ao Jellyfin, clique no ícone representado por três linhas horizontais, escolha a opção “Painel” e, em seguida, selecione “Reprodução”.

jellyfin

Em Aceleração de Hardware escolha VAAPI ou QSV(Quick Sync Video) salve as configurações

Para finalmente testar se a aceleração esta funcionando assista algum video e diminua a qualidade da images para forçar a transcodificação, enquanto o filme esta rodando abra o terminal do linux e instale o intel-gpu-tools

sudo apt update && sudo apt install -y intel-gpu-tools

depois de instalado rode o programa

sudo intel-gpu-tools

Verifique se estão trabalhando como imagem abaixo:

gpu tools


Conclusão

O Jellyfin se destaca por ser uma solução de mídia gratuita e de código aberto, que coloca a privacidade do usuário em primeiro lugar. Ao contrário de muitas outras opções de software de mídia, o Jellyfin não rastreia sua atividade nem vende seus dados. Além disso, sendo de código aberto, você tem a liberdade de personalizar e modificar o Jellyfin para atender às suas necessidades específicas. Agora é só aproveitar sua experiência com o Jellyfin!

Deixe um comentário