masto-aio/ansible/roles/docker/tasks/main.yaml

52 lines
1.2 KiB
YAML

---
- name: install docker
apt:
force_apt_get: yes
name:
- docker.io
- docker-compose-v2
- rsyslog
- name: configure rsyslog to listen for UDP
lineinfile:
path: /etc/rsyslog.conf
regex: "{{ item.regex }}"
line: "{{ item.line }}"
with_items:
- regex: 'load="imudp"'
line: 'module(load="imudp")'
- regex: 'type="imudp"'
line: 'input(type="imudp" port="514")'
register: rsyslogconf
- name: rsyslog conf for docker logs
copy:
dest: /etc/rsyslog.d/10-docker.conf
content: |
$template DockerLogs, "/var/log/docker_%syslogtag:R,ERE,1,ZERO:.*docker/([^\[]+)--end%.log"
if $programname startswith 'docker/' then -?DockerLogs
& stop
register: dockerlogs
- name: restart rsyslog
service:
name: rsyslog
state: restarted
when: rsyslogconf.changed or dockerlogs.changed
- name: Configure docker daemon
copy:
dest: /etc/docker/daemon.json
content: |
{
"log-driver": "syslog",
"log-opts": {
"syslog-address": "udp://127.0.0.1:514",
"syslog-facility": "daemon",
"tag": "{{ '{{' }}.DaemonName{{ '}}' }}/{{ '{{' }}.Name{{ '}}' }}"
}
}
notify: reboot
# yep we reboot for this