gemini generated image bfeqkubfeqkubfeq

Adeus Netflix! Crie Seu Servidor Jellyfin

Neste artigo técnico, vamos destrinchar a montagem avançada de um servidor de mídia rodando sobre contêineres Docker, estruturado para suportar automações robustas de download, organização de pastas (via hardlinks) e consumo cross-platform.

“A verdadeira liberdade digital é não depender da curadoria ou das limitações impostas por plataformas de terceiros. Com o Arr Stack e o Jellyfin, você constrói a sua própria nuvem.”

1. O Ecossistema BCL Media Hub: Como Funciona?

Antes de colocarmos a mão na massa com o CLI, é vital entender a arquitetura do que estamos construindo. Nossa stack utilizará os seguintes serviços interligados em uma rede Docker isolada:

ServiçoPorta PadrãoFunção na Arquitetura
Jellyfin8096Media Server open-source para streaming e transcoding do conteúdo.
qBittorrent8080Cliente responsável pelo download (via protocolo BitTorrent).
Prowlarr9696Gerenciador e orquestrador de indexadores (suas “fontes” de busca).
Radarr7878Automação exclusiva para busca, download e organização de Filmes.
Sonarr8989Automação e tracking voltado exclusivamente para Séries de TV.

2. Instalação do Ambiente (Docker e Docker Compose)

O coração do nosso Media Hub é o Docker. Abaixo, detalhamos a instalação em sistemas baseados em Debian/Ubuntu. Se você utiliza Arch Linux, os comandos variam (usando pacman), mas a lógica de containarização permanece idêntica.

Atualizando o sistema e instalando as chaves GPG do Docker:

sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update

Instalando os pacotes do Docker Engine:

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
sudo docker run hello-world

3. Estruturação de Diretórios e Hardlinks

A arquitetura de pastas é o diferencial entre um servidor bagunçado e uma automação limpa. Nós vamos utilizar a metodologia Hardlinks (via “Trash Guides”). Isso significa que o Docker mapeia o arquivo do download diretamente para a pasta de mídia sem ocupar o dobro de espaço no HD.

# Criando a estrutura de pastas principal
sudo mkdir -p /data/{torrents/{tv,movies,music},media/{tv,movies,music}}

# Verificando a árvore de pastas (requer pacote 'tree')
sudo apt install tree
tree /data

# Ajustando permissões vitais (UID 1000)
sudo chown -R 1000:1000 /data
sudo chmod -R a=,a+rX,u+w,g+w /data

4. Subindo a Stack com Docker Compose

Com as pastas prontas, crie o seu arquivo docker-compose.yml na raiz do projeto (seja clonando o repositório Arr-New ou criando o arquivo manualmente). Para executar a stack de forma independente, rode:

sudo docker compose up -d

A flag “-d” executa os contêineres em background (detached mode). O Docker extrairá as imagens e conectará os serviços na mesma rede virtual.

5. Configuração dos Módulos (O Segredo da Integração)

Agora que tudo está rodando, precisamos conectar o ecossistema. A comunicação interna ocorre pelo nome dos contêineres, o que simplifica o mapeamento.

Passo 1: qBittorrent (Acesso: IP:8080)

  • Verifique a senha temporária nos logs: sudo docker logs qbittorrent.
  • Acesse o WebUI, vá em Tools > Options > WebUI e troque a senha admin.
  • No painel esquerdo, adicione Categorias em “Categories”: movies (Path: movies), tv (Path: tv), music (Path: music).
  • Em Downloads, ative o “Automatic Torrent Management” e selecione “Relocate torrent”. Configure o caminho padrão para /data/torrents.

Passo 2: Prowlarr (Acesso: IP:9696)

O Prowlarr alimenta as fontes. Acesse, configure sua autenticação de segurança e em Settings > Download Clients adicione o qBittorrent. Desmarque o SSL (caso não o use internamente), defina o host como qbittorrent, porta 8080 e insira as credenciais que você acabou de criar.

Passo 3: Radarr (Filmes – IP:7878) e Sonarr (Séries – IP:8989)

O pipeline para o Radarr e Sonarr é extremamente similar, variando apenas o diretório e categoria alvo:

  • Root Folder: Vá em Settings > Media Management. Adicione /data/media/movies para o Radarr (ou /data/media/tv para Sonarr).
  • Ative Hardlinks: Na mesma aba, em “Show Advanced”, garanta que a opção Use Hardlinks instead of Copy está marcada.
  • Download Clients: Adicione o qBittorrent como cliente, usando host qbittorrent e categoria de match correta (movies ou tv).
  • Conexão via API: Copie a API Key na aba General e insira no Prowlarr (Settings > Apps) para que ele sincronize os indexadores.

6. Jellyfin: Transformando Arquivos em Cinema

Com a automação finalizada, qualquer requisição feita no Radarr iniciará o download no qBittorrent, que criará um hardlink direto na sua pasta media, renomeando o arquivo para o formato profissional limpo.

Acesse o Jellyfin via http://localhost:8096 (ou IP do seu servidor). Configure a conta de administrador e direcione as livrarias para os diretórios estruturados:

  • Filmes: Vincule o diretório /data/media/movies
  • Séries: Vincule o diretório /data/media/tv

O Jellyfin rastreará metadados, capas, e sinopses de forma 100% autônoma.

Pronto para o Próximo Nível?

Você acabou de construir um Media Hub corporativo em sua própria casa. Não se esqueça de manter seus contêineres atualizados e revisar regularmente seus indexadores.

Quer discutir automações, arquitetura de redes ou Linux avançado? Acesse o Blog Oficial: blog.raem.me e junte-se à Comunidade Discord Linux Brasil: Clique Aqui. O futuro é open-source. Documentacao usada: https://github.com/automation-avenue/arr-new

Parte 1

Parte 2

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *