diff --git a/roles/docker/files/docker.conf b/roles/docker/files/docker.conf new file mode 100644 index 0000000..385a626 --- /dev/null +++ b/roles/docker/files/docker.conf @@ -0,0 +1,2 @@ +if $syslogtag contains 'docker/' then /var/log/docker.log +& ~ diff --git a/roles/docker/files/logrotate_docker b/roles/docker/files/logrotate_docker new file mode 100644 index 0000000..ee9d3e3 --- /dev/null +++ b/roles/docker/files/logrotate_docker @@ -0,0 +1,12 @@ +/var/log/docker.log +{ + rotate 7 + daily + missingok + notifempty + delaycompress + compress + postrotate + invoke-rc.d rsyslog rotate > /dev/null + endscript +} diff --git a/roles/docker/handlers/main.yml b/roles/docker/handlers/main.yml new file mode 100644 index 0000000..e490eac --- /dev/null +++ b/roles/docker/handlers/main.yml @@ -0,0 +1,10 @@ +--- +- name: restart docker + service: + name: docker + state: restarted + +- name: restart rsyslog + service: + name: rsyslog + state: restarted diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml new file mode 100644 index 0000000..4ea30bb --- /dev/null +++ b/roles/docker/tasks/main.yml @@ -0,0 +1,34 @@ +- name: Install and configure Docker + tags: [docker, server] + become: true + block: + - name: Install Docker + include_role: + name: nickjj.docker + + - name: Ensure group "docker" exists + group: + name: docker + state: present + + - name: Ensure default user belongs also to docker group + user: + name: "{{ default_user }}" + groups: docker + append: yes + + - name: Add rsyslog custom rules for Docker + copy: + src: docker.conf + dest: /etc/rsyslog.d/docker.conf + owner: root + group: root + mode: u=rw,g=r,o=r + + - name: Add logrotate custom rules for Docker logs + copy: + src: logrotate_docker + dest: /etc/logrotate.d/docker + owner: root + group: root + mode: u=rw,g=r,o=r