diff --git a/roles/borg_client/tasks/main.yml b/roles/borg_client/tasks/main.yml
index 6580c8c51a962e1658642bebc427beddee69976e..f356207d64c5c36a54c41bc91d25319c5a6b28e8 100644
--- a/roles/borg_client/tasks/main.yml
+++ b/roles/borg_client/tasks/main.yml
@@ -57,12 +57,14 @@
   template: src=backup-gitlab.sh.j2 dest=/usr/local/bin/backup-gitlab.sh owner=root group=root mode=0755
   when: inventory_hostname == "gitlab.archlinux.org"
 
-- name: install systemd timer and service for backup
-  copy: src={{ item }} dest=/etc/systemd/system/{{ item }} owner=root group=root mode=0644
+- name: install systemd services for backup
+  template: src={{ item }}.j2 dest=/etc/systemd/system/{{ item }} owner=root group=root mode=0644
   with_items:
-    - borg-backup.timer
     - borg-backup.service
     - borg-backup-offsite.service
 
-- name: activate systemd timers for backup
+- name: install systemd timer for backup
+  copy: src=borg-backup.timer dest=/etc/systemd/system/borg-backup.timer owner=root group=root mode=0644
+
+- name: activate systemd timer for backup
   systemd: name=borg-backup.timer enabled=yes state=started daemon-reload=yes
diff --git a/roles/borg_client/templates/borg-backup-cpu-quota.j2 b/roles/borg_client/templates/borg-backup-cpu-quota.j2
new file mode 100644
index 0000000000000000000000000000000000000000..5d264b34594a19122061c55fbac37227d8c32c15
--- /dev/null
+++ b/roles/borg_client/templates/borg-backup-cpu-quota.j2
@@ -0,0 +1,4 @@
+{% if ansible_processor_vcpus == 1 %}
+{# Limit CPU usage to avoid triggering a HostHighCpuLoad alert #}
+CPUQuota=50%
+{% endif %}
diff --git a/roles/borg_client/files/borg-backup-offsite.service b/roles/borg_client/templates/borg-backup-offsite.service.j2
similarity index 78%
rename from roles/borg_client/files/borg-backup-offsite.service
rename to roles/borg_client/templates/borg-backup-offsite.service.j2
index 35a876231d35054c0207844c3b9ea6381db43e54..cd4f590067c904bf27d319c7a80bb41156bccd30 100644
--- a/roles/borg_client/files/borg-backup-offsite.service
+++ b/roles/borg_client/templates/borg-backup-offsite.service.j2
@@ -5,4 +5,5 @@ Description=Borg backup (offsite)
 Type=oneshot
 Restart=on-failure
 RestartSec=5m
+{% include 'borg-backup-cpu-quota.j2' %}
 ExecStart=/usr/local/bin/borg-backup-offsite.sh
diff --git a/roles/borg_client/files/borg-backup.service b/roles/borg_client/templates/borg-backup.service.j2
similarity index 82%
rename from roles/borg_client/files/borg-backup.service
rename to roles/borg_client/templates/borg-backup.service.j2
index fe49eec723a7ad2259a8d7756cd2cfe086e887f2..001eaaa452507d2a5625b5ea4c88c1cb5ad177e6 100644
--- a/roles/borg_client/files/borg-backup.service
+++ b/roles/borg_client/templates/borg-backup.service.j2
@@ -7,4 +7,5 @@ Before=borg-backup-offsite.service
 Type=oneshot
 Restart=on-failure
 RestartSec=5m
+{% include 'borg-backup-cpu-quota.j2' %}
 ExecStart=/usr/local/bin/borg-backup.sh