diff --git a/defaults/main.yml b/defaults/main.yml index 7728af6..d287212 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -18,4 +18,5 @@ tcp_listen: false live_restore: true swarm_init: false +docker_cron_path: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" docker_cronjob_prune: true diff --git a/tasks/config.yml b/tasks/config.yml index 941b307..55874a4 100644 --- a/tasks/config.yml +++ b/tasks/config.yml @@ -17,14 +17,4 @@ notify: - restart docker service -- name: Schedule Docker system prune at 0:00 every day - ansible.builtin.cron: - name: "Daily Docker system prune" - user: "root" - job: "docker system prune -af --volumes" - special_time: "daily" - hour: "0" - minute: "0" - when: docker_cronjob_prune - - meta: flush_handlers diff --git a/tasks/main.yml b/tasks/main.yml index e3aec73..60b4580 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -13,3 +13,7 @@ - name: deploy compose files include_tasks: composes.yml when: docker_compose_stat.stat.exists + +- name: Configure docker system prune with cron + when: docker_cronjob_prune + include_tasks: prune.yml diff --git a/tasks/prune.yml b/tasks/prune.yml new file mode 100644 index 0000000..cba9a7c --- /dev/null +++ b/tasks/prune.yml @@ -0,0 +1,31 @@ +--- + +- name: install cron + apt: + name: cron + update_cache: true + cache_valid_time: 86400 + +- name: check service + service: + name: cron + enabled: yes + +- name: add PATH variable (docker) + cron: + name: PATH + env: true + value: "{{ docker_cron_path }}" + user: root + cron_file: docker + +- name: Schedule Docker system prune at 0:00 every day + ansible.builtin.cron: + name: "Daily Docker system prune" + user: "root" + job: "docker system prune -af --volumes" + special_time: "daily" + hour: "0" + minute: "0" + cron_file: docker + when: docker_cronjob_prune