Initial commit
This commit is contained in:
72
main.yml
Normal file
72
main.yml
Normal file
@@ -0,0 +1,72 @@
|
||||
- name: Template Ansible project
|
||||
hosts: servers
|
||||
become: true
|
||||
|
||||
vars:
|
||||
app_name: "zabbix"
|
||||
docker_users:
|
||||
- "{{ ansible_user }}"
|
||||
- brock
|
||||
|
||||
pre_tasks:
|
||||
- name: Make users passwordless for sudo in group wheel
|
||||
lineinfile:
|
||||
path: /etc/sudoers
|
||||
state: present
|
||||
regexp: '^%wheel'
|
||||
line: '%wheel ALL=(ALL) NOPASSWD: ALL'
|
||||
validate: 'visudo -cf %s'
|
||||
|
||||
roles:
|
||||
- name: geerlingguy.docker
|
||||
|
||||
tasks:
|
||||
- name: Install packages
|
||||
ansible.builtin.package:
|
||||
name:
|
||||
- nfs-common
|
||||
- python3-docker
|
||||
state: present
|
||||
tags: vpn
|
||||
|
||||
- name: Mount an NFS volume
|
||||
ansible.posix.mount:
|
||||
src: 192.168.1.200:/mnt/data-02/share/web
|
||||
path: /mnt/share
|
||||
opts: "rw,sync,hard,nfsvers=3"
|
||||
state: mounted
|
||||
fstype: nfs
|
||||
tags: mount-nfs
|
||||
|
||||
- name: Create /opt/stacks
|
||||
ansible.builtin.file:
|
||||
path: "/opt/stacks"
|
||||
state: directory
|
||||
owner: "{{ ansible_user }}"
|
||||
group: docker
|
||||
mode: '0775'
|
||||
|
||||
- name: "Create /opt/stacks/{{ app_name }}"
|
||||
ansible.builtin.file:
|
||||
path: "/opt/stacks/{{ app_name }}"
|
||||
state: directory
|
||||
owner: "{{ ansible_user }}"
|
||||
group: docker
|
||||
mode: '0775'
|
||||
|
||||
- name: Copy compose stack
|
||||
ansible.builtin.copy:
|
||||
src: "./{{ app_name }}/"
|
||||
dest: "/opt/stacks/{{ app_name }}"
|
||||
owner: "{{ ansible_user }}"
|
||||
mode: '0755'
|
||||
tags: update-config
|
||||
|
||||
- name: "Start {{ app_name }}"
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "/opt/stacks/{{ app_name }}"
|
||||
recreate: always
|
||||
pull: always
|
||||
tags:
|
||||
- update-config
|
||||
- redeploy
|
||||
Reference in New Issue
Block a user