/
/
/
1---
2# Runner Services Role - Main Tasks
3
4- name: Check if runner role is enabled
5 fail:
6 msg: "Runner role is disabled. Set runner_enabled: true to enable."
7 when: not runner_enabled
8 tags: always
9
10- name: Display runner role start message
11 debug:
12 msg: "Starting Runner Services deployment with {{ ansible_play_hosts | length }} host(s)"
13 tags: always
14
15# Prerequisites and system setup
16- name: Include prerequisites tasks
17 include_tasks: prerequisites.yml
18 tags:
19 - runner
20 - prerequisites
21 - setup
22
23# Fix existing directory permissions
24- name: Include permission fixing tasks
25 include_tasks: fix-permissions.yml
26 tags:
27 - runner
28 - permissions
29 - fix
30
31# NFS mount configuration
32- name: Include NFS mount tasks
33 include_tasks: nfs-mounts.yml
34 when: runner_nfs_enabled
35 tags:
36 - runner
37 - nfs
38 - mounts
39
40# Docker network setup
41- name: Include docker network tasks
42 include_tasks: docker-network.yml
43 tags:
44 - runner
45 - docker
46 - network
47
48# Service deployments
49- name: Include Frigate deployment
50 include_tasks: frigate.yml
51 when: frigate_enabled
52 tags:
53 - runner
54 - frigate
55 - cctv
56
57- name: Include Immich deployment
58 include_tasks: immich.yml
59 when: immich_enabled
60 tags:
61 - runner
62 - immich
63 - photos
64
65- name: Include Forgejo deployment
66 include_tasks: forgejo.yml
67 when: forgejo_enabled
68 tags:
69 - runner
70 - forgejo
71 - git
72
73- name: Include Stirling-PDF deployment
74 include_tasks: stirling-pdf.yml
75 when: stirling_pdf_enabled
76 tags:
77 - runner
78 - stirling-pdf
79 - pdf
80
81- name: Include Tandoor deployment
82 include_tasks: tandoor.yml
83 when: tandoor_enabled
84 tags:
85 - runner
86 - tandoor
87 - recipes
88
89- name: Include Ghost CMS deployment
90 include_tasks: ghost.yml
91 when: ghost_enabled
92 tags:
93 - runner
94 - ghost
95 - cms
96
97
98- name: Display runner deployment summary
99 debug:
100 msg: |
101 Runner Services deployment completed successfully!
102
103 Services Status:
104 - Frigate (CCTV): {{ 'Enabled' if frigate_enabled else 'Disabled' }}
105 - Immich (Photos): {{ 'Enabled' if immich_enabled else 'Disabled' }}
106 - Forgejo (Git): {{ 'Enabled' if forgejo_enabled else 'Disabled' }}
107 - Stirling-PDF: {{ 'Enabled' if stirling_pdf_enabled else 'Disabled' }}
108 - Tandoor (Recipes): {{ 'Enabled' if tandoor_enabled else 'Disabled' }}
109 - Ghost CMS: {{ 'Enabled' if ghost_enabled else 'Disabled' }}
110
111 Access Information:
112 {% if frigate_enabled %}
113 - Frigate: http://{{ ansible_default_ipv4.address }}:{{ frigate_port }}
114 {% endif %}
115 {% if immich_enabled %}
116 - Immich: http://{{ ansible_default_ipv4.address }}:{{ immich_server_port }}
117 {% endif %}
118 {% if forgejo_enabled %}
119 - Forgejo: http://{{ ansible_default_ipv4.address }}:{{ forgejo_http_port }}
120 - Forgejo SSH: ssh://git@{{ ansible_default_ipv4.address }}:{{ forgejo_ssh_port }}
121 {% endif %}
122 {% if stirling_pdf_enabled %}
123 - Stirling-PDF: http://{{ ansible_default_ipv4.address }}:{{ stirling_pdf_port }}
124 {% endif %}
125 {% if tandoor_enabled %}
126 - Tandoor: http://{{ ansible_default_ipv4.address }}:{{ tandoor_port }}
127 {% endif %}
128 {% if ghost_enabled %}
129 - Ghost CMS: http://{{ ansible_default_ipv4.address }}:{{ ghost_port }}
130 {% endif %}
131
132 Management Scripts: /usr/local/bin/runner-*
133
134 Service Directories (Consolidated Structure):
135 - Frigate: {{ frigate_config_dir }}
136 - Immich: {{ immich_config_dir }}
137 - Forgejo: {{ forgejo_config_dir }}
138 - Stirling-PDF: {{ stirling_pdf_config_dir }}
139 - Tandoor: {{ tandoor_config_dir }}
140 - Ghost: {{ ghost_config_dir }}
141
142 NFS Mounts: {{ runner_nfs_mount_dir }}
143 tags: always
144