|
|
|
---
|
|
|
|
|
|
|
|
- name: Install transmission daemon
|
|
|
|
yum: name=transmission-daemon state=present
|
|
|
|
tags: torrent
|
|
|
|
|
|
|
|
- name: Create user
|
|
|
|
user: name={{ transmission_user }} comment="Transmission Daemon" system=yes shell=/sbin/nologin
|
|
|
|
tags: torrent
|
|
|
|
|
|
|
|
- name: Create directories
|
|
|
|
file: path={{ transmission_data_dir }}/{{ item }} state=directory owner={{ transmission_user }}
|
|
|
|
with_items:
|
|
|
|
- finished
|
|
|
|
- incomplete
|
|
|
|
- watch
|
|
|
|
tags: torrent
|
|
|
|
|
|
|
|
- name: Deploy default config
|
|
|
|
template: src=sysconfig.j2 dest=/etc/sysconfig/transmission
|
|
|
|
notify: restart transmission
|
|
|
|
tags: torrent
|
|
|
|
|
|
|
|
- name: Override default systemd unit
|
|
|
|
template: src=transmission-daemon.service.j2 dest=/etc/systemd/system/transmission-daemon.service
|
|
|
|
register: transmission_unit
|
|
|
|
notify: restart transmission
|
|
|
|
tags: torrent
|
|
|
|
|
|
|
|
- name: Handle transmission port
|
|
|
|
iptables_raw:
|
|
|
|
name: transmission_port
|
|
|
|
state: "{{ (transmission_src_ip | length > 0) | ternary('present','absent') }}"
|
|
|
|
rules: |
|
|
|
|
-A INPUT -m state --state NEW -p tcp --dport {{ transmission_port }} -s {{ transmission_src_ip | join(',') }} -j ACCEPT
|
|
|
|
-A INPUT -p udp --dport {{ transmission_port }} -s {{ transmission_src_ip | join(',') }} -j ACCEPT
|
|
|
|
when: iptables_manage | default(True)
|
|
|
|
tags: torrent,firewall
|
|
|
|
|
|
|
|
- name: Handle transmission RPC port
|
|
|
|
iptables_raw:
|
|
|
|
name=transmission_rpc_port
|
|
|
|
state={{ (transmission_rpc_src_ip | length > 0) | ternary('present','absent') }}
|
|
|
|
rules="-A INPUT -m state --state NEW -p tcp --dport {{ transmission_rpc_port }} -s {{ transmission_rpc_src_ip | join(',') }} -j ACCEPT"
|
|
|
|
when: iptables_manage | default(True)
|
|
|
|
tags: torrent,firewall
|
|
|
|
|
|
|
|
- name: Reload systemd
|
|
|
|
command: systemctl daemon-reload
|
|
|
|
when: transmission_unit.changed
|
|
|
|
tags: torrent
|
|
|
|
|
|
|
|
- name: Start and enable the service
|
|
|
|
service: name=transmission-daemon state=started enabled=yes
|
|
|
|
tags: torrent
|