]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/docker/recipes/default.rb
community: Add missing atom file
[chef.git] / cookbooks / docker / recipes / default.rb
index bfdc88a09c8ec018272b2bee0fef0b1d1f0f9a72..aa4aa34f09616aa15c65d1f1ade7c8d1c21afb9a 100644 (file)
 # limitations under the License.
 #
 
-include_recipe "apt"
+include_recipe "apt::docker"
 
 package %w[
   docker-ce
   docker-ce-cli
   containerd.io
+  docker-compose-plugin
 ]
 
 directory "/etc/docker" do
@@ -31,21 +32,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