Como Instalar o cliente BitTorrent Transmission Usando o Docker

Este guia detalha o processo de instalação do cliente de BitTorrent Transmission usando o Docker Compose. Além disso, abordaremos a configuração de um serviço de VPN para garantir maior privacidade ao baixar arquivos.

O que é Transmission

O Transmission é um cliente BitTorrent amplamente utilizado em sistemas Linux. Ele se destaca por sua leveza e eficiência na transferência de arquivos via protocolo BitTorrent. O cliente Transmission é padrão em algumas distribuições Linux, como o Ubuntu e o Fedora. É uma escolha sólida para quem busca um cliente de torrent simples e rápido.

Além disso, o Transmission pode ser integrado a outras ferramentas, como o Radarr, Sonarr ou Lidarr, para criar uma central de mídia completa. Combinado com essas aplicações, você pode automatizar o download e organização de filmes, séries e músicas, tornando sua experiência de entretenimento ainda mais conveniente.

Confira abaixo como instalar o cliente BitTorrent Transmission usando o Docker.

Pré Requisitos

  • Possuir o Docker instalado
  • Opcionalmente, ter um serviço de VPN

Instalação

O repositório utilizado será o https://haugene.github.io/docker-transmission-openvpn/

Utilize o Portainer ou o seu editor preferido e copie e cole o conteúdo abaixo.

version: '3.3'
services:
    transmission-openvpn:
        cap_add:
            - NET_ADMIN
        volumes:
            - '/downloads:/downloads'
            - '/mnt/dockerapp/transmission/config:/config'
        environment:
            - OPENVPN_PROVIDER=NORDVPN
            - NORDVPN_COUNTRY=BR
            - NORDVPN_CATEGORY=legacy_p2p
            - NORDVPN_PROTOCOL=udp
            - OPENVPN_USERNAME=usuario
            - OPENVPN_PASSWORD=senha
            - LOCAL_NETWORK=192.168.1.0/24
            - TRANSMISSION_DOWNLOAD_DIR=/downloads
            - TRANSMISSION_INCOMPLETE_DIR=/downloads/working
            - PUID=1000
            - PGID=100
            - CREATE_TUN_DEVICE=true
            - TZ=America/Sao_Paulo
            - DROP_DEFAULT_ROUTE=true
            - OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60 --auth-nocache
            - TRANSMISSION_RPC_USERNAME=admin
            - TRANSMISSION_RPC_PASSWORD=senhaweb
            - TRANSMISSION_RPC_AUTHENTICATION_REQUIRED=true
        logging:
            driver: json-file
            options:
                max-size: 10m
        ports:
            - '9091:9091'
            - 51413:51413
            - 51413:51413/udp
        restart: unless-stopped
        image: haugene/transmission-openvpn

Configuração

A seguir, apresento uma breve explicação das variáveis utilizadas:

cap_add:
Essa configuração adiciona a capacidade NET_ADMIN ao contêiner. Isso permite que o Transmission configure interfaces de rede e rotas.

volumes:
Define os volumes que serão montados no contêiner. No caso:
/downloads:/downloads: Mapeia a pasta local /downloads para a pasta dentro do contêiner chamada /downloads.
/mnt/dockerapp/transmission/config:/config: Mapeia a pasta local /mnt/dockerapp/transmission/config para a pasta dentro do contêiner chamada /config.

environment:
Define variáveis de ambiente para o contêiner:

OPENVPN_PROVIDER: Especifica o provedor de VPN (NORDVPN neste caso).

NORDVPN_COUNTRY: Define o país para a conexão VPN (BR para Brasil).

NORDVPN_CATEGORY: Categoria específica de servidores NORDVPN (legacy_p2p).

NORDVPN_PROTOCOL: Protocolo de conexão VPN (UDP).

OPENVPN_USERNAME e OPENVPN_PASSWORD: Credenciais de autenticação para a VPN.

LOCAL_NETWORK: Define a rede local (192.168.1.0/24).

TRANSMISSION_DOWNLOAD_DIR e TRANSMISSION_INCOMPLETE_DIR: Diretórios para downloads e arquivos incompletos.

PUID e PGID: IDs de usuário e grupo para permissões.

CREATE_TUN_DEVICE: Cria um dispositivo TUN para a VPN.

TZ: Fuso horário (America/Sao_Paulo).

DROP_DEFAULT_ROUTE: Remove a rota padrão.

OPENVPN_OPTS: Opções específicas para o OpenVPN.

TRANSMISSION_RPC_USERNAME e TRANSMISSION_RPC_PASSWORD: Credenciais para acesso à interface web do Transmission.

TRANSMISSION_RPC_AUTHENTICATION_REQUIRED: Define se a autenticação é necessária.

logging:
Configura o driver de log para o contêiner (neste caso, usa o formato JSON e limita o tamanho do log).

ports:
Mapeia as portas do host para as portas do contêiner:
9091:9091: Porta para acessar a interface web do Transmission.
51413:51413 e 51413:51413/udp: Portas para comunicação via protocolo BitTorrent.

restart:
Define a política de reinicialização do contêiner (neste caso, a menos que seja parado explicitamente).

image:
Especifica a imagem do contêiner (no caso, haugene/transmission-openvpn).

Configuração Rápida

Neste exemplo, utilizaremos o serviço de VPN da NordVPN. Caso opte por outro provedor, dê uma olhada neste link: https://haugene.github.io/docker-transmission-openvpn/provider-specific/

A primeira coisa a fazer é configurar o caminho para onde os seus torrents serão baixados.

volumes:
– ‘/downloads:/downloads’
– ‘/mnt/dockerapp/transmission/config:/config’

Personalize conforme necessário.

O próximo passo é adicionar o usuário e senha. Se você estiver usando o mesmo serviço deste exemplo, acesse o painel de controle no site da NordVPN e obtenha suas credenciais (observe que elas são diferentes do e-mail e senha que você normalmente usa para acessar o software padrão).

– OPENVPN_USERNAME=usuario
– OPENVPN_PASSWORD=senha

Em seguida, altere a variável abaixo para que ela fique na mesma faixa de IP da sua rede.

– LOCAL_NETWORK=192.168.1.0/24

Vamos prosseguir. Esta parte é opcional e adiciona autenticação à interface web do Transmission. Isso é útil se você não deseja que outras pessoas acessem o cliente. Sinta-se à vontade para ajustar conforme necessário.

– TRANSMISSION_RPC_USERNAME=admin
– TRANSMISSION_RPC_PASSWORD=senhaweb

Acessando o Cliente BitTorrent Transmission

Abra o navegador e digite o endereço IP do local onde você instalou o Transmission, seguido pela porta configurada (no caso, 9091).

Exemplo: http://192.168.1.1:9091

Digite suas credenciais configuradas anteriormente e você já terá acesso para baixar arquivos pelo Transmission.

Conclusão

Em resumo, o Transmission é uma excelente escolha para quem busca um cliente de BitTorrent simples, eficiente e fácil de usar. Sua interface web intuitiva permite gerenciar downloads e uploads de forma prática, e sua leveza garante que ele funcione bem mesmo em sistemas com recursos modestos.

Portanto, se você está em busca de um cliente de torrent confiável e versátil, o Transmission é uma excelente opção. Experimente e aproveite a facilidade de uso e a eficiência desse software livre.

Deixe um comentário