init
This commit is contained in:
commit
af35fdeb48
39
README.md
Normal file
39
README.md
Normal file
@ -0,0 +1,39 @@
|
||||
Ansible Role: Docker host
|
||||
=========================
|
||||
|
||||
This roles installs and configures the latest version of docker and docker-compose from the official Docker CE repository.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
None.
|
||||
|
||||
Role Variables
|
||||
--------------
|
||||
|
||||
Available variables are listed below, along with default values (see `defaults/main.yml`):
|
||||
|
||||
docker_compose_version: "v2.4.1"
|
||||
|
||||
The version of docker-compose to install.
|
||||
|
||||
docker_user_username: "root"
|
||||
|
||||
The username that will run docker (specify a user to run docker deamon in rootless mode).
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
None.
|
||||
|
||||
Example Playbook
|
||||
----------------
|
||||
|
||||
- hosts: servers
|
||||
roles:
|
||||
- { role: docker-host }
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
MIT / BSD
|
4
defaults/main.yml
Normal file
4
defaults/main.yml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
# defaults file for docker-host
|
||||
docker_compose_version: "v2.4.1"
|
||||
docker_user_username: "root"
|
2
handlers/main.yml
Normal file
2
handlers/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
---
|
||||
# handlers file for docker-host
|
15
meta/main.yml
Normal file
15
meta/main.yml
Normal file
@ -0,0 +1,15 @@
|
||||
galaxy_info:
|
||||
author: f.spilla
|
||||
description: Opinionated docker and docker-compose installation for Ubuntu.
|
||||
issue_tracker_url: https://git-repo.eu/f.spilla/ansible-docker-host-role/issues
|
||||
license: MIT
|
||||
min_ansible_version: 2.9
|
||||
platforms:
|
||||
- name: Ubuntu
|
||||
versions:
|
||||
- focal
|
||||
- jammy
|
||||
galaxy_tags: []
|
||||
|
||||
dependencies: []
|
||||
|
43
tasks/main.yml
Normal file
43
tasks/main.yml
Normal file
@ -0,0 +1,43 @@
|
||||
---
|
||||
# tasks file for docker-host
|
||||
|
||||
# OS-specific tasks
|
||||
- include_tasks: setup-Ubuntu.yml
|
||||
when: ansible_distribution == 'Ubuntu'
|
||||
|
||||
# Setup tasks
|
||||
- name: Install docker module for python
|
||||
become: true
|
||||
pip:
|
||||
name: docker
|
||||
|
||||
- name: Install docker compose
|
||||
become: true
|
||||
get_url:
|
||||
url: https://github.com/docker/compose/releases/download/{{ docker_compose_version }}/docker-compose-linux-x86_64
|
||||
dest: /usr/local/bin/docker-compose
|
||||
mode: 755
|
||||
|
||||
- name: Create docker group (for root-less docker)
|
||||
become: true
|
||||
group:
|
||||
name: docker
|
||||
state: present
|
||||
|
||||
- name: Add user to the docker group (for root-less docker)
|
||||
become: true
|
||||
user:
|
||||
name: "{{ docker_user_username }}"
|
||||
groups: docker
|
||||
append: true
|
||||
|
||||
- name: Install docker-compose module for python
|
||||
become: true
|
||||
pip:
|
||||
name: docker-compose
|
||||
|
||||
- name: Create base docker folder for apps
|
||||
file:
|
||||
path: ~/docker
|
||||
state: directory
|
||||
become_user: "{{ docker_user_username }}"
|
32
tasks/setup-Ubuntu.yml
Normal file
32
tasks/setup-Ubuntu.yml
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
- name: Install docker prerequisites
|
||||
become: true
|
||||
apt:
|
||||
name:
|
||||
- apt-transport-https
|
||||
- ca-certificates
|
||||
- curl
|
||||
- gnupg-agent
|
||||
- software-properties-common
|
||||
- vim
|
||||
- haveged
|
||||
- python3-pip
|
||||
|
||||
- name: Add docker GPG apt key
|
||||
become: true
|
||||
apt_key:
|
||||
url: https://download.docker.com/linux/ubuntu/gpg
|
||||
state: present
|
||||
|
||||
- name: Add docker PPA for Ubuntu {{ ansible_distribution_release }}
|
||||
become: true
|
||||
apt_repository:
|
||||
repo: deb https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable
|
||||
state: present
|
||||
|
||||
- name: Update apt and install docker-ce
|
||||
become: true
|
||||
apt:
|
||||
name: docker-ce
|
||||
state: latest
|
||||
update_cache: true
|
2
tests/inventory
Normal file
2
tests/inventory
Normal file
@ -0,0 +1,2 @@
|
||||
localhost
|
||||
|
5
tests/test.yml
Normal file
5
tests/test.yml
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
remote_user: root
|
||||
roles:
|
||||
- docker-host
|
2
vars/main.yml
Normal file
2
vars/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
---
|
||||
# vars file for docker-host
|
Loading…
Reference in New Issue
Block a user