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.
Indice
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.