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
- Você (ou alguém da sua casa) pede um filme ou uma série no Seerr.
- O Seerr passa o pedido ao Radarr (filmes) ou ao Sonarr (séries).
- A app *arr pesquisa nas fontes configuradas no Prowlarr.
- Envia o item escolhido para o cliente de download.
- O ficheiro chega a
/data/downloads/. - A app *arr importa-o: renomeia-o e coloca-o em
/data/media/com um hard link (instantâneo, sem espaço extra). - Avisa o Jellyfin ou o Plex para atualizar a biblioteca; o Bazarr junta as legendas em falta ao lado do vídeo.
- O Jellyfin ou o Plex lê
/data/media/. - Quando um dispositivo não consegue reproduzir o formato original, o servidor transcodifica na GPU (VAAPI / Quick Sync).
- 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ê
| Ferramenta | Papel | Porta por omissão |
|---|---|---|
| Jellyfin / Plex | Servidor multimédia: biblioteca, metadados, streaming, transcodificação por GPU | 8096 / 32400 |
| Sonarr | Séries: acompanha os episódios, importa-os e renomeia-os | 8989 |
| Radarr | Filmes: o mesmo trabalho para filmes | 7878 |
| Lidarr | Música: álbuns e artistas, ideal para os seus CD | 8686 |
| Prowlarr | Gere as fontes (indexadores) uma só vez e sincroniza-as com as apps *arr | 9696 |
| Bazarr | Legendas para tudo o que o Sonarr e o Radarr gerem | 6767 |
| Seerr | Portal de pedidos para a sua casa, para Jellyfin, Plex e Emby | 5055 |
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
| Ferramenta | O que acrescenta |
|---|---|
| Recyclarr | Sincroniza perfis de qualidade e regras de nomes reconhecidos (TRaSH Guides) no Sonarr e no Radarr |
| Unpackerr | Descomprime arquivos para que o Sonarr / Radarr os possam importar |
| Tdarr | Recodifica 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 |
| Kometa | Coleções, cartazes e overlays para o Plex (e em parte o Jellyfin) |
| Maintainerr | Regras para limpar o que ninguém vê |
| Wizarr | Links de convite para dar acesso ao Jellyfin ou ao Plex |
| Audiobookshelf | Servidor de audiolivros e podcasts |
| Homepage | Um 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
- 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.
- Sonarr / Radarr / Lidarr → Settings → Media Management: pastas raiz
/data/media/tv,/data/media/movies,/data/media/music; deixe Use Hardlinks instead of Copy ativado. - Sonarr / Radarr → Settings → Connect: adicione Emby / Jellyfin ou Plex Media Server para a biblioteca ser atualizada após cada importação.
- Bazarr → Settings → Sonarr / Radarr: as mesmas chaves API; depois escolha os idiomas e os fornecedores de legendas.
- Seerr: o assistente inicial pede o Jellyfin ou o Plex; depois, em Settings → Services, adicione o Radarr e o Sonarr.
- 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 (
:roacima).
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.