Remove unnecessary use of become
from some roles
This should make execution much faster
This commit is contained in:
parent
25cd394f08
commit
d5a7a61171
68 changed files with 11 additions and 243 deletions
|
@ -5,6 +5,7 @@ retry_files_enabled = False
|
||||||
roles_path = $PWD/galaxy_roles:$PWD/roles
|
roles_path = $PWD/galaxy_roles:$PWD/roles
|
||||||
collections_path = $PWD/galaxy_collections
|
collections_path = $PWD/galaxy_collections
|
||||||
inventory = ./hosts
|
inventory = ./hosts
|
||||||
|
become = True
|
||||||
become_ask_pass = True
|
become_ask_pass = True
|
||||||
interpreter_python = auto_silent
|
interpreter_python = auto_silent
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,7 @@
|
||||||
- hosts: casey
|
- hosts: casey
|
||||||
roles:
|
roles:
|
||||||
- nginx
|
- nginx
|
||||||
- role: geerlingguy.certbot
|
- geerlingguy.certbot
|
||||||
become: true
|
|
||||||
- gateway
|
- gateway
|
||||||
- headscale
|
- headscale
|
||||||
- restic
|
- restic
|
||||||
|
@ -25,7 +24,6 @@
|
||||||
- tang
|
- tang
|
||||||
roles:
|
roles:
|
||||||
- role: geerlingguy.ntp
|
- role: geerlingguy.ntp
|
||||||
become: true
|
|
||||||
vars:
|
vars:
|
||||||
ntp_timezone: "{{ timezone }}"
|
ntp_timezone: "{{ timezone }}"
|
||||||
ntp_manage_config: true
|
ntp_manage_config: true
|
||||||
|
@ -37,8 +35,7 @@
|
||||||
- renovate
|
- renovate
|
||||||
- gitea-runner
|
- gitea-runner
|
||||||
roles:
|
roles:
|
||||||
- role: geerlingguy.docker
|
- geerlingguy.docker
|
||||||
become: true
|
|
||||||
- docker_cleanup
|
- docker_cleanup
|
||||||
|
|
||||||
- hosts:
|
- hosts:
|
||||||
|
@ -75,13 +72,10 @@
|
||||||
|
|
||||||
- hosts: pve
|
- hosts: pve
|
||||||
roles:
|
roles:
|
||||||
- role: ironicbadger.proxmox_nag_removal
|
- ironicbadger.proxmox_nag_removal
|
||||||
become: true
|
|
||||||
- zfs
|
- zfs
|
||||||
- role: ironicbadger.snapraid
|
- ironicbadger.snapraid
|
||||||
become: true
|
- prometheus.prometheus.node_exporter
|
||||||
- role: prometheus.prometheus.node_exporter
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- hosts: forrest
|
- hosts: forrest
|
||||||
roles:
|
roles:
|
||||||
|
@ -98,8 +92,7 @@
|
||||||
- hosts: walker
|
- hosts: walker
|
||||||
roles:
|
roles:
|
||||||
- nginx
|
- nginx
|
||||||
- role: geerlingguy.certbot
|
- geerlingguy.certbot
|
||||||
become: true
|
|
||||||
- coredns_docker_proxy
|
- coredns_docker_proxy
|
||||||
- plausible
|
- plausible
|
||||||
- restic
|
- restic
|
||||||
|
@ -128,6 +121,5 @@
|
||||||
- hosts: tang
|
- hosts: tang
|
||||||
roles:
|
roles:
|
||||||
- adguardhome
|
- adguardhome
|
||||||
- role: prometheus.prometheus.node_exporter
|
- prometheus.prometheus.node_exporter
|
||||||
become: true
|
|
||||||
- restic
|
- restic
|
||||||
|
|
|
@ -3,11 +3,9 @@
|
||||||
name: coredns
|
name: coredns
|
||||||
state: restarted
|
state: restarted
|
||||||
enabled: true
|
enabled: true
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: restart systemd-resolved
|
- name: restart systemd-resolved
|
||||||
service:
|
service:
|
||||||
name: systemd-resolved
|
name: systemd-resolved
|
||||||
state: restarted
|
state: restarted
|
||||||
enabled: true
|
enabled: true
|
||||||
become: true
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
- name: Install adguardhome
|
- name: Install adguardhome
|
||||||
kewlfft.aur.aur:
|
kewlfft.aur.aur:
|
||||||
name: adguardhome-bin
|
name: adguardhome-bin
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Disable resolved stub
|
- name: Disable resolved stub
|
||||||
template:
|
template:
|
||||||
|
@ -10,7 +9,6 @@
|
||||||
owner: root
|
owner: root
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
notify: restart systemd-resolved
|
notify: restart systemd-resolved
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Use resolved resolv.conf
|
- name: Use resolved resolv.conf
|
||||||
file:
|
file:
|
||||||
|
@ -18,12 +16,10 @@
|
||||||
dest: /etc/resolv.conf
|
dest: /etc/resolv.conf
|
||||||
state: link
|
state: link
|
||||||
notify: restart systemd-resolved
|
notify: restart systemd-resolved
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install coredns
|
- name: Install coredns
|
||||||
kewlfft.aur.aur:
|
kewlfft.aur.aur:
|
||||||
name: coredns
|
name: coredns
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install coredns config file
|
- name: Install coredns config file
|
||||||
template:
|
template:
|
||||||
|
@ -32,4 +28,3 @@
|
||||||
owner: coredns
|
owner: coredns
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
notify: restart coredns
|
notify: restart coredns
|
||||||
become: true
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,4 +16,3 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart authentik
|
notify: restart authentik
|
||||||
become: true
|
|
||||||
|
|
|
@ -1,25 +1,21 @@
|
||||||
- name: Install fail2ban
|
- name: Install fail2ban
|
||||||
package:
|
package:
|
||||||
name: fail2ban
|
name: fail2ban
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Enable fail2ban
|
- name: Enable fail2ban
|
||||||
service:
|
service:
|
||||||
name: fail2ban
|
name: fail2ban
|
||||||
enabled: true
|
enabled: true
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: fail2ban SSH jail
|
- name: fail2ban SSH jail
|
||||||
template:
|
template:
|
||||||
src: files/ssh-jail.conf
|
src: files/ssh-jail.conf
|
||||||
dest: /etc/fail2ban/jail.d/ssh.conf
|
dest: /etc/fail2ban/jail.d/ssh.conf
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
become: true
|
|
||||||
register: fail2ban_jail
|
register: fail2ban_jail
|
||||||
|
|
||||||
- name: Restart fail2ban
|
- name: Restart fail2ban
|
||||||
service:
|
service:
|
||||||
name: fail2ban
|
name: fail2ban
|
||||||
state: restarted
|
state: restarted
|
||||||
become: true
|
|
||||||
when: fail2ban_jail.changed
|
when: fail2ban_jail.changed
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
- name: Install logrotate
|
- name: Install logrotate
|
||||||
package:
|
package:
|
||||||
name: logrotate
|
name: logrotate
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Enable logrotate timer
|
- name: Enable logrotate timer
|
||||||
service:
|
service:
|
||||||
name: logrotate.timer
|
name: logrotate.timer
|
||||||
enabled: true
|
enabled: true
|
||||||
become: true
|
|
||||||
when: ansible_os_family == 'Archlinux'
|
when: ansible_os_family == 'Archlinux'
|
||||||
|
|
||||||
- name: logrotate fail2ban config
|
- name: logrotate fail2ban config
|
||||||
|
@ -15,4 +13,3 @@
|
||||||
src: files/fail2ban-logrotate
|
src: files/fail2ban-logrotate
|
||||||
dest: /etc/logrotate.d/fail2ban
|
dest: /etc/logrotate.d/fail2ban
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
become: true
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
- name: Install Base Packages
|
- name: Install Base Packages
|
||||||
package:
|
package:
|
||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
become: true
|
|
||||||
loop:
|
loop:
|
||||||
- htop
|
- htop
|
||||||
- neofetch
|
- neofetch
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
- name: Install OpenSSH for Debian
|
- name: Install OpenSSH for Debian
|
||||||
package:
|
package:
|
||||||
name: openssh-server
|
name: openssh-server
|
||||||
become: true
|
|
||||||
when: ansible_os_family == 'Debian'
|
when: ansible_os_family == 'Debian'
|
||||||
|
|
||||||
- name: Install OpenSSH for Arch
|
- name: Install OpenSSH for Arch
|
||||||
package:
|
package:
|
||||||
name: openssh
|
name: openssh
|
||||||
become: true
|
|
||||||
when: ansible_os_family == 'Archlinux'
|
when: ansible_os_family == 'Archlinux'
|
||||||
|
|
||||||
- name: Define context
|
- name: Define context
|
||||||
|
@ -22,7 +20,6 @@
|
||||||
validate: /usr/sbin/sshd -t -f %s
|
validate: /usr/sbin/sshd -t -f %s
|
||||||
backup: true
|
backup: true
|
||||||
mode: "644"
|
mode: "644"
|
||||||
become: true
|
|
||||||
register: sshd_config
|
register: sshd_config
|
||||||
|
|
||||||
- name: Set up authorized keys
|
- name: Set up authorized keys
|
||||||
|
@ -38,11 +35,9 @@
|
||||||
service:
|
service:
|
||||||
name: sshd
|
name: sshd
|
||||||
enabled: true
|
enabled: true
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Restart SSH Daemon
|
- name: Restart SSH Daemon
|
||||||
service:
|
service:
|
||||||
name: sshd
|
name: sshd
|
||||||
state: reloaded
|
state: reloaded
|
||||||
when: sshd_config.changed
|
when: sshd_config.changed
|
||||||
become: true
|
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
comment: "{{ me.name }}"
|
comment: "{{ me.name }}"
|
||||||
shell: /bin/bash
|
shell: /bin/bash
|
||||||
system: true
|
system: true
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Give user sudo access
|
- name: Give user sudo access
|
||||||
user:
|
user:
|
||||||
name: "{{ me.user }}"
|
name: "{{ me.user }}"
|
||||||
groups: "{{ 'sudo' if ansible_os_family == 'Debian' else 'wheel' }}"
|
groups: "{{ 'sudo' if ansible_os_family == 'Debian' else 'wheel' }}"
|
||||||
append: true
|
append: true
|
||||||
become: true
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,7 +16,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart comentario
|
notify: restart comentario
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install secrets
|
- name: Install secrets
|
||||||
copy:
|
copy:
|
||||||
|
@ -26,7 +24,6 @@
|
||||||
mode: "600"
|
mode: "600"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: restart comentario
|
notify: restart comentario
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install nginx config
|
- name: Install nginx config
|
||||||
template:
|
template:
|
||||||
|
@ -34,7 +31,6 @@
|
||||||
dest: /etc/nginx/http.d/comentario.conf
|
dest: /etc/nginx/http.d/comentario.conf
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
notify: reload nginx
|
notify: reload nginx
|
||||||
become: true
|
|
||||||
vars:
|
vars:
|
||||||
server_name: comentario.theorangeone.net
|
server_name: comentario.theorangeone.net
|
||||||
upstream: comentario-comentario-1.docker:80
|
upstream: comentario-comentario-1.docker:80
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
docker_network:
|
docker_network:
|
||||||
name: coredns
|
name: coredns
|
||||||
internal: true
|
internal: true
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create install directory
|
- name: Create install directory
|
||||||
file:
|
file:
|
||||||
|
@ -10,7 +9,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -20,4 +18,3 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart coredns
|
notify: restart coredns
|
||||||
become: true
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -14,4 +13,3 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart db-auto-backup
|
notify: restart db-auto-backup
|
||||||
become: true
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
- name: Install docker-compose
|
- name: Install docker-compose
|
||||||
package:
|
package:
|
||||||
name: docker-compose
|
name: docker-compose
|
||||||
become: true
|
|
||||||
when: ansible_os_family != 'Debian'
|
when: ansible_os_family != 'Debian'
|
||||||
|
|
||||||
- name: Install compose-switch
|
- name: Install compose-switch
|
||||||
|
@ -9,7 +8,6 @@
|
||||||
url: "{{ docker_compose_url }}"
|
url: "{{ docker_compose_url }}"
|
||||||
dest: "{{ docker_compose_path }}"
|
dest: "{{ docker_compose_path }}"
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
become: true
|
|
||||||
when: ansible_os_family == 'Debian'
|
when: ansible_os_family == 'Debian'
|
||||||
|
|
||||||
- name: Create docker group
|
- name: Create docker group
|
||||||
|
@ -17,7 +15,6 @@
|
||||||
name: "{{ docker_user.name }}"
|
name: "{{ docker_user.name }}"
|
||||||
state: present
|
state: present
|
||||||
gid: "{{ docker_user.id }}"
|
gid: "{{ docker_user.id }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create docker user
|
- name: Create docker user
|
||||||
user:
|
user:
|
||||||
|
@ -25,21 +22,18 @@
|
||||||
uid: "{{ docker_user.id }}"
|
uid: "{{ docker_user.id }}"
|
||||||
group: "{{ docker_user.name }}"
|
group: "{{ docker_user.name }}"
|
||||||
create_home: false
|
create_home: false
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Add user to docker user group
|
- name: Add user to docker user group
|
||||||
user:
|
user:
|
||||||
name: "{{ me.user }}"
|
name: "{{ me.user }}"
|
||||||
groups: "{{ docker_user.name }}"
|
groups: "{{ docker_user.name }}"
|
||||||
append: true
|
append: true
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Add user to docker group
|
- name: Add user to docker group
|
||||||
user:
|
user:
|
||||||
name: "{{ me.user }}"
|
name: "{{ me.user }}"
|
||||||
groups: docker
|
groups: docker
|
||||||
append: true
|
append: true
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Clean up docker containers
|
- name: Clean up docker containers
|
||||||
cron:
|
cron:
|
||||||
|
@ -47,6 +41,7 @@
|
||||||
hour: 1
|
hour: 1
|
||||||
minute: 0
|
minute: 0
|
||||||
job: docker system prune -af --volumes
|
job: docker system prune -af --volumes
|
||||||
|
user: "{{ docker_user.name }}"
|
||||||
|
|
||||||
- name: Install util scripts
|
- name: Install util scripts
|
||||||
copy:
|
copy:
|
||||||
|
@ -54,6 +49,7 @@
|
||||||
dest: "{{ me.home }}"
|
dest: "{{ me.home }}"
|
||||||
mode: "755"
|
mode: "755"
|
||||||
directory_mode: "755"
|
directory_mode: "755"
|
||||||
|
owner: "{{ me.user }}"
|
||||||
|
|
||||||
- name: override docker service for zfs dependencies
|
- name: override docker service for zfs dependencies
|
||||||
include_tasks: zfs-override.yml
|
include_tasks: zfs-override.yml
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
path: /etc/systemd/system/docker.service.d
|
path: /etc/systemd/system/docker.service.d
|
||||||
state: directory
|
state: directory
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create override.conf
|
- name: Create override.conf
|
||||||
copy:
|
copy:
|
||||||
|
@ -12,4 +11,3 @@
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
become: true
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,7 +16,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart gitea
|
notify: restart gitea
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install config file
|
- name: Install config file
|
||||||
template:
|
template:
|
||||||
|
@ -26,7 +24,6 @@
|
||||||
mode: "{{ docker_compose_file_mask }}"
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: restart gitea
|
notify: restart gitea
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create custom templates directory
|
- name: Create custom templates directory
|
||||||
file:
|
file:
|
||||||
|
@ -35,7 +32,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
recurse: true
|
recurse: true
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install custom footer
|
- name: Install custom footer
|
||||||
copy:
|
copy:
|
||||||
|
@ -44,4 +40,3 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_file_mask }}"
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
notify: restart gitea
|
notify: restart gitea
|
||||||
become: true
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install config file
|
- name: Install config file
|
||||||
template:
|
template:
|
||||||
|
@ -13,7 +12,6 @@
|
||||||
mode: "600"
|
mode: "600"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: restart forgejo-runner
|
notify: restart forgejo-runner
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -23,4 +21,3 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart forgejo-runner
|
notify: restart forgejo-runner
|
||||||
become: true
|
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
src: files/nginx-fail2ban-filter.conf
|
src: files/nginx-fail2ban-filter.conf
|
||||||
dest: /etc/fail2ban/filter.d/nginx-tcp.conf
|
dest: /etc/fail2ban/filter.d/nginx-tcp.conf
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
become: true
|
|
||||||
register: fail2ban_filter
|
register: fail2ban_filter
|
||||||
|
|
||||||
- name: fail2ban jail
|
- name: fail2ban jail
|
||||||
|
@ -11,12 +10,10 @@
|
||||||
src: files/nginx-fail2ban-jail.conf
|
src: files/nginx-fail2ban-jail.conf
|
||||||
dest: /etc/fail2ban/jail.d/nginx.conf
|
dest: /etc/fail2ban/jail.d/nginx.conf
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
become: true
|
|
||||||
register: fail2ban_jail
|
register: fail2ban_jail
|
||||||
|
|
||||||
- name: Restart fail2ban
|
- name: Restart fail2ban
|
||||||
service:
|
service:
|
||||||
name: fail2ban
|
name: fail2ban
|
||||||
state: restarted
|
state: restarted
|
||||||
become: true
|
|
||||||
when: fail2ban_filter.changed or fail2ban_jail.changed
|
when: fail2ban_filter.changed or fail2ban_jail.changed
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
src: files/nginx.conf
|
src: files/nginx.conf
|
||||||
dest: /etc/nginx/stream.d/gateway.conf
|
dest: /etc/nginx/stream.d/gateway.conf
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
become: true
|
|
||||||
register: nginx_config
|
register: nginx_config
|
||||||
|
|
||||||
- name: Install CDN config
|
- name: Install CDN config
|
||||||
|
@ -11,12 +10,10 @@
|
||||||
src: files/nginx-cdn.conf
|
src: files/nginx-cdn.conf
|
||||||
dest: /etc/nginx/http.d/cdn.conf
|
dest: /etc/nginx/http.d/cdn.conf
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
become: true
|
|
||||||
register: nginx_config
|
register: nginx_config
|
||||||
|
|
||||||
- name: Reload Nginx
|
- name: Reload Nginx
|
||||||
service:
|
service:
|
||||||
name: nginx
|
name: nginx
|
||||||
state: reloaded
|
state: reloaded
|
||||||
become: true
|
|
||||||
when: nginx_config.changed
|
when: nginx_config.changed
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
- name: Install wireguard tools
|
- name: Install wireguard tools
|
||||||
package:
|
package:
|
||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
become: true
|
|
||||||
loop:
|
loop:
|
||||||
- wireguard-tools
|
- wireguard-tools
|
||||||
- qrencode
|
- qrencode
|
||||||
|
@ -12,21 +11,18 @@
|
||||||
dest: /etc/wireguard/wg0.conf
|
dest: /etc/wireguard/wg0.conf
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
backup: true
|
backup: true
|
||||||
become: true
|
|
||||||
register: wireguard_conf
|
register: wireguard_conf
|
||||||
|
|
||||||
- name: Enable wireguard
|
- name: Enable wireguard
|
||||||
service:
|
service:
|
||||||
name: wg-quick@wg0
|
name: wg-quick@wg0
|
||||||
enabled: true
|
enabled: true
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Restart wireguard
|
- name: Restart wireguard
|
||||||
service:
|
service:
|
||||||
name: wg-quick@wg0
|
name: wg-quick@wg0
|
||||||
state: restarted
|
state: restarted
|
||||||
when: wireguard_conf.changed
|
when: wireguard_conf.changed
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create wireguard client directory
|
- name: Create wireguard client directory
|
||||||
file:
|
file:
|
||||||
|
|
|
@ -2,4 +2,3 @@
|
||||||
service:
|
service:
|
||||||
name: wg-quick@glinet
|
name: wg-quick@glinet
|
||||||
state: restarted
|
state: restarted
|
||||||
become: true
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
- name: Install wireguard tools
|
- name: Install wireguard tools
|
||||||
package:
|
package:
|
||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
become: true
|
|
||||||
loop:
|
loop:
|
||||||
- wireguard-tools
|
- wireguard-tools
|
||||||
- qrencode
|
- qrencode
|
||||||
|
@ -15,7 +14,6 @@
|
||||||
dest: /etc/wireguard/glinet.conf
|
dest: /etc/wireguard/glinet.conf
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
backup: true
|
backup: true
|
||||||
become: true
|
|
||||||
notify: restart wireguard
|
notify: restart wireguard
|
||||||
|
|
||||||
- name: Wireguard client config
|
- name: Wireguard client config
|
||||||
|
@ -24,11 +22,9 @@
|
||||||
dest: "{{ me.home }}/glinet-vpn.conf"
|
dest: "{{ me.home }}/glinet-vpn.conf"
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
owner: "{{ me.user }}"
|
owner: "{{ me.user }}"
|
||||||
become: true
|
|
||||||
notify: restart wireguard
|
notify: restart wireguard
|
||||||
|
|
||||||
- name: Enable wireguard
|
- name: Enable wireguard
|
||||||
service:
|
service:
|
||||||
name: wg-quick@glinet
|
name: wg-quick@glinet
|
||||||
enabled: true
|
enabled: true
|
||||||
become: true
|
|
||||||
|
|
|
@ -3,4 +3,3 @@
|
||||||
name: headscale
|
name: headscale
|
||||||
state: restarted
|
state: restarted
|
||||||
enabled: true
|
enabled: true
|
||||||
become: true
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
- name: Install Headscale
|
- name: Install Headscale
|
||||||
package:
|
package:
|
||||||
name: headscale
|
name: headscale
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install headscale config file
|
- name: Install headscale config file
|
||||||
template:
|
template:
|
||||||
|
@ -13,7 +12,6 @@
|
||||||
owner: headscale
|
owner: headscale
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
notify: restart headscale
|
notify: restart headscale
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install ACLs
|
- name: Install ACLs
|
||||||
template:
|
template:
|
||||||
|
@ -22,12 +20,10 @@
|
||||||
owner: headscale
|
owner: headscale
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
notify: restart headscale
|
notify: restart headscale
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install nginx config
|
- name: Install nginx config
|
||||||
template:
|
template:
|
||||||
src: files/nginx.conf
|
src: files/nginx.conf
|
||||||
dest: /etc/nginx/http.d/headscale.conf
|
dest: /etc/nginx/http.d/headscale.conf
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
become: true
|
|
||||||
notify: reload nginx
|
notify: reload nginx
|
||||||
|
|
|
@ -2,4 +2,3 @@
|
||||||
service:
|
service:
|
||||||
name: squid
|
name: squid
|
||||||
state: restarted
|
state: restarted
|
||||||
become: true
|
|
||||||
|
|
|
@ -1,18 +1,15 @@
|
||||||
- name: Install squid
|
- name: Install squid
|
||||||
package:
|
package:
|
||||||
name: squid
|
name: squid
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Squid config
|
- name: Squid config
|
||||||
template:
|
template:
|
||||||
src: files/squid.conf
|
src: files/squid.conf
|
||||||
dest: /etc/squid/squid.conf
|
dest: /etc/squid/squid.conf
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
become: true
|
|
||||||
notify: restart squid
|
notify: restart squid
|
||||||
|
|
||||||
- name: Enable squid
|
- name: Enable squid
|
||||||
service:
|
service:
|
||||||
name: squid
|
name: squid
|
||||||
enabled: true
|
enabled: true
|
||||||
become: true
|
|
||||||
|
|
|
@ -2,13 +2,11 @@
|
||||||
service:
|
service:
|
||||||
name: wg-quick@wg0
|
name: wg-quick@wg0
|
||||||
state: restarted
|
state: restarted
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: reload nginx
|
- name: reload nginx
|
||||||
service:
|
service:
|
||||||
name: nginx
|
name: nginx
|
||||||
state: reloaded
|
state: reloaded
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: reload nftables
|
- name: reload nftables
|
||||||
command:
|
command:
|
||||||
|
@ -16,4 +14,3 @@
|
||||||
- nft
|
- nft
|
||||||
- -f
|
- -f
|
||||||
- /etc/nftables.conf
|
- /etc/nftables.conf
|
||||||
become: true
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
- name: Install nftables
|
- name: Install nftables
|
||||||
package:
|
package:
|
||||||
name: nftables
|
name: nftables
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Copy firewall config
|
- name: Copy firewall config
|
||||||
template:
|
template:
|
||||||
|
@ -9,7 +8,6 @@
|
||||||
dest: /etc/nftables.conf
|
dest: /etc/nftables.conf
|
||||||
validate: nft -c -f %s
|
validate: nft -c -f %s
|
||||||
mode: "644"
|
mode: "644"
|
||||||
become: true
|
|
||||||
notify: reload nftables
|
notify: reload nftables
|
||||||
|
|
||||||
- name: Enable nftables
|
- name: Enable nftables
|
||||||
|
@ -17,4 +15,3 @@
|
||||||
name: nftables
|
name: nftables
|
||||||
enabled: true
|
enabled: true
|
||||||
state: started
|
state: started
|
||||||
become: true
|
|
||||||
|
|
|
@ -3,5 +3,4 @@
|
||||||
src: files/nginx.conf
|
src: files/nginx.conf
|
||||||
dest: /etc/nginx/stream.d/ingress.conf
|
dest: /etc/nginx/stream.d/ingress.conf
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
become: true
|
|
||||||
notify: reload nginx
|
notify: reload nginx
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
- name: Install Wireguard
|
- name: Install Wireguard
|
||||||
package:
|
package:
|
||||||
name:
|
name: wireguard
|
||||||
- wireguard
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Get wireguard credentials
|
- name: Get wireguard credentials
|
||||||
set_fact:
|
set_fact:
|
||||||
|
@ -14,14 +12,12 @@
|
||||||
dest: /etc/wireguard/wg0.conf
|
dest: /etc/wireguard/wg0.conf
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
backup: true
|
backup: true
|
||||||
become: true
|
|
||||||
notify: restart wireguard
|
notify: restart wireguard
|
||||||
|
|
||||||
- name: Enable wireguard
|
- name: Enable wireguard
|
||||||
service:
|
service:
|
||||||
name: wg-quick@wg0
|
name: wg-quick@wg0
|
||||||
enabled: true
|
enabled: true
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Enable p2p communication
|
- name: Enable p2p communication
|
||||||
sysctl:
|
sysctl:
|
||||||
|
@ -31,4 +27,3 @@
|
||||||
state: present
|
state: present
|
||||||
reload: true
|
reload: true
|
||||||
sysctl_file: /etc/sysctl.d/99-sysctl.conf
|
sysctl_file: /etc/sysctl.d/99-sysctl.conf
|
||||||
become: true
|
|
||||||
|
|
|
@ -2,23 +2,19 @@
|
||||||
ansible.builtin.apt_key:
|
ansible.builtin.apt_key:
|
||||||
url: https://repo.jellyfin.org/jellyfin_team.gpg.key
|
url: https://repo.jellyfin.org/jellyfin_team.gpg.key
|
||||||
state: present
|
state: present
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Add Jellyfin repository
|
- name: Add Jellyfin repository
|
||||||
apt_repository:
|
apt_repository:
|
||||||
repo: deb [arch=amd64] https://repo.jellyfin.org/debian {{ ansible_distribution_release }} main
|
repo: deb [arch=amd64] https://repo.jellyfin.org/debian {{ ansible_distribution_release }} main
|
||||||
filename: jellyfin
|
filename: jellyfin
|
||||||
state: present
|
state: present
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install jellyfin
|
- name: Install jellyfin
|
||||||
package:
|
package:
|
||||||
name: jellyfin
|
name: jellyfin
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Set media dir permissions
|
- name: Set media dir permissions
|
||||||
cron:
|
cron:
|
||||||
name: Set media permissions
|
name: Set media permissions
|
||||||
special_time: daily
|
special_time: daily
|
||||||
job: chown -R jellyfin:jellyfin /mnt/media
|
job: chown -R jellyfin:jellyfin /mnt/media
|
||||||
become: true
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,7 +16,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart mastodon
|
notify: restart mastodon
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install media cleanup script
|
- name: Install media cleanup script
|
||||||
template:
|
template:
|
||||||
|
@ -25,7 +23,6 @@
|
||||||
dest: /opt/mastodon/purge-media.sh
|
dest: /opt/mastodon/purge-media.sh
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Schedule media cleanup
|
- name: Schedule media cleanup
|
||||||
cron:
|
cron:
|
||||||
|
@ -35,4 +32,3 @@
|
||||||
weekday: 1
|
weekday: 1
|
||||||
job: /opt/mastodon/purge-media.sh
|
job: /opt/mastodon/purge-media.sh
|
||||||
user: "{{ me.user }}"
|
user: "{{ me.user }}"
|
||||||
become: true
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,4 +16,3 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart minio
|
notify: restart minio
|
||||||
become: true
|
|
||||||
|
|
|
@ -2,4 +2,3 @@
|
||||||
service:
|
service:
|
||||||
name: nginx
|
name: nginx
|
||||||
state: reloaded
|
state: reloaded
|
||||||
become: true
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
- name: Install nginx
|
- name: Install nginx
|
||||||
package:
|
package:
|
||||||
name: nginx
|
name: nginx
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install nginx modules
|
- name: Install nginx modules
|
||||||
package:
|
package:
|
||||||
|
@ -11,7 +10,6 @@
|
||||||
- libnginx-mod-http-brotli-filter
|
- libnginx-mod-http-brotli-filter
|
||||||
- libnginx-mod-stream
|
- libnginx-mod-stream
|
||||||
when: ansible_os_family != 'Archlinux'
|
when: ansible_os_family != 'Archlinux'
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install nginx modules (on Arch)
|
- name: Install nginx modules (on Arch)
|
||||||
kewlfft.aur.aur:
|
kewlfft.aur.aur:
|
||||||
|
@ -20,12 +18,10 @@
|
||||||
- nginx-mod-headers-more
|
- nginx-mod-headers-more
|
||||||
- nginx-mod-brotli
|
- nginx-mod-brotli
|
||||||
when: ansible_os_family == 'Archlinux'
|
when: ansible_os_family == 'Archlinux'
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Generate Diffie-Hellman parameters
|
- name: Generate Diffie-Hellman parameters
|
||||||
community.crypto.openssl_dhparam:
|
community.crypto.openssl_dhparam:
|
||||||
path: /etc/nginx/dhparams.pem
|
path: /etc/nginx/dhparams.pem
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create config directories
|
- name: Create config directories
|
||||||
file:
|
file:
|
||||||
|
@ -36,7 +32,6 @@
|
||||||
- http.d
|
- http.d
|
||||||
- stream.d
|
- stream.d
|
||||||
- includes
|
- includes
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Copy config files
|
- name: Copy config files
|
||||||
template:
|
template:
|
||||||
|
@ -44,7 +39,6 @@
|
||||||
dest: /etc/nginx/includes/{{ item | basename }}
|
dest: /etc/nginx/includes/{{ item | basename }}
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
with_fileglob: files/includes/*.conf
|
with_fileglob: files/includes/*.conf
|
||||||
become: true
|
|
||||||
notify: reload nginx
|
notify: reload nginx
|
||||||
|
|
||||||
- name: Install config
|
- name: Install config
|
||||||
|
@ -52,7 +46,6 @@
|
||||||
src: files/nginx.conf
|
src: files/nginx.conf
|
||||||
dest: /etc/nginx/nginx.conf
|
dest: /etc/nginx/nginx.conf
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
become: true
|
|
||||||
notify: reload nginx
|
notify: reload nginx
|
||||||
|
|
||||||
- name: Install HTTPS redirect
|
- name: Install HTTPS redirect
|
||||||
|
@ -60,6 +53,5 @@
|
||||||
src: files/nginx-https-redirect.conf
|
src: files/nginx-https-redirect.conf
|
||||||
dest: /etc/nginx/http.d/https-redirect.conf
|
dest: /etc/nginx/http.d/https-redirect.conf
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
become: true
|
|
||||||
notify: reload nginx
|
notify: reload nginx
|
||||||
when: nginx_https_redirect
|
when: nginx_https_redirect
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,4 +16,3 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart ntfy
|
notify: restart ntfy
|
||||||
become: true
|
|
||||||
|
|
|
@ -1,18 +1,15 @@
|
||||||
- name: Install Pacman utils
|
- name: Install Pacman utils
|
||||||
package:
|
package:
|
||||||
name: pacman-contrib
|
name: pacman-contrib
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create hooks directory
|
- name: Create hooks directory
|
||||||
file:
|
file:
|
||||||
path: /etc/pacman.d/hooks/
|
path: /etc/pacman.d/hooks/
|
||||||
state: directory
|
state: directory
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install pacman hook
|
- name: Install pacman hook
|
||||||
template:
|
template:
|
||||||
src: files/paccache.hook
|
src: files/paccache.hook
|
||||||
dest: /etc/pacman.d/hooks/clean_package_cache.hook
|
dest: /etc/pacman.d/hooks/clean_package_cache.hook
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
become: true
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install clickhouse config
|
- name: Install clickhouse config
|
||||||
template:
|
template:
|
||||||
|
@ -15,7 +14,6 @@
|
||||||
dest: /opt/plausible/docker_related_config.xml
|
dest: /opt/plausible/docker_related_config.xml
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
notify: restart plausible
|
notify: restart plausible
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install clickhouse user config
|
- name: Install clickhouse user config
|
||||||
template:
|
template:
|
||||||
|
@ -23,7 +21,6 @@
|
||||||
dest: /opt/plausible/docker_related_user_config.xml
|
dest: /opt/plausible/docker_related_user_config.xml
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
notify: restart plausible
|
notify: restart plausible
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -33,7 +30,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart plausible
|
notify: restart plausible
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install nginx config
|
- name: Install nginx config
|
||||||
template:
|
template:
|
||||||
|
@ -41,7 +37,6 @@
|
||||||
dest: /etc/nginx/http.d/plausible.conf
|
dest: /etc/nginx/http.d/plausible.conf
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
notify: reload nginx
|
notify: reload nginx
|
||||||
become: true
|
|
||||||
vars:
|
vars:
|
||||||
server_name: plausible.theorangeone.net elbisualp.theorangeone.net
|
server_name: plausible.theorangeone.net elbisualp.theorangeone.net
|
||||||
upstream: plausible-plausible-1.docker:8000
|
upstream: plausible-plausible-1.docker:8000
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -14,7 +13,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart privatebin
|
notify: restart privatebin
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install config file
|
- name: Install config file
|
||||||
template:
|
template:
|
||||||
|
@ -23,4 +21,3 @@
|
||||||
mode: "{{ docker_compose_file_mask }}"
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: restart privatebin
|
notify: restart privatebin
|
||||||
become: true
|
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install grafana compose file
|
- name: Install grafana compose file
|
||||||
template:
|
template:
|
||||||
|
@ -18,4 +17,3 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart grafana
|
notify: restart grafana
|
||||||
become: true
|
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
- "{{ vps_hosts.private_ipv6_range }}"
|
- "{{ vps_hosts.private_ipv6_range }}"
|
||||||
register: routes
|
register: routes
|
||||||
changed_when: false
|
changed_when: false
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Add route to private services via ingress
|
- name: Add route to private services via ingress
|
||||||
command:
|
command:
|
||||||
|
@ -31,5 +30,4 @@
|
||||||
- "{{ pve_hosts.ingress.ipv6 }}"
|
- "{{ pve_hosts.ingress.ipv6 }}"
|
||||||
- dev
|
- dev
|
||||||
- eth0
|
- eth0
|
||||||
become: true
|
|
||||||
when: vps_hosts.private_ipv6_marker not in routes.stdout
|
when: vps_hosts.private_ipv6_marker not in routes.stdout
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install prometheus config
|
- name: Install prometheus config
|
||||||
template:
|
template:
|
||||||
|
@ -13,7 +12,6 @@
|
||||||
mode: "{{ docker_compose_file_mask }}"
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: reload prometheus
|
notify: reload prometheus
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install prometheus compose file
|
- name: Install prometheus compose file
|
||||||
template:
|
template:
|
||||||
|
@ -23,7 +21,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart prometheus
|
notify: restart prometheus
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install blackbox config
|
- name: Install blackbox config
|
||||||
template:
|
template:
|
||||||
|
@ -32,7 +29,6 @@
|
||||||
mode: "{{ docker_compose_file_mask }}"
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: restart prometheus
|
notify: restart prometheus
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install alertmanager config
|
- name: Install alertmanager config
|
||||||
template:
|
template:
|
||||||
|
@ -41,7 +37,6 @@
|
||||||
mode: "{{ docker_compose_file_mask }}"
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: restart prometheus
|
notify: restart prometheus
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install prometheus alert rules
|
- name: Install prometheus alert rules
|
||||||
copy:
|
copy:
|
||||||
|
@ -50,4 +45,3 @@
|
||||||
mode: "{{ docker_compose_file_mask }}"
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: reload prometheus
|
notify: reload prometheus
|
||||||
become: true
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install calibre compose file
|
- name: Install calibre compose file
|
||||||
template:
|
template:
|
||||||
|
@ -14,7 +13,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
register: compose_file
|
register: compose_file
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: restart calibre
|
- name: restart calibre
|
||||||
shell:
|
shell:
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install librespeed compose file
|
- name: Install librespeed compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,7 +16,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
register: compose_file
|
register: compose_file
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: restart librespeed
|
- name: restart librespeed
|
||||||
shell:
|
shell:
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install nextcloud compose file
|
- name: Install nextcloud compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,7 +16,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
register: compose_file
|
register: compose_file
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install nextcloud config
|
- name: Install nextcloud config
|
||||||
template:
|
template:
|
||||||
|
@ -26,7 +24,6 @@
|
||||||
mode: "{{ docker_compose_file_mask }}"
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
register: config_file
|
register: config_file
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install occ script
|
- name: Install occ script
|
||||||
template:
|
template:
|
||||||
|
@ -34,7 +31,6 @@
|
||||||
dest: /opt/nextcloud/occ
|
dest: /opt/nextcloud/occ
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: restart nextcloud
|
- name: restart nextcloud
|
||||||
shell:
|
shell:
|
||||||
|
@ -47,4 +43,3 @@
|
||||||
name: Set nextcloud data permissions
|
name: Set nextcloud data permissions
|
||||||
special_time: daily
|
special_time: daily
|
||||||
job: chown -R {{ docker_user.name }}:{{ docker_user.name }} /mnt/tank/files/nextcloud
|
job: chown -R {{ docker_user.name }}:{{ docker_user.name }} /mnt/tank/files/nextcloud
|
||||||
become: true
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install quassel compose file
|
- name: Install quassel compose file
|
||||||
template:
|
template:
|
||||||
|
@ -14,7 +13,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
register: compose_file
|
register: compose_file
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: restart quassel
|
- name: restart quassel
|
||||||
shell:
|
shell:
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install synapse compose file
|
- name: Install synapse compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,7 +16,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
register: compose_file
|
register: compose_file
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install synapse config
|
- name: Install synapse config
|
||||||
template:
|
template:
|
||||||
|
@ -26,7 +24,6 @@
|
||||||
mode: "{{ docker_compose_file_mask }}"
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
register: homeserver_config
|
register: homeserver_config
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: restart synapse
|
- name: restart synapse
|
||||||
shell:
|
shell:
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create tt-rss plugins directory
|
- name: Create tt-rss plugins directory
|
||||||
file:
|
file:
|
||||||
|
@ -13,7 +12,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
register: plugins_dir
|
register: plugins_dir
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install tt-rss compose file
|
- name: Install tt-rss compose file
|
||||||
template:
|
template:
|
||||||
|
@ -23,7 +21,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
register: compose_file
|
register: compose_file
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install fever plugin
|
- name: Install fever plugin
|
||||||
git:
|
git:
|
||||||
|
@ -41,7 +38,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: u=rwX,g=rwX,o=rX
|
mode: u=rwX,g=rwX,o=rX
|
||||||
recurse: true
|
recurse: true
|
||||||
become: true
|
|
||||||
when: fever_plugin.changed
|
when: fever_plugin.changed
|
||||||
|
|
||||||
- name: restart tt-rss
|
- name: restart tt-rss
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install wallabag compose file
|
- name: Install wallabag compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,7 +16,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
register: compose_file
|
register: compose_file
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: restart wallabag
|
- name: restart wallabag
|
||||||
shell:
|
shell:
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install whoami compose file
|
- name: Install whoami compose file
|
||||||
template:
|
template:
|
||||||
|
@ -14,7 +13,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
register: compose_file
|
register: compose_file
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: restart whoami
|
- name: restart whoami
|
||||||
shell:
|
shell:
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
- "{{ tailscale_cidr }}"
|
- "{{ tailscale_cidr }}"
|
||||||
register: routes
|
register: routes
|
||||||
changed_when: false
|
changed_when: false
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Add route to tailscale hosts via ingress
|
- name: Add route to tailscale hosts via ingress
|
||||||
command:
|
command:
|
||||||
|
@ -18,5 +17,4 @@
|
||||||
- "{{ tailscale_cidr }}"
|
- "{{ tailscale_cidr }}"
|
||||||
- via
|
- via
|
||||||
- "{{ pve_hosts.ingress.ip }}"
|
- "{{ pve_hosts.ingress.ip }}"
|
||||||
become: true
|
|
||||||
when: tailscale_cidr not in routes.stdout
|
when: tailscale_cidr not in routes.stdout
|
||||||
|
|
|
@ -2,10 +2,8 @@
|
||||||
service:
|
service:
|
||||||
name: nginx
|
name: nginx
|
||||||
state: reloaded
|
state: reloaded
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: restart qbittorrent
|
- name: restart qbittorrent
|
||||||
service:
|
service:
|
||||||
name: qbittorrent-nox@{{ qbittorrent_user.name }}
|
name: qbittorrent-nox@{{ qbittorrent_user.name }}
|
||||||
state: restarted
|
state: restarted
|
||||||
become: true
|
|
||||||
|
|
|
@ -3,5 +3,4 @@
|
||||||
src: files/nginx.conf
|
src: files/nginx.conf
|
||||||
dest: /etc/nginx/http.d/downloads.conf
|
dest: /etc/nginx/http.d/downloads.conf
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
become: true
|
|
||||||
notify: reload nginx
|
notify: reload nginx
|
||||||
|
|
|
@ -1,20 +1,17 @@
|
||||||
- name: Install qbittorrent
|
- name: Install qbittorrent
|
||||||
package:
|
package:
|
||||||
name: qbittorrent-nox
|
name: qbittorrent-nox
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create user
|
- name: Create user
|
||||||
user:
|
user:
|
||||||
name: qbittorrent
|
name: qbittorrent
|
||||||
system: true
|
system: true
|
||||||
become: true
|
|
||||||
register: qbittorrent_user
|
register: qbittorrent_user
|
||||||
|
|
||||||
- name: Enable service
|
- name: Enable service
|
||||||
service:
|
service:
|
||||||
name: qbittorrent-nox@{{ qbittorrent_user.name }}
|
name: qbittorrent-nox@{{ qbittorrent_user.name }}
|
||||||
enabled: true
|
enabled: true
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Set configuration
|
- name: Set configuration
|
||||||
ini_file:
|
ini_file:
|
||||||
|
@ -42,5 +39,4 @@
|
||||||
- {section: Preferences, option: Bittorrent\MaxConnecsPerTorrent, value: -1"}
|
- {section: Preferences, option: Bittorrent\MaxConnecsPerTorrent, value: -1"}
|
||||||
- {section: Preferences, option: Bittorrent\MaxUploads, value: -1"}
|
- {section: Preferences, option: Bittorrent\MaxUploads, value: -1"}
|
||||||
- {section: Preferences, option: Bittorrent\MaxUploadsPerTorrent, value: -1"}
|
- {section: Preferences, option: Bittorrent\MaxUploadsPerTorrent, value: -1"}
|
||||||
become: true
|
|
||||||
notify: restart qbittorrent
|
notify: restart qbittorrent
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,7 +16,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart renovate
|
notify: restart renovate
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install config file
|
- name: Install config file
|
||||||
template:
|
template:
|
||||||
|
@ -26,7 +24,6 @@
|
||||||
mode: "{{ docker_compose_file_mask }}"
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: restart renovate
|
notify: restart renovate
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install custom entrypoint
|
- name: Install custom entrypoint
|
||||||
template:
|
template:
|
||||||
|
@ -35,4 +32,3 @@
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: restart renovate
|
notify: restart renovate
|
||||||
become: true
|
|
||||||
|
|
|
@ -1,21 +1,18 @@
|
||||||
- name: Install CIFS utils
|
- name: Install CIFS utils
|
||||||
package:
|
package:
|
||||||
name: cifs-utils
|
name: cifs-utils
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create dir for CIFS mount
|
- name: Create dir for CIFS mount
|
||||||
file:
|
file:
|
||||||
path: /mnt/home-assistant
|
path: /mnt/home-assistant
|
||||||
state: directory
|
state: directory
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create dir for each CIFS mount
|
- name: Create dir for each CIFS mount
|
||||||
file:
|
file:
|
||||||
path: /mnt/home-assistant/{{ item }}
|
path: /mnt/home-assistant/{{ item }}
|
||||||
state: directory
|
state: directory
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
become: true
|
|
||||||
loop: "{{ restic_homeassistant_mounts }}"
|
loop: "{{ restic_homeassistant_mounts }}"
|
||||||
|
|
||||||
- name: Create mounts
|
- name: Create mounts
|
||||||
|
@ -25,5 +22,4 @@
|
||||||
opts: username=homeassistant,password={{ vault_homeassistant_smb_password }}
|
opts: username=homeassistant,password={{ vault_homeassistant_smb_password }}
|
||||||
src: //{{ pve_hosts.homeassistant.ip }}/{{ item }}
|
src: //{{ pve_hosts.homeassistant.ip }}/{{ item }}
|
||||||
state: mounted
|
state: mounted
|
||||||
become: true
|
|
||||||
loop: "{{ restic_homeassistant_mounts }}"
|
loop: "{{ restic_homeassistant_mounts }}"
|
||||||
|
|
|
@ -1,19 +1,16 @@
|
||||||
- name: Install restic
|
- name: Install restic
|
||||||
package:
|
package:
|
||||||
name: restic
|
name: restic
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install runitor
|
- name: Install runitor
|
||||||
kewlfft.aur.aur:
|
kewlfft.aur.aur:
|
||||||
name: runitor-bin
|
name: runitor-bin
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Make user
|
- name: Make user
|
||||||
user:
|
user:
|
||||||
name: restic
|
name: restic
|
||||||
shell: /bin/nologin
|
shell: /bin/nologin
|
||||||
system: false
|
system: false
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install scripts
|
- name: Install scripts
|
||||||
template:
|
template:
|
||||||
|
@ -25,7 +22,6 @@
|
||||||
- backrest.sh
|
- backrest.sh
|
||||||
- restic-backup.sh
|
- restic-backup.sh
|
||||||
- restic-forget.sh
|
- restic-forget.sh
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install includes files
|
- name: Install includes files
|
||||||
copy:
|
copy:
|
||||||
|
@ -33,7 +29,6 @@
|
||||||
dest: /home/restic/restic-include.txt
|
dest: /home/restic/restic-include.txt
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
owner: restic
|
owner: restic
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install excludes files
|
- name: Install excludes files
|
||||||
copy:
|
copy:
|
||||||
|
@ -41,7 +36,6 @@
|
||||||
dest: /home/restic/restic-excludes.txt
|
dest: /home/restic/restic-excludes.txt
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
owner: restic
|
owner: restic
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Set restic binary permissions
|
- name: Set restic binary permissions
|
||||||
file:
|
file:
|
||||||
|
@ -49,13 +43,11 @@
|
||||||
mode: "0750"
|
mode: "0750"
|
||||||
owner: root
|
owner: root
|
||||||
group: restic
|
group: restic
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Set cap_sys_chroot=+ep on restic
|
- name: Set cap_sys_chroot=+ep on restic
|
||||||
community.general.capabilities:
|
community.general.capabilities:
|
||||||
path: /usr/bin/restic
|
path: /usr/bin/restic
|
||||||
capability: cap_dac_read_search=+ep
|
capability: cap_dac_read_search=+ep
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Schedule backup
|
- name: Schedule backup
|
||||||
cron:
|
cron:
|
||||||
|
@ -64,7 +56,6 @@
|
||||||
minute: 0
|
minute: 0
|
||||||
job: CHECK_UUID={{ vault_restic_healthchecks_id }} /usr/bin/runitor -- /home/restic/restic-backup.sh
|
job: CHECK_UUID={{ vault_restic_healthchecks_id }} /usr/bin/runitor -- /home/restic/restic-backup.sh
|
||||||
user: restic
|
user: restic
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Schedule forget
|
- name: Schedule forget
|
||||||
cron:
|
cron:
|
||||||
|
@ -74,7 +65,6 @@
|
||||||
weekday: 0
|
weekday: 0
|
||||||
job: CHECK_UUID={{ vault_restic_forget_healthchecks_id }} /usr/bin/runitor -- /home/restic/restic-forget.sh
|
job: CHECK_UUID={{ vault_restic_forget_healthchecks_id }} /usr/bin/runitor -- /home/restic/restic-forget.sh
|
||||||
user: restic
|
user: restic
|
||||||
become: true
|
|
||||||
when: restic_forget
|
when: restic_forget
|
||||||
|
|
||||||
- name: Install pacman post script
|
- name: Install pacman post script
|
||||||
|
@ -82,7 +72,6 @@
|
||||||
src: files/restic-post.sh
|
src: files/restic-post.sh
|
||||||
dest: /usr/share/libalpm/scripts/restic-post.sh
|
dest: /usr/share/libalpm/scripts/restic-post.sh
|
||||||
mode: "0700"
|
mode: "0700"
|
||||||
become: true
|
|
||||||
when: ansible_os_family == 'Archlinux'
|
when: ansible_os_family == 'Archlinux'
|
||||||
|
|
||||||
- name: Install pacman post hook
|
- name: Install pacman post hook
|
||||||
|
@ -90,7 +79,6 @@
|
||||||
src: files/restic-post.hook
|
src: files/restic-post.hook
|
||||||
dest: /usr/share/libalpm/hooks/restic-post.hook
|
dest: /usr/share/libalpm/hooks/restic-post.hook
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
become: true
|
|
||||||
when: ansible_os_family == 'Archlinux'
|
when: ansible_os_family == 'Archlinux'
|
||||||
|
|
||||||
- name: Install HomeAssistant mounts
|
- name: Install HomeAssistant mounts
|
||||||
|
|
|
@ -4,12 +4,10 @@
|
||||||
- name: Install rclone
|
- name: Install rclone
|
||||||
package:
|
package:
|
||||||
name: rclone
|
name: rclone
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install runitor
|
- name: Install runitor
|
||||||
kewlfft.aur.aur:
|
kewlfft.aur.aur:
|
||||||
name: runitor-bin
|
name: runitor-bin
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Make user
|
- name: Make user
|
||||||
user:
|
user:
|
||||||
|
@ -17,7 +15,6 @@
|
||||||
shell: /bin/nologin
|
shell: /bin/nologin
|
||||||
system: false
|
system: false
|
||||||
register: rclone_user
|
register: rclone_user
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create config directory
|
- name: Create config directory
|
||||||
file:
|
file:
|
||||||
|
@ -25,7 +22,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: rclone
|
owner: rclone
|
||||||
mode: "0700"
|
mode: "0700"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install rclone config
|
- name: Install rclone config
|
||||||
template:
|
template:
|
||||||
|
@ -33,7 +29,6 @@
|
||||||
dest: "{{ rclone_user.home }}/.config/rclone/rclone.conf"
|
dest: "{{ rclone_user.home }}/.config/rclone/rclone.conf"
|
||||||
owner: rclone
|
owner: rclone
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create config directory
|
- name: Create config directory
|
||||||
file:
|
file:
|
||||||
|
@ -41,7 +36,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: rclone
|
owner: rclone
|
||||||
mode: "0700"
|
mode: "0700"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Schedule sync
|
- name: Schedule sync
|
||||||
cron:
|
cron:
|
||||||
|
@ -50,4 +44,3 @@
|
||||||
minute: 0
|
minute: 0
|
||||||
job: CHECK_UUID={{ vault_healthchecks_id }} /usr/bin/runitor -- /usr/bin/rclone sync s3:0rng-terraform {{ rclone_user.home }}/sync/0rng-terraform
|
job: CHECK_UUID={{ vault_healthchecks_id }} /usr/bin/runitor -- /usr/bin/rclone sync s3:0rng-terraform {{ rclone_user.home }}/sync/0rng-terraform
|
||||||
user: rclone
|
user: rclone
|
||||||
become: true
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,7 +16,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart slides
|
notify: restart slides
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create credentials
|
- name: Create credentials
|
||||||
htpasswd:
|
htpasswd:
|
||||||
|
@ -30,7 +28,6 @@
|
||||||
loop_control:
|
loop_control:
|
||||||
label: "{{ item.user }}"
|
label: "{{ item.user }}"
|
||||||
notify: restart slides
|
notify: restart slides
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install nginx config
|
- name: Install nginx config
|
||||||
template:
|
template:
|
||||||
|
@ -38,7 +35,6 @@
|
||||||
dest: /etc/nginx/http.d/slides.conf
|
dest: /etc/nginx/http.d/slides.conf
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
notify: reload nginx
|
notify: reload nginx
|
||||||
become: true
|
|
||||||
vars:
|
vars:
|
||||||
server_name: slides.jakehoward.tech
|
server_name: slides.jakehoward.tech
|
||||||
upstream: slides-slides-1.docker:80
|
upstream: slides-slides-1.docker:80
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,4 +16,3 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart tandoor
|
notify: restart tandoor
|
||||||
become: true
|
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
docker_network:
|
docker_network:
|
||||||
name: traefik
|
name: traefik
|
||||||
internal: true
|
internal: true
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create install directory
|
- name: Create install directory
|
||||||
file:
|
file:
|
||||||
|
@ -13,7 +12,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create config directory
|
- name: Create config directory
|
||||||
file:
|
file:
|
||||||
|
@ -21,7 +19,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create file provider directory
|
- name: Create file provider directory
|
||||||
file:
|
file:
|
||||||
|
@ -29,7 +26,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -39,7 +35,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart traefik
|
notify: restart traefik
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install config
|
- name: Install config
|
||||||
template:
|
template:
|
||||||
|
@ -50,7 +45,6 @@
|
||||||
lstrip_blocks: true
|
lstrip_blocks: true
|
||||||
trim_blocks: true
|
trim_blocks: true
|
||||||
notify: restart traefik
|
notify: restart traefik
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install file provider
|
- name: Install file provider
|
||||||
template:
|
template:
|
||||||
|
@ -59,7 +53,6 @@
|
||||||
mode: "{{ docker_compose_file_mask }}"
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: restart traefik
|
notify: restart traefik
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install homeassistant provider
|
- name: Install homeassistant provider
|
||||||
template:
|
template:
|
||||||
|
@ -69,7 +62,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: restart traefik
|
notify: restart traefik
|
||||||
when: traefik_provider_homeassistant
|
when: traefik_provider_homeassistant
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install jellyfin provider
|
- name: Install jellyfin provider
|
||||||
template:
|
template:
|
||||||
|
@ -79,7 +71,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: restart traefik
|
notify: restart traefik
|
||||||
when: traefik_provider_jellyfin
|
when: traefik_provider_jellyfin
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install grafana provider
|
- name: Install grafana provider
|
||||||
template:
|
template:
|
||||||
|
@ -89,7 +80,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: restart traefik
|
notify: restart traefik
|
||||||
when: traefik_provider_grafana
|
when: traefik_provider_grafana
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install uptime-kuma provider
|
- name: Install uptime-kuma provider
|
||||||
template:
|
template:
|
||||||
|
@ -99,4 +89,3 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: restart traefik
|
notify: restart traefik
|
||||||
when: traefik_provider_uptime_kuma
|
when: traefik_provider_uptime_kuma
|
||||||
become: true
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -14,4 +13,3 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart uptime-kuma
|
notify: restart uptime-kuma
|
||||||
become: true
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -14,4 +13,3 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart vaultwarden
|
notify: restart vaultwarden
|
||||||
become: true
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,4 +16,3 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart vikunja
|
notify: restart vikunja
|
||||||
become: true
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -17,7 +16,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart website
|
notify: restart website
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install nginx config
|
- name: Install nginx config
|
||||||
template:
|
template:
|
||||||
|
@ -25,7 +23,6 @@
|
||||||
dest: /etc/nginx/http.d/website.conf
|
dest: /etc/nginx/http.d/website.conf
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
notify: reload nginx
|
notify: reload nginx
|
||||||
become: true
|
|
||||||
vars:
|
vars:
|
||||||
server_name: theorangeone.net
|
server_name: theorangeone.net
|
||||||
upstream: website-website-1.docker:8000
|
upstream: website-website-1.docker:8000
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
mode: "{{ docker_compose_directory_mask }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install compose file
|
- name: Install compose file
|
||||||
template:
|
template:
|
||||||
|
@ -14,7 +13,6 @@
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
validate: docker-compose -f %s config
|
validate: docker-compose -f %s config
|
||||||
notify: restart yourls
|
notify: restart yourls
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install redirect file
|
- name: Install redirect file
|
||||||
template:
|
template:
|
||||||
|
@ -23,4 +21,3 @@
|
||||||
mode: "{{ docker_compose_file_mask }}"
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
owner: "{{ docker_user.name }}"
|
owner: "{{ docker_user.name }}"
|
||||||
notify: restart yourls
|
notify: restart yourls
|
||||||
become: true
|
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
src: files/zfs-modprobe.conf
|
src: files/zfs-modprobe.conf
|
||||||
dest: /etc/modprobe.d/zfs.conf
|
dest: /etc/modprobe.d/zfs.conf
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: ZFS Scrub
|
- name: ZFS Scrub
|
||||||
cron:
|
cron:
|
||||||
|
@ -12,14 +11,12 @@
|
||||||
minute: 0
|
minute: 0
|
||||||
weekday: 5
|
weekday: 5
|
||||||
job: zpool scrub {{ item }}
|
job: zpool scrub {{ item }}
|
||||||
become: true
|
|
||||||
loop: "{{ zpools_to_scrub }}"
|
loop: "{{ zpools_to_scrub }}"
|
||||||
|
|
||||||
- name: Give user passwordless access to ZFS commands
|
- name: Give user passwordless access to ZFS commands
|
||||||
lineinfile:
|
lineinfile:
|
||||||
path: /etc/sudoers
|
path: /etc/sudoers
|
||||||
line: "{{ me.user }} ALL=(ALL) NOPASSWD: /usr/sbin/zfs,/usr/sbin/zpool"
|
line: "{{ me.user }} ALL=(ALL) NOPASSWD: /usr/sbin/zfs,/usr/sbin/zpool"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Sanoid
|
- name: Sanoid
|
||||||
include_tasks: sanoid.yml
|
include_tasks: sanoid.yml
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
- pv
|
- pv
|
||||||
- lzop
|
- lzop
|
||||||
when: ansible_os_family == 'Archlinux'
|
when: ansible_os_family == 'Archlinux'
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install dependencies for Debian-based distros
|
- name: Install dependencies for Debian-based distros
|
||||||
package:
|
package:
|
||||||
|
@ -20,28 +19,24 @@
|
||||||
- lzop
|
- lzop
|
||||||
- mbuffer
|
- mbuffer
|
||||||
when: ansible_os_family == 'Debian'
|
when: ansible_os_family == 'Debian'
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Download
|
- name: Download
|
||||||
git:
|
git:
|
||||||
repo: https://github.com/jimsalterjrs/sanoid.git
|
repo: https://github.com/jimsalterjrs/sanoid.git
|
||||||
dest: /opt/sanoid
|
dest: /opt/sanoid
|
||||||
version: v2.1.0
|
version: v2.1.0
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create config directory
|
- name: Create config directory
|
||||||
file:
|
file:
|
||||||
path: /etc/sanoid
|
path: /etc/sanoid
|
||||||
state: directory
|
state: directory
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install default config
|
- name: Install default config
|
||||||
file:
|
file:
|
||||||
src: /opt/sanoid/sanoid.defaults.conf
|
src: /opt/sanoid/sanoid.defaults.conf
|
||||||
dest: /etc/sanoid/sanoid.defaults.conf
|
dest: /etc/sanoid/sanoid.defaults.conf
|
||||||
state: link
|
state: link
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install executables
|
- name: Install executables
|
||||||
file:
|
file:
|
||||||
|
@ -53,14 +48,12 @@
|
||||||
- syncoid
|
- syncoid
|
||||||
- findoid
|
- findoid
|
||||||
- sleepymutex
|
- sleepymutex
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install config
|
- name: Install config
|
||||||
template:
|
template:
|
||||||
src: files/sanoid.conf
|
src: files/sanoid.conf
|
||||||
dest: /etc/sanoid/sanoid.conf
|
dest: /etc/sanoid/sanoid.conf
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install systemd services
|
- name: Install systemd services
|
||||||
file:
|
file:
|
||||||
|
@ -68,7 +61,6 @@
|
||||||
dest: /lib/systemd/system/{{ item }}
|
dest: /lib/systemd/system/{{ item }}
|
||||||
state: link
|
state: link
|
||||||
loop: "{{ sanoid_services }}"
|
loop: "{{ sanoid_services }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Enable systemd services
|
- name: Enable systemd services
|
||||||
systemd:
|
systemd:
|
||||||
|
@ -76,10 +68,8 @@
|
||||||
enabled: true
|
enabled: true
|
||||||
masked: false
|
masked: false
|
||||||
loop: "{{ sanoid_services }}"
|
loop: "{{ sanoid_services }}"
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Start sanoid timer
|
- name: Start sanoid timer
|
||||||
systemd:
|
systemd:
|
||||||
name: sanoid.timer
|
name: sanoid.timer
|
||||||
state: started
|
state: started
|
||||||
become: true
|
|
||||||
|
|
Loading…
Reference in a new issue