diff --git a/roles/borg_client/defaults/main.yml b/roles/borg_client/defaults/main.yml
index d08c91f8d2a56d44cff155ec4bbbcc5b3cba6218..f883497fb0e9656482b49bddffdad1e0e854386c 100644
--- a/roles/borg_client/defaults/main.yml
+++ b/roles/borg_client/defaults/main.yml
@@ -4,7 +4,9 @@ backup_hosts:
     dir: "~/repo"
     suffix: ""
     borg_cmd: "borg"
+    compact_after_prune: true
   - host: "ssh://zh1905@zh1905.rsync.net:22"
     dir: "~/backup/{{ inventory_hostname }}"
     suffix: "-offsite"
     borg_cmd: "borg --remote-path=borg1"
+    compact_after_prune: false # not upgraded to borg 1.2 yet
diff --git a/roles/borg_client/templates/borg-backup.sh.j2 b/roles/borg_client/templates/borg-backup.sh.j2
index 16e2d86c48e94e852ec37d956f354e41742251c9..83d04e74c3ffa5be115b606f7b48b4b7be100de6 100644
--- a/roles/borg_client/templates/borg-backup.sh.j2
+++ b/roles/borg_client/templates/borg-backup.sh.j2
@@ -88,4 +88,9 @@ fi
     -e "$backup_mountdir/var/lib/archbuilddest" \
     -e "$backup_mountdir/var/lib/docker" \
     {{ item['host'] }}/{{ item['dir'] }}::$(date "+%Y%m%d-%H%M%S") "$backup_mountdir"
+
 {{ item['borg_cmd'] }} prune -v {{ item['host'] }}/{{ item['dir'] }} --keep-daily=7 --keep-weekly=4 --keep-monthly=6
+
+{% if item['compact_after_prune'] %}
+{{ item['borg_cmd'] }} compact -v {{ item['host'] }}/{{ item['dir'] }}
+{% endif %}