52 lines
1.2 KiB
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
|
|
|