diff --git a/defaults/main.yml b/defaults/main.yml
index 0cb6c9842c552f1af26e69063b4914511c44871f..79eb997b76d2da14591b4150d2fc460576424ca9 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -1,2 +1,4 @@
 ---
 # defaults file for transmission
+
+transmission_rss_version: '0.2.4'
diff --git a/tasks/main.yml b/tasks/main.yml
index 2255ca029b21509517ceca20c950150a0f4819e1..723567e7aef9d3e1c69fb903bbb2821d9f6713ef 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -6,3 +6,19 @@
     that:
         - ansible_pkg_mgr == 'apt'
         - ansible_service_mgr == 'systemd'
+
+- name: APT install
+  apt:
+      name: transmission-daemon
+      state: present
+      update_cache: True
+      cache_valid_time: 3600
+
+- name: Enable service
+  service:
+      name: transmission-daemon
+      state: started
+      enabled: True
+
+- include: transmission-rss.yml
+  when: transmission_rss_config is defined
diff --git a/tasks/transmission-rss.yml b/tasks/transmission-rss.yml
new file mode 100644
index 0000000000000000000000000000000000000000..efcc0e416a0af507fb5b6a63bb262a7d4a91c52f
--- /dev/null
+++ b/tasks/transmission-rss.yml
@@ -0,0 +1,37 @@
+---
+# tasks file for transmission-rss
+
+- name: APT install transmission-rss pre-requisites
+  apt:
+      name: ruby-rb-inotify
+      state: present
+      update_cache: True
+      cache_valid_time: 3600
+
+- name: Gem install transmission-rss
+  gem:
+      name: transmission-rss
+      version: '{{ transmission_rss_version }}'
+      state: present
+
+- name: Configure transmission-rss
+  copy:
+      content: '{{ transmission_rss_config|to_nice_yaml }}'
+      dest: /etc/transmission-rss.conf
+      owner: root
+      group: root
+      mode: 0o0644
+
+- name: Add transmission-rss service
+  template:
+      src: transmission-rss.service.j2
+      dest: /etc/systemd/system/transmission-rss.service
+      owner: root
+      group: root
+      mode: 0o0644
+
+- name: Enable transmission-rss service
+  service:
+      name: transmission-rss
+      state: started
+      enabled: True
diff --git a/templates/transmission-rss.service.j2 b/templates/transmission-rss.service.j2
new file mode 100644
index 0000000000000000000000000000000000000000..b6fa2d23260178367f53fe649ca14fcf72e752f1
--- /dev/null
+++ b/templates/transmission-rss.service.j2
@@ -0,0 +1,13 @@
+[Unit]
+Description=Transmission RSS daemon.
+After=network.target transmission-daemon.service
+
+[Service]
+Type=simple
+ExecStart=/usr/local/bin/transmission-rss
+ExecReload=/bin/kill -s HUP $MAINPID
+User=debian-transmission
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/tests/playbook.yml b/tests/playbook.yml
index 5e3cd377c8881daf7ddbbd2c744e95f23653fce6..97529ec22b25ea15d64c86de7eeeb2f7653b005b 100644
--- a/tests/playbook.yml
+++ b/tests/playbook.yml
@@ -20,3 +20,6 @@
 - hosts: all
   roles:
     - role: transmission
+      transmission_rss_config:
+          feeds:
+          seen_file: ~/.config/transmission/seen
diff --git a/tests/test_transmission.py b/tests/test_transmission.py
new file mode 100644
index 0000000000000000000000000000000000000000..67c69400a70f23958fe69e3bbd47c13418110a93
--- /dev/null
+++ b/tests/test_transmission.py
@@ -0,0 +1,9 @@
+from testinfra.utils.ansible_runner import AnsibleRunner
+
+testinfra_hosts = AnsibleRunner('.molecule/ansible_inventory').get_hosts('all')
+
+
+def test_transmission(host):
+    service = host.service('transmission-daemon')
+    assert service.is_running
+    assert service.is_enabled
diff --git a/tests/test_transmission_rss.py b/tests/test_transmission_rss.py
new file mode 100644
index 0000000000000000000000000000000000000000..89490a35ff68c28812a0adf02b2d54db51835458
--- /dev/null
+++ b/tests/test_transmission_rss.py
@@ -0,0 +1,9 @@
+from testinfra.utils.ansible_runner import AnsibleRunner
+
+testinfra_hosts = AnsibleRunner('.molecule/ansible_inventory').get_hosts('all')
+
+
+def test_transmission_rss(host):
+    service = host.service('transmission-rss')
+    assert service.is_running
+    assert service.is_enabled