]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/docker/recipes/default.rb
docker: activate docker-system-prune.timer
[chef.git] / cookbooks / docker / recipes / default.rb
index bfdc88a09c8ec018272b2bee0fef0b1d1f0f9a72..6e98de4da64b68718a8ea2906031c6c4acd11e35 100644 (file)
@@ -17,7 +17,7 @@
 # limitations under the License.
 #
 
-include_recipe "apt"
+include_recipe "apt::docker"
 
 package %w[
   docker-ce
@@ -31,21 +31,36 @@ directory "/etc/docker" do
   mode "755"
 end
 
-storage_driver = if kitchen?
-                   "vfs"
-                 else
-                   "overlay2"
-                 end
-
 template "/etc/docker/daemon.json" do
   source "daemon.json.erb"
   owner "root"
   group "root"
   mode "644"
-  variables :storage_driver => storage_driver
 end
 
 service "docker" do
   action [:enable, :start]
   subscribes :restart, "template[/etc/docker/daemon.json]"
 end
+
+systemd_service "docker-system-prune" do
+  description "Cleanup up unused docker images and containers"
+  after ["docker.service"]
+  wants ["docker.service"]
+  user "root"
+  exec_start "/usr/bin/docker system prune --all --force"
+  sandbox :enable_network => true
+  memory_deny_write_execute false
+  restrict_address_families "AF_UNIX"
+end
+
+systemd_timer "docker-system-prune" do
+  description "Cleanup up unused docker images and containers"
+  on_boot_sec "2h"
+  on_unit_active_sec "7d"
+  randomized_delay_sec "4h"
+end
+
+service "docker-system-prune.timer" do
+  action [:enable, :start]
+end