You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.5 KiB
93 lines
2.5 KiB
---
|
|
- name: Docker Setup Playbook
|
|
hosts: all
|
|
become: true
|
|
handlers:
|
|
- name: Restart Docker
|
|
service:
|
|
name: docker
|
|
state: restarted
|
|
|
|
tasks:
|
|
- name: Install Docker
|
|
ansible.builtin.shell: |
|
|
curl -fsSL https://get.docker.com -o /tmp/get-docker.sh
|
|
sh /tmp/get-docker.sh && rm /tmp/get-docker.sh
|
|
register: docker_install
|
|
changed_when: "'Docker is installed' in docker_install.stdout"
|
|
|
|
- name: Setup Docker logging
|
|
ansible.builtin.copy:
|
|
dest: /etc/logrotate.d/docker-json
|
|
content: |
|
|
/var/lib/docker/containers/*/*-json.log {
|
|
rotate 7
|
|
daily
|
|
missingok
|
|
notifempty
|
|
nocompress
|
|
copytruncate
|
|
}
|
|
notify: Restart Docker
|
|
|
|
- name: Create Docker build network
|
|
ansible.builtin.shell: |
|
|
docker network create \
|
|
--label build \
|
|
--opt "com.docker.network.driver.mtu=1500" \
|
|
--opt "com.docker.network.bridge.enable_icc=true" \
|
|
--opt "com.docker.network.bridge.name=docker-build" \
|
|
build
|
|
register: network_create
|
|
changed_when: "'build' in network_create.stdout"
|
|
failed_when: "network_create.stderr != '' and 'already exists' not in network_create.stderr"
|
|
|
|
- name: Setup Docker Autostart service
|
|
ansible.builtin.copy:
|
|
dest: /etc/systemd/system/docker-autostart.service
|
|
content: |
|
|
[Unit]
|
|
Description=Docker Autostartup all Containers
|
|
Requires=docker.service
|
|
After=docker.service
|
|
|
|
[Service]
|
|
ExecStart=/bin/bash -c "docker start $(docker ps -aq)"
|
|
ExecStop=/bin/bash -c "docker stop $(docker ps -aq)"
|
|
RemainAfterExit=yes
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
notify: Restart Docker
|
|
|
|
- name: Enable and start Docker autostart service
|
|
ansible.builtin.systemd:
|
|
name: docker-autostart.service
|
|
enabled: yes
|
|
state: started
|
|
|
|
- name: Benutzer anlegen
|
|
user:
|
|
name: dockeruser
|
|
comment: Docker Benutzer
|
|
shell: /bin/bash
|
|
create_home: yes
|
|
|
|
- name: Benutzer zur Docker-Gruppe hinzufügen
|
|
user:
|
|
name: dockeruser
|
|
group: docker
|
|
append: yes
|
|
|
|
- name: Create docker directory
|
|
file:
|
|
path: "/mnt/docker"
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Create docker semaphore directory
|
|
file:
|
|
path: "/mnt/docker/semaphore"
|
|
state: directory
|
|
mode: '0755'
|
|
|