/
/
/
Ansible role that provisions my storage server.
1---
2# Storage Services Handlers
3
4# ==============================================================================
5# DOCKER SERVICE HANDLERS
6# ==============================================================================
7
8- name: restart jellyfin
9 community.docker.docker_compose_v2:
10 project_src: "{{ jellyfin_data_dir }}"
11 state: present
12 restarted: true
13 tags: ['jellyfin', 'restart']
14
15- name: restart arr-stack
16 community.docker.docker_compose_v2:
17 project_src: "{{ arr_config_dir }}"
18 state: present
19 restarted: true
20 tags: ['arr-stack', 'restart']
21
22- name: restart calibre-stack
23 community.docker.docker_compose_v2:
24 project_src: "{{ calibre_config_dir }}"
25 state: present
26 restarted: true
27 tags: ['calibre', 'restart']
28
29- name: restart restic-server
30 community.docker.docker_compose_v2:
31 project_src: "{{ restic_backup_config_dir }}"
32 state: present
33 restarted: true
34 tags: ['restic', 'backup', 'restart']
35
36# ==============================================================================
37# SYSTEM HANDLERS
38# ==============================================================================
39
40- name: reload systemd
41 systemd:
42 daemon_reload: true
43
44- name: create docker network
45 community.docker.docker_network:
46 name: "{{ storage_docker_network }}"
47 state: present
48 tags: ['docker', 'network']
49
50# ==============================================================================
51# CONFIGURATION HANDLERS
52# ==============================================================================
53
54- name: update permissions
55 file:
56 path: "{{ item }}"
57 owner: "{{ storage_user }}"
58 group: "{{ storage_group }}"
59 recurse: true
60 loop:
61 - "{{ storage_docker_dir }}"
62 - "{{ storage_base_path }}"
63 tags: ['permissions']
64
65- name: validate docker compose
66 command: docker compose config
67 args:
68 chdir: "{{ item }}"
69 loop:
70 - "{{ jellyfin_data_dir }}"
71 - "{{ arr_config_dir }}"
72 - "{{ calibre_config_dir }}"
73 - "{{ restic_backup_config_dir }}"
74 when:
75 - item is defined
76 - item != ""
77 changed_when: false
78 tags: ['validation']