diff --git a/README.md b/README.md
index 72b0e5d9e0e865bdbc04b1eae2f7353b409f40dc..68ba444b063a2578b5f35b1e7be8d81900c02c18 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,3 @@
-# ansible-role-template
+# ansible_role-unattended_upgrades
+
+Install & configure `unattended-upgrades` package and configure systemd apt timers.
diff --git a/defaults/main.yml b/defaults/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c9c35760c160dd1571143c343b2f28e75d4864b2
--- /dev/null
+++ b/defaults/main.yml
@@ -0,0 +1,10 @@
+unattended_upgrades_enable: true
+
+unattended_upgrades_reboot: true
+unattended_upgrades_reboot_time: "06:45"
+
+unattended_upgrades_update_calendar: "*-*-* 6,18:00"
+unattended_upgrades_update_delay: "12h"
+
+unattended_upgrades_upgrade_calendar: "*-*-* 22:00"
+unattended_upgrades_upgrade_delay: "60m"
diff --git a/handlers/main.yml b/handlers/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0628294f2935bff19bcaf7ab0742cb44e05f42db
--- /dev/null
+++ b/handlers/main.yml
@@ -0,0 +1,11 @@
+- name: Restart unattended-upgrades service
+  ansible.builtin.systemd:
+    state: restarted
+    enabled: true
+    masked: false
+    daemon_reload: true
+    name: unattended-upgrades.service
+
+- name: Reload systemd
+  ansible.builtin.systemd:
+    daemon_reload: true
diff --git a/tasks/main.yml b/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a3ae838936ad2344683083e6fb0a5c1750bf110b
--- /dev/null
+++ b/tasks/main.yml
@@ -0,0 +1,89 @@
+- name: Install packages
+  ansible.builtin.apt:
+    state: present
+    update_cache: true
+    install_recommends: false
+    pkg:
+      - unattended-upgrades
+      - powermgmt-base
+      - python3-gi
+  tags:
+    - unattended_upgrades
+
+- name: Template a file to /etc/apt/apt.conf.d/20auto-upgrades
+  ansible.builtin.copy:
+    content: |
+      APT::Periodic::Update-Package-Lists "1";
+      APT::Periodic::Unattended-Upgrade "{{ unattended_upgrades_enable | ternary('1', '0') }}";
+    dest: /etc/apt/apt.conf.d/20auto-upgrades
+    owner: root
+    group: root
+    mode: "0644"
+  notify: Restart unattended-upgrades service
+  tags:
+    - unattended_upgrades
+
+- name: Template a file to /etc/apt/apt.conf.d/50unattended-upgrades
+  ansible.builtin.copy:
+    content: |
+      Unattended-Upgrade::Origins-Pattern {
+          "o=*";
+      };
+      Unattended-Upgrade::AutoFixInterruptedDpkg "true";
+      Unattended-Upgrade::MinimalSteps "true";
+      Unattended-Upgrade::InstallOnShutdown "false";
+      Unattended-Upgrade::Mail "root";
+      Unattended-Upgrade::MailOnlyOnError "false";
+      Unattended-Upgrade::Remove-Unused-Dependencies "true";
+      Unattended-Upgrade::Automatic-Reboot-Time "{{ unattended_upgrades_reboot_time | default('06:45') }}";
+      Unattended-Upgrade::Automatic-Reboot "{{ unattended_upgrades_reboot | default(true) | bool }}";
+    dest: /etc/apt/apt.conf.d/50unattended-upgrades
+    owner: root
+    group: root
+    mode: "0644"
+  notify: Restart unattended-upgrades service
+  tags:
+    - unattended_upgrades
+
+- name: Template a file to /etc/systemd/system/apt-daily.timer
+  ansible.builtin.copy:
+    content: |
+      [Unit]
+      Description=Daily apt download activities
+
+      [Timer]
+      OnCalendar={{ unattended_upgrades_update_calendar }}
+      RandomizedDelaySec={{ unattended_upgrades_update_delay }}
+      Persistent=true
+
+      [Install]
+      WantedBy=timers.target
+    dest: /etc/systemd/system/apt-daily.timer
+    owner: root
+    group: root
+    mode: "0644"
+  notify: Reload systemd
+  tags:
+    - unattended_upgrades
+
+- name: Template a file to /etc/systemd/system/apt-daily-upgrade.timer
+  ansible.builtin.copy:
+    content: |
+      [Unit]
+      Description=Daily apt upgrade and clean activities
+      After=apt-daily.timer
+
+      [Timer]
+      OnCalendar={{ unattended_upgrades_upgrade_calendar }}
+      RandomizedDelaySec={{ unattended_upgrades_upgrade_delay }}
+      Persistent=true
+
+      [Install]
+      WantedBy=timers.target
+    dest: /etc/systemd/system/apt-daily-upgrade.timer
+    owner: root
+    group: root
+    mode: "0644"
+  notify: Reload systemd
+  tags:
+    - unattended_upgrades