Files
graylog/main.yml
2025-08-08 02:20:52 +00:00

72 lines
1.7 KiB
YAML

- 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