First commit
This commit is contained in:
1
roles/bittorrent/files/CACHEDIR.TAG
Normal file
1
roles/bittorrent/files/CACHEDIR.TAG
Normal file
@@ -0,0 +1 @@
|
||||
Signature: 8a477f597d28d172789f06886806bc55
|
13
roles/bittorrent/files/sonarr.service
Normal file
13
roles/bittorrent/files/sonarr.service
Normal file
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Sonarr Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=debian-transmission
|
||||
Group=debian-transmission
|
||||
ExecStart=/usr/bin/mono /opt/NzbDrone/NzbDrone.exe -nobrowser
|
||||
Type=simple
|
||||
TimeoutStopSec=20
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
12
roles/bittorrent/handlers/main.yml
Normal file
12
roles/bittorrent/handlers/main.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
- name: reload transmission
|
||||
service:
|
||||
name: transmission-daemon
|
||||
state: reloaded
|
||||
|
||||
- name: restart sonarr
|
||||
service:
|
||||
name: sonarr
|
||||
state: restarted
|
||||
|
||||
- name: export nfs
|
||||
command: exportfs -a
|
14
roles/bittorrent/tasks/configdir.yml
Normal file
14
roles/bittorrent/tasks/configdir.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
- name: create Series folder
|
||||
file:
|
||||
path: /var/lib/transmission-daemon/downloads/Series
|
||||
recurse: True
|
||||
owner: debian-transmission
|
||||
group: debian-transmission
|
||||
|
||||
- name: create Movies folder
|
||||
file:
|
||||
path: /var/lib/transmission-daemon/downloads/Movies
|
||||
recurse: True
|
||||
owner: debian-transmission
|
||||
group: debian-transmission
|
||||
|
5
roles/bittorrent/tasks/main.yml
Normal file
5
roles/bittorrent/tasks/main.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
- include_tasks: transmission.yml
|
||||
- include_tasks: sonarr.yml
|
||||
- include_tasks: subliminal.yml
|
||||
- include_tasks: configdir.yml
|
||||
- include_tasks: nfsserver.yml
|
15
roles/bittorrent/tasks/nfsserver.yml
Normal file
15
roles/bittorrent/tasks/nfsserver.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
- getent:
|
||||
database: passwd
|
||||
key: debian-transmission
|
||||
|
||||
- name: install nfs server
|
||||
package:
|
||||
name: nfs-kernel-server
|
||||
state: present
|
||||
|
||||
- name: copy exports file
|
||||
template:
|
||||
src: exports.j2
|
||||
dest: /etc/exports
|
||||
notify:
|
||||
- export nfs
|
34
roles/bittorrent/tasks/sonarr.yml
Normal file
34
roles/bittorrent/tasks/sonarr.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
- name: install sonarr repokey
|
||||
apt_key:
|
||||
keyserver: keyserver.ubuntu.com
|
||||
id: "0xa236c58f409091a18aca53cbebff6b99d9b78493"
|
||||
|
||||
- name: install sonarr repo
|
||||
apt_repository:
|
||||
repo: deb http://apt.sonarr.tv/ master main
|
||||
state: present
|
||||
|
||||
- name: create sonarr conf dir
|
||||
file:
|
||||
path: /var/lib/transmission-daemon/.config/NzbDrone
|
||||
recurse: True
|
||||
owner: debian-transmission
|
||||
group: debian-transmission
|
||||
mode: "a-rwx,u+rwX,g+rX"
|
||||
|
||||
- name: install sonarr
|
||||
package:
|
||||
name: nzbdrone
|
||||
state: present
|
||||
|
||||
- name: copy systemd file
|
||||
copy:
|
||||
src: files/sonarr.service
|
||||
dest: /etc/systemd/system/sonarr.service
|
||||
notify:
|
||||
- restart sonarr
|
||||
|
||||
- name: enable sonarr service
|
||||
service:
|
||||
name: sonarr
|
||||
enabled: True
|
17
roles/bittorrent/tasks/subliminal.yml
Normal file
17
roles/bittorrent/tasks/subliminal.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
- name: install pip3
|
||||
package:
|
||||
name: python3-pip
|
||||
state: present
|
||||
|
||||
- name: install subliminal
|
||||
pip:
|
||||
name: subliminal
|
||||
state: present
|
||||
|
||||
- name: install subliminal crontab
|
||||
cron:
|
||||
name: "Sub DL"
|
||||
user: "debian-transmission"
|
||||
minute: "15"
|
||||
hour: "20"
|
||||
job: "/usr/local/bin/subliminal download /var/lib/transmission-daemon/downloads/Series/ --language fr &> /dev/null"
|
26
roles/bittorrent/tasks/transmission.yml
Normal file
26
roles/bittorrent/tasks/transmission.yml
Normal file
@@ -0,0 +1,26 @@
|
||||
- name: install transmission
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
loop:
|
||||
- transmission-daemon
|
||||
- transmission-cli
|
||||
|
||||
- name: transmission config file
|
||||
template:
|
||||
src: settings.json.j2
|
||||
dest: /etc/transmission-daemon/settings.json
|
||||
owner: debian-transmission
|
||||
group: debian-transmission
|
||||
mode: "a-rwx,u+rw"
|
||||
notify:
|
||||
- reload transmission
|
||||
|
||||
- name: Add cachedir file
|
||||
copy:
|
||||
src: files/CACHEDIR.TAG
|
||||
dest: /var/lib/transmission-daemon/downloads/CACHEDIR.TAG
|
||||
owner: debian-transmission
|
||||
group: debian-transmission
|
||||
mode: '0755'
|
||||
|
1
roles/bittorrent/templates/exports.j2
Normal file
1
roles/bittorrent/templates/exports.j2
Normal file
@@ -0,0 +1 @@
|
||||
/var/lib/transmission-daemon/downloads 10.233.212.64/26(ro,async,no_subtree_check,all_squash,anonuid={{ getent_passwd['debian-transmission'][1] }},anongid={{ getent_passwd['debian-transmission'][2] }})
|
83
roles/bittorrent/templates/settings.json.j2
Normal file
83
roles/bittorrent/templates/settings.json.j2
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"alt-speed-down": 2000,
|
||||
"alt-speed-enabled": false,
|
||||
"alt-speed-time-begin": 450,
|
||||
"alt-speed-time-day": 127,
|
||||
"alt-speed-time-enabled": false,
|
||||
"alt-speed-time-end": 1350,
|
||||
"alt-speed-up": 2000,
|
||||
"bind-address-ipv4": "0.0.0.0",
|
||||
"bind-address-ipv6": "::",
|
||||
"blocklist-enabled": true,
|
||||
"blocklist-url": "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz",
|
||||
"cache-size-mb": 8,
|
||||
"dht-enabled": true,
|
||||
"download-dir": "/var/lib/transmission-daemon/downloads/",
|
||||
"download-limit": 100,
|
||||
"download-limit-enabled": 0,
|
||||
"download-queue-enabled": false,
|
||||
"download-queue-size": 5,
|
||||
"encryption": 0,
|
||||
"idle-seeding-limit": 14400,
|
||||
"idle-seeding-limit-enabled": true,
|
||||
"incomplete-dir": "/root/Downloads",
|
||||
"incomplete-dir-enabled": false,
|
||||
"lazy-bitfield-enabled": true,
|
||||
"lpd-enabled": true,
|
||||
"max-peers-global": 200,
|
||||
"max-peers-per-torrent": 200,
|
||||
"message-level": 1,
|
||||
"open-file-limit": 32,
|
||||
"peer-congestion-algorithm": "",
|
||||
"peer-id-ttl-hours": 6,
|
||||
"peer-limit-global": 1000,
|
||||
"peer-limit-per-torrent": 200,
|
||||
"peer-port": 10010,
|
||||
"peer-port-random-high": 65535,
|
||||
"peer-port-random-low": 49152,
|
||||
"peer-port-random-on-start": false,
|
||||
"peer-socket-tos": "default",
|
||||
"pex-enabled": true,
|
||||
"port-forwarding-enabled": false,
|
||||
"preallocation": 1,
|
||||
"prefetch-enabled": true,
|
||||
"proxy": "",
|
||||
"proxy-auth-enabled": false,
|
||||
"proxy-auth-password": "",
|
||||
"proxy-auth-username": "",
|
||||
"proxy-enabled": false,
|
||||
"proxy-port": 80,
|
||||
"proxy-type": 0,
|
||||
"queue-stalled-enabled": false,
|
||||
"queue-stalled-minutes": 30,
|
||||
"ratio-limit": 5,
|
||||
"ratio-limit-enabled": true,
|
||||
"rename-partial-files": true,
|
||||
"rpc-authentication-required": true,
|
||||
"rpc-bind-address": "0.0.0.0",
|
||||
"rpc-enabled": true,
|
||||
"rpc-host-whitelist": "",
|
||||
"rpc-host-whitelist-enabled": true,
|
||||
"rpc-password": "{{ transmission_pass }}",
|
||||
"rpc-port": 9091,
|
||||
"rpc-url": "/transmission/",
|
||||
"rpc-username": "{{ transmission_user }}",
|
||||
"rpc-whitelist": "127.0.0.1",
|
||||
"rpc-whitelist-enabled": true,
|
||||
"scrape-paused-torrents-enabled": true,
|
||||
"script-torrent-done-enabled": false,
|
||||
"script-torrent-done-filename": "",
|
||||
"seed-queue-enabled": false,
|
||||
"seed-queue-size": 4,
|
||||
"speed-limit-down": 4000,
|
||||
"speed-limit-down-enabled": false,
|
||||
"speed-limit-up": 4000,
|
||||
"speed-limit-up-enabled": false,
|
||||
"start-added-torrents": true,
|
||||
"trash-original-torrent-files": false,
|
||||
"umask": 18,
|
||||
"upload-limit": 100,
|
||||
"upload-limit-enabled": 0,
|
||||
"upload-slots-per-torrent": 20,
|
||||
"utp-enabled": true
|
||||
}
|
Reference in New Issue
Block a user