Install Transmission Docker Compose project
| defaults | ||
| handlers | ||
| meta | ||
| tasks | ||
| templates | ||
| vars | ||
| .ansible-lint | ||
| LICENSE | ||
| README.md | ||
Ansible Role: Transmission-docker
Install Transmission Docker Compose project.
Based on LinuxServer.io image: https://docs.linuxserver.io/images/docker-transmission/
Requirements
Requires the following to be installed:
- docker
- docker compose
Role Variables
Common system variables:
timezone: UTC
Common Docker projects variables:
# Base directory for Docker projects
docker_projects_path: # /var/apps
Available role variables are listed below, along with default values (see defaults/main.yml):
# Docker project variables
transmission_project_name: transmission
# Docker project dynamic vars (uses `docker_project_name` prefix, adapt if overridden)
# Port targeted by Traefik router
transmission_traefik_loadbalancer_server_port: 9091
# Main service additional docker-compose options (ex: cpu_shares, deploy, ...)
transmission_service_additional_options: |
ports:
- "9091:9091/tcp" # rpc-port
- "51413:51413/tcp" # peer-port
- "51413:51413/udp" # peer-port
# Transmission project variables
transmission_version: latest
transmission_user: "transmission"
transmission_password: "CH4NGE ME!"
## Local directories
transmission_download_dir: "{{ docker_project_path }}/downloads"
transmission_watch_dir: "{{ docker_project_path }}/watch"
## Directories in container
transmission_download_dir_target: /downloads
transmission_watch_dir_target: /watch
# UID container is running as
transmission_puid: "{{ ansible_user_uid }}"
# GID container is running as
transmission_pgid: "{{ ansible_user_gid }}"
# Transmission custom settings (see `transmission_default_settings` in vars/main.yml)
transmission_custom_settings:
blocklist-enabled: true
blocklist-url: "https://mirror.codebucket.de/transmission/blocklist.p2p.gz"
# Alternative web UI (optional)
# Examples: download into your config/ directory and use:
# /config/transmissionic
# /config/Shift
# /config/combustion-release
transmission_web_home:
Dependencies
This role depends on :
Some variables allow integration with:
Example Playbook
- hosts: example
gather_facts: true
gather_subset:
- "!all"
- "!min"
- user_id
roles:
- djuuu.transmission_docker
Using Flood
- hosts: example
gather_facts: true
gather_subset:
- "!all"
- "!min"
- user_id
pre_tasks:
- name: Template Flood service yaml
vars:
flood_backend_service: transmission
ansible.builtin.include_role:
name: djuuu.flood_docker
tasks_from: template_service
roles:
- djuuu.transmission_docker
Using Gluetun
- hosts: example
gather_facts: true
gather_subset:
- "!all"
- "!min"
- user_id
pre_tasks:
- name: Template Gluetun service yaml
ansible.builtin.include_role:
name: djuuu.gluetun_docker
tasks_from: template_service
roles:
- djuuu.transmission_docker
License
Beerware License