diff --git a/ansible/playbook.yml b/ansible/playbook.yml index 0008efe..eb6cd9d 100644 --- a/ansible/playbook.yml +++ b/ansible/playbook.yml @@ -3,3 +3,4 @@ roles: - '20-common-20-ssh' - '20-common-20-change-local-account-password' + - '50-service-mailcow' diff --git a/ansible/roles/50-service-mailcow/files/etc/docker/daemon.json b/ansible/roles/50-service-mailcow/files/etc/docker/daemon.json new file mode 100644 index 0000000..fe48d75 --- /dev/null +++ b/ansible/roles/50-service-mailcow/files/etc/docker/daemon.json @@ -0,0 +1,3 @@ +{ + "selinux-enabled": true +} diff --git a/ansible/roles/50-service-mailcow/handlers/main.yml b/ansible/roles/50-service-mailcow/handlers/main.yml new file mode 100644 index 0000000..a37ee55 --- /dev/null +++ b/ansible/roles/50-service-mailcow/handlers/main.yml @@ -0,0 +1,6 @@ +- name: 'Restart systemd docker.service' + when: '(ansible_facts.services[''docker.service''].state == ''running'')' + listen: 'If running restart systemd docker.service' + ansible.builtin.service: + name: 'docker.service' + state: 'restarted' diff --git a/ansible/roles/50-service-mailcow/tasks/40-install-mailcow.yml b/ansible/roles/50-service-mailcow/tasks/40-install-mailcow.yml new file mode 100644 index 0000000..926b5db --- /dev/null +++ b/ansible/roles/50-service-mailcow/tasks/40-install-mailcow.yml @@ -0,0 +1,64 @@ +- name: 'Add Docker repo' + get_url: + url: 'https://download.docker.com/linux/centos/docker-ce.repo' + dest: '/etc/yum.repos.d/docker-ce.repo' + + + +- name: 'Upgrade all packages' + dnf: + name: '*' + state: 'latest' + + + +- name: 'Install Docker engine basics' + ansible.builtin.dnf: + name: + - 'yum-utils' + - 'docker-ce' + - 'docker-ce-cli' + - 'containerd.io' + - 'docker-compose-plugin' + - 'git' + state: 'latest' + + + +- name: 'Populate service facts' + tags: + - 'testing' + ansible.builtin.service_facts: + + + +- name: 'Store Docker daemon.json' + tags: + - 'testing' + register: 'rv_upload_daemonjson' + ansible.builtin.copy: + src: 'etc/docker/daemon.json' + dest: '/etc/docker/daemon.json' + owner: 'root' + group: 'root' + mode: '0644' + notify: + - 'If running restart systemd docker.service' + + + +- name: 'Start systemd docker.service' + tags: + - 'testing' + when: '(ansible_facts.services[''docker.service''].state != ''running'')' + ansible.builtin.systemd: + name: 'docker.service' + state: 'started' + enabled: 'yes' + + + +# - name: 'Get Mailcow docker-compose repo' +# ansible.builtin.git: +# repo: 'git@quico.space:Quico/containers.git' +# dest: '/opt/git/git/quico.space/Quico/containers/branches/master' diff --git a/ansible/roles/50-service-mailcow/tasks/main.yml b/ansible/roles/50-service-mailcow/tasks/main.yml new file mode 100644 index 0000000..2d7a90a --- /dev/null +++ b/ansible/roles/50-service-mailcow/tasks/main.yml @@ -0,0 +1 @@ +- import_tasks: '40-install-mailcow.yml'