Merge branch 'docker'

This commit is contained in:
Stefan Haun 2020-11-24 19:31:36 +01:00
commit e94e380b5d
2 changed files with 101 additions and 3 deletions

View file

@ -3,9 +3,13 @@
become: true
vars:
- server_admin: "admin@netz39.de"
- admin_users: [tux, alex]
- ag_timezone: Europe/Berlin
server_admin: "admin@netz39.de"
admin_users: [tux, alex]
ag_timezone: Europe/Berlin
docker_compose_version: "1.25.4"
docker_compose_path: /usr/local/bin/docker-compose
roles:
- role: ansible.timezone
@ -35,5 +39,8 @@
- name: Setup users
include_tasks: tasks/users.yml
- name: Setup Docker
include_tasks: tasks/docker.yml
- name: Setup httpd
include_tasks: tasks/httpd.yml

91
tasks/docker.yml Normal file
View file

@ -0,0 +1,91 @@
# This file is a mash-up of:
# https://github.com/geerlingguy/ansible-role-docker/blob/master/tasks/docker-compose.yml
# https://www.digitalocean.com/community/tutorials/how-to-install-docker-compose-on-debian-9
# and our own stuff …
---
- name: Gather package facts
package_facts:
manager: "auto"
- name: Exit if docker.io is installed
fail:
msg: "Please remove docker.io (Debian vanilla docker package) first!"
when: "'docker.io' in ansible_facts.packages"
- name: Install Docker APT deps
package:
name: "{{ packages }}"
state: present
vars:
packages:
- apt-transport-https
- ca-certificates
- gnupg2
- software-properties-common
- name: add Docker apt-key
apt_key:
url: https://download.docker.com/linux/debian/gpg
state: present
- name: add Docker's APT repository
apt_repository:
repo: deb https://download.docker.com/linux/debian buster stable
state: present
update_cache: true
filename: 'docker'
- name: install Docker
package:
name: "{{ packages }}"
state: present
vars:
packages:
- docker-ce
- name: Set docker configuration
copy:
dest: /etc/docker/daemon.json
content: |
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
}
}
register: docker_config
- name: Restart docker for changed configuration
service:
name: docker
state: restarted
enabled: yes
when: docker_config.changed
- name: Check current docker-compose version.
command: docker-compose --version
register: docker_compose_current_version
changed_when: false
failed_when: false
- name: Delete existing docker-compose version if it's different.
file:
path: "{{ docker_compose_path }}"
state: absent
when: >
docker_compose_current_version.stdout is defined
and docker_compose_version not in docker_compose_current_version.stdout
- name: Install Docker Compose (if configured).
get_url:
url: https://github.com/docker/compose/releases/download/{{ docker_compose_version }}/docker-compose-Linux-x86_64
dest: "{{ docker_compose_path }}"
mode: 0755
- name: Place admin users in docker group
user:
name: "{{ item }}"
groups: docker
append: yes
with_items: "{{ admin_users }}"