From f68537eafc031b0b1833c6e9b927400a366d303e Mon Sep 17 00:00:00 2001 From: Adar Nimrod <nimrod@shore.co.il> Date: Fri, 19 Feb 2021 20:12:40 +0200 Subject: [PATCH] Restart stopped containers after a restart. --- roles/debian_server/files/docker-restart | 7 +++++++ roles/debian_server/handlers/main.yml | 4 ++++ roles/debian_server/tasks/main.yml | 22 ++++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100755 roles/debian_server/files/docker-restart diff --git a/roles/debian_server/files/docker-restart b/roles/debian_server/files/docker-restart new file mode 100755 index 0000000..83542fb --- /dev/null +++ b/roles/debian_server/files/docker-restart @@ -0,0 +1,7 @@ +#!/bin/sh +set -eu + +docker container list \ + --filter 'label=com.docker.compose.project' \ + --filter 'status=exited' \ + --format '{{ .ID }}' | xargs -tr docker start diff --git a/roles/debian_server/handlers/main.yml b/roles/debian_server/handlers/main.yml index 84d9730..a643629 100644 --- a/roles/debian_server/handlers/main.yml +++ b/roles/debian_server/handlers/main.yml @@ -1,4 +1,8 @@ --- +- name: Systemd daemon reload + ansible.builtin.systemd: + daemon_reload: true + - name: Rebuild initramfs command: cmd: update-initramfs -u diff --git a/roles/debian_server/tasks/main.yml b/roles/debian_server/tasks/main.yml index 7be98e5..df12fda 100644 --- a/roles/debian_server/tasks/main.yml +++ b/roles/debian_server/tasks/main.yml @@ -55,6 +55,28 @@ - ufw state: present +- name: Copy the script to start stopped container after a restart + copy: + dest: /usr/share/docker.io/restart-containers + mode: preserve + src: docker-restart + +- name: Create a drop-in directory for the Docker service + file: + path: /etc/systemd/system/docker.service.d + mode: 0o0755 + state: directory + +- name: Restart stopped containers after a restart + copy: + content: | + [Service] + ExecStartPost=/usr/share/docker.io/restart-containers + dest: /etc/systemd/system/docker.service.d/restart-containers.conf + mode: 0o0644 + notify: + - Systemd daemon reload + - name: Rate limit SSH community.general.ufw: rule: limit -- GitLab