Skip to content

Commit 052077f

Browse files
committed
various: start gluetun before other containers
1 parent 52523b0 commit 052077f

File tree

5 files changed

+96
-14
lines changed

5 files changed

+96
-14
lines changed

roles/docker/tasks/main.yml

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,31 @@
9797
ansible.builtin.import_tasks: "subtasks/housekeeping.yml"
9898
tags: docker-housekeeping
9999

100-
- name: "Re-start all previously running Docker containers"
101-
ansible.builtin.shell: 'docker start {{ docker_running_containers.stdout }}'
100+
- name: Docker Service Running
102101
when: docker_binary.stat.exists and docker_service_running and (docker_running_containers.stdout | trim | length > 0)
103-
ignore_errors: true
102+
block:
103+
- name: "Initialize Gluetun variable"
104+
ansible.builtin.set_fact:
105+
docker_containers_gluetun: []
106+
107+
- name: "Identify any Gluetun containers"
108+
ansible.builtin.set_fact:
109+
docker_containers_gluetun: "{{ docker_containers_gluetun + [item] }}"
110+
loop: "{{ docker_running_containers.stdout.split() }}"
111+
when: item in (gluetun_instances | default(['gluetun']))
112+
113+
- name: "Re-start all previously running Gluetun containers"
114+
ansible.builtin.shell: "docker start {{ docker_containers_gluetun | join(' ') }}"
115+
when: (docker_containers_gluetun | length > 0)
116+
ignore_errors: true
117+
118+
- name: "Wait for 5 seconds"
119+
ansible.builtin.wait_for:
120+
timeout: 5
121+
122+
- name: "Re-start all previously running Docker containers"
123+
ansible.builtin.shell: "docker start {{ docker_running_containers.stdout }}"
124+
ignore_errors: true
104125

105126
- name: "Import Docker Hub tasks"
106127
ansible.builtin.import_tasks: "subtasks/dockerhub.yml"

roles/gluetun/defaults/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ gluetun_docker_commands: "{{ lookup('vars', gluetun_name + '_docker_commands_def
108108
+ lookup('vars', gluetun_name + '_docker_commands_custom', default=gluetun_docker_commands_custom) }}"
109109

110110
# Volumes
111+
gluetun_docker_volumes_global: false
111112
gluetun_docker_volumes_default:
112113
- "{{ gluetun_paths_location }}:/gluetun"
113114
gluetun_docker_volumes_custom: []

roles/hetzner_nfs/tasks/services_start.yml

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,32 @@
1515
enabled: true
1616
when: mergerfs_service.stat.exists and mergerfs_service_running
1717

18-
- name: Wait for 30 seconds before commencing
19-
ansible.builtin.wait_for:
20-
timeout: 30
18+
- name: Docker Service Running
2119
when: docker_binary.stat.exists and docker_service_running and not (docker_running_containers.stdout | trim | length == 0)
20+
block:
21+
- name: Wait for 30 seconds before commencing
22+
ansible.builtin.wait_for:
23+
timeout: 30
2224

23-
- name: "Re-start all previously running Docker containers"
24-
ansible.builtin.shell: 'docker start {{ docker_running_containers.stdout }}'
25-
ignore_errors: true
26-
when: docker_binary.stat.exists and docker_service_running and not (docker_running_containers.stdout | trim | length == 0)
25+
- name: "Initialize Gluetun variable"
26+
ansible.builtin.set_fact:
27+
docker_containers_gluetun: []
28+
29+
- name: "Identify any Gluetun containers"
30+
ansible.builtin.set_fact:
31+
docker_containers_gluetun: "{{ docker_containers_gluetun + [item] }}"
32+
loop: "{{ docker_running_containers.stdout.split() }}"
33+
when: item in (gluetun_instances | default(['gluetun']))
34+
35+
- name: "Re-start all previously running Gluetun containers"
36+
ansible.builtin.shell: "docker start {{ docker_containers_gluetun | join(' ') }}"
37+
when: (docker_containers_gluetun | length > 0)
38+
ignore_errors: true
39+
40+
- name: "Wait for 5 seconds"
41+
ansible.builtin.wait_for:
42+
timeout: 5
43+
44+
- name: "Re-start all previously running Docker containers"
45+
ansible.builtin.shell: 'docker start {{ docker_running_containers.stdout }}'
46+
ignore_errors: true

roles/nvidia/tasks/subtasks/docker.yml

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# GNU General Public License v3.0 #
88
#########################################################################
99
---
10-
- name: Binary | Remove old official repository entry
10+
- name: Docker | Remove old official repository entry
1111
ansible.builtin.apt_repository:
1212
repo: "{{ item }}"
1313
filename: "{{ nvidia_docker_runtime_apt_repo_file }}"
@@ -75,7 +75,28 @@
7575
state: started
7676
when: docker_service_running
7777

78-
- name: Docker | Re-start all previously running Docker containers
79-
ansible.builtin.shell: 'docker start {{ docker_running_containers.stdout }}'
80-
ignore_errors: true
78+
- name: Docker Service Running
8179
when: docker_service_running and (docker_running_containers.stdout | trim | length > 0)
80+
block:
81+
- name: "Docker | Initialize Gluetun variable"
82+
ansible.builtin.set_fact:
83+
docker_containers_gluetun: []
84+
85+
- name: "Docker | Identify any Gluetun containers"
86+
ansible.builtin.set_fact:
87+
docker_containers_gluetun: "{{ docker_containers_gluetun + [item] }}"
88+
loop: "{{ docker_running_containers.stdout.split() }}"
89+
when: item in (gluetun_instances | default(['gluetun']))
90+
91+
- name: "Docker | Re-start all previously running Gluetun containers"
92+
ansible.builtin.shell: "docker start {{ docker_containers_gluetun | join(' ') }}"
93+
when: (docker_containers_gluetun | length > 0)
94+
ignore_errors: true
95+
96+
- name: "Docker | Wait for 5 seconds"
97+
ansible.builtin.wait_for:
98+
timeout: 5
99+
100+
- name: "Docker | Re-start all previously running Docker containers"
101+
ansible.builtin.shell: 'docker start {{ docker_running_containers.stdout }}'
102+
ignore_errors: true

roles/unionfs/tasks/subtasks/docker/containers_start.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,25 @@
77
# GNU General Public License v3.0 #
88
#########################################################################
99
---
10+
- name: "Docker | Containers Start | Initialize Gluetun variable"
11+
ansible.builtin.set_fact:
12+
docker_containers_gluetun: []
13+
14+
- name: "Docker | Containers Start | Identify any Gluetun containers"
15+
ansible.builtin.set_fact:
16+
docker_containers_gluetun: "{{ docker_containers_gluetun + [item] }}"
17+
loop: "{{ containers_list.split() }}"
18+
when: item in (gluetun_instances | default(['gluetun']))
19+
20+
- name: "Docker | Containers Start | Re-start all previously running Gluetun containers"
21+
ansible.builtin.shell: "docker start {{ docker_containers_gluetun | join(' ') }}"
22+
when: (docker_containers_gluetun | length > 0)
23+
ignore_errors: true
24+
25+
- name: "Docker | Containers Start | Wait for 5 seconds"
26+
ansible.builtin.wait_for:
27+
timeout: 5
28+
1029
- name: "Docker | Containers Start | Start all previously running Docker containers"
1130
ansible.builtin.shell: "docker start {{ containers_list }}"
1231
ignore_errors: true

0 commit comments

Comments
 (0)