Blog

A pilha *arr com Jellyfin e Plex: Sonarr, Radarr, Prowlarr, Bazarr, Seerr

Como o Sonarr, Radarr, Lidarr, Prowlarr, Bazarr e Seerr trabalham com o Jellyfin ou o Plex: diagrama UML, o papel de cada ferramenta, um único Docker Compose, hard links e transcodificação por GPU numa Intel UHD 770.

A pilha *arr com Jellyfin e Plex: como tudo encaixa

O nosso guia de transcodificação por hardware com Jellyfin e Plex trata do servidor multimédia em si. À sua volta, a maioria de quem faz self-hosting usa uma família de ferramentas cujo nome termina em arr: organizam a biblioteca, renomeiam ficheiros, obtêm legendas e deixam a sua casa pedir títulos. Esta página lembra brevemente quem faz o quê e como comunicam entre si.

Importante: não incentivamos o download de conteúdos sobre os quais não tem direitos. Estas ferramentas são neutras; o que lhes dá é da sua responsabilidade. Nos servidores Linux GPU, descarregar, guardar ou partilhar obras pirateadas (BitTorrent, Usenet, IPTV ilegal…) é proibido pelo artigo 6 dos nossos termos e leva à suspensão. Use-as com os seus próprios ficheiros (as suas cópias, a sua música), obras do domínio público (Internet Archive, Wikimedia Commons) e licenças livres (filmes abertos da Blender Foundation, música Creative Commons).

O diagrama

Diagrama de componentes UML: pede um título no Seerr; o Sonarr, Radarr ou Lidarr pesquisa através do Prowlarr; o cliente de download escreve em /data/downloads; a app *arr importa para /data/media com um hard link; o Bazarr adiciona legendas; o Jellyfin ou o Plex atualiza a biblioteca, transcodifica na Intel UHD 770 e transmite para os seus dispositivos

  1. Você (ou alguém da sua casa) pede um filme ou uma série no Seerr.
  2. O Seerr passa o pedido ao Radarr (filmes) ou ao Sonarr (séries).
  3. A app *arr pesquisa nas fontes configuradas no Prowlarr.
  4. Envia o item escolhido para o cliente de download.
  5. O ficheiro chega a /data/downloads/.
  6. A app *arr importa-o: renomeia-o e coloca-o em /data/media/ com um hard link (instantâneo, sem espaço extra).
  7. Avisa o Jellyfin ou o Plex para atualizar a biblioteca; o Bazarr junta as legendas em falta ao lado do vídeo.
  8. O Jellyfin ou o Plex lê /data/media/.
  9. Quando um dispositivo não consegue reproduzir o formato original, o servidor transcodifica na GPU (VAAPI / Quick Sync).
  10. O vídeo é transmitido para a TV, o telemóvel ou o browser.

Sem cliente de download? A pilha funciona na mesma: coloque os seus próprios ficheiros numa pasta e use a importação manual (Manual Import) do Sonarr, Radarr ou Lidarr para os renomear e arrumar.

Quem faz o quê

FerramentaPapelPorta por omissão
Jellyfin / PlexServidor multimédia: biblioteca, metadados, streaming, transcodificação por GPU8096 / 32400
SonarrSéries: acompanha os episódios, importa-os e renomeia-os8989
RadarrFilmes: o mesmo trabalho para filmes7878
LidarrMúsica: álbuns e artistas, ideal para os seus CD8686
ProwlarrGere as fontes (indexadores) uma só vez e sincroniza-as com as apps *arr9696
BazarrLegendas para tudo o que o Sonarr e o Radarr gerem6767
SeerrPortal de pedidos para a sua casa, para Jellyfin, Plex e Emby5055

O Seerr é a fusão do Overseerr (Plex) e do Jellyseerr (Jellyfin): as duas equipas juntaram-se e lançaram o Seerr 3.0 em fevereiro de 2026 (ghcr.io/seerr-team/seerr). As imagens do Overseerr estão obsoletas; se ainda usa o Overseerr ou o Jellyseerr, migre para o Seerr com uma pasta de dados nova, para manter a antiga como recurso.

O Readarr (livros) foi abandonado pelos seus programadores em 2025 e o repositório está arquivado: para livros e audiolivros, veja antes o Audiobookshelf ou o LazyLibrarian.

As ferramentas que costumam acompanhar

FerramentaO que acrescenta
RecyclarrSincroniza perfis de qualidade e regras de nomes reconhecidos (TRaSH Guides) no Sonarr e no Radarr
UnpackerrDescomprime arquivos para que o Sonarr / Radarr os possam importar
TdarrRecodifica a biblioteca em massa (por exemplo para HEVC); pode usar a GPU Intel com VAAPI / QSV
Tautulli (Plex) / Jellystat (Jellyfin)Estatísticas de reprodução, quem viu o quê, notificações
KometaColeções, cartazes e overlays para o Plex (e em parte o Jellyfin)
MaintainerrRegras para limpar o que ninguém vê
WizarrLinks de convite para dar acesso ao Jellyfin ou ao Plex
AudiobookshelfServidor de audiolivros e podcasts
HomepageUm painel com todos os serviços e o seu estado

Um único ficheiro Docker Compose

Todas as apps partilham uma única pasta /data com downloads/ e media/ lá dentro. Tem de ser o mesmo sistema de ficheiros para todos os contentores; caso contrário, os hard links tornam-se cópias lentas que duplicam o espaço usado.

mkdir -p /srv/data/{downloads,media/{movies,tv,music}} /srv/arr
cd /srv/arr

docker-compose.yml:

x-common: &common
  restart: unless-stopped
  environment:
    PUID: "1000"
    PGID: "1000"
    TZ: Europe/Lisbon
  volumes:
    - /srv/data:/data

services:
  sonarr:
    <<: *common
    image: lscr.io/linuxserver/sonarr:latest
    volumes: [/srv/data:/data, ./sonarr:/config]
    ports: ["127.0.0.1:8989:8989"]

  radarr:
    <<: *common
    image: lscr.io/linuxserver/radarr:latest
    volumes: [/srv/data:/data, ./radarr:/config]
    ports: ["127.0.0.1:7878:7878"]

  lidarr:
    <<: *common
    image: lscr.io/linuxserver/lidarr:latest
    volumes: [/srv/data:/data, ./lidarr:/config]
    ports: ["127.0.0.1:8686:8686"]

  prowlarr:
    <<: *common
    image: lscr.io/linuxserver/prowlarr:latest
    volumes: [./prowlarr:/config]
    ports: ["127.0.0.1:9696:9696"]

  bazarr:
    <<: *common
    image: lscr.io/linuxserver/bazarr:latest
    volumes: [/srv/data:/data, ./bazarr:/config]
    ports: ["127.0.0.1:6767:6767"]

  seerr:
    image: ghcr.io/seerr-team/seerr:latest
    init: true
    restart: unless-stopped
    environment:
      TZ: Europe/Lisbon
    volumes: [./seerr:/app/config]
    ports: ["5055:5055"]

  jellyfin:                      # ou o serviço plex abaixo
    image: jellyfin/jellyfin:latest
    restart: unless-stopped
    devices: [/dev/dri/renderD128:/dev/dri/renderD128]
    group_add: ["${RENDER_GID}"]
    volumes: [./jellyfin:/config, /srv/data/media:/data/media:ro]
    ports: ["8096:8096"]

  # plex:
  #   image: plexinc/pms-docker:latest
  #   restart: unless-stopped
  #   network_mode: host
  #   devices: [/dev/dri:/dev/dri]
  #   volumes: [./plex:/config, /srv/data/media:/data/media:ro]
echo "RENDER_GID=$(stat -c %g /dev/dri/renderD128)" > .env
docker compose up -d

Acrescente ao mesmo ficheiro o cliente de download que preferir, com /srv/data:/data como volume e /data/downloads como pasta de destino, apenas para fontes legais.

Ligar as apps entre si

  1. Prowlarr → Settings → Apps: adicione o Sonarr, o Radarr e o Lidarr com a respetiva chave API (em Settings → General de cada app). O Prowlarr envia-lhes depois as mesmas fontes.
  2. Sonarr / Radarr / Lidarr → Settings → Media Management: pastas raiz /data/media/tv, /data/media/movies, /data/media/music; deixe Use Hardlinks instead of Copy ativado.
  3. Sonarr / Radarr → Settings → Connect: adicione Emby / Jellyfin ou Plex Media Server para a biblioteca ser atualizada após cada importação.
  4. Bazarr → Settings → Sonarr / Radarr: as mesmas chaves API; depois escolha os idiomas e os fornecedores de legendas.
  5. Seerr: o assistente inicial pede o Jellyfin ou o Plex; depois, em Settings → Services, adicione o Radarr e o Sonarr.
  6. Jellyfin ou Plex: bibliotecas em /data/media/... e transcodificação por GPU como no nosso guia.

Segurança

  • Só o Jellyfin/Plex e o Seerr precisam de estar acessíveis. As outras apps escutam em 127.0.0.1: abra-as por um túnel SSH (ssh -L 8989:localhost:8989 support@o-seu-servidor) ou atrás de um reverse proxy com autenticação.
  • Ative a autenticação em cada app *arr (Settings → General → Authentication).
  • Mantenha a pasta media só de leitura para o servidor multimédia (:ro acima).

Armazenamento

Os planos têm 60 GB (Start), 120 GB (Power) ou 240 GB SSD (Pro). É mais do que suficiente para as apps e uma biblioteca de música ou vídeos pessoais; para uma grande coleção de filmes, planeie o tamanho do disco desde o início, pois os hard links só funcionam dentro do mesmo sistema de ficheiros.

Experimentar

Servidor Linux GPU com Intel UHD 770 na VM, Docker já instalado, VAAPI e Quick Sync prontos para Jellyfin e Plex. A partir de 14,99 € s/ IVA/mês, acesso root.