diff --git a/roles/opencloud/defaults/main.yml b/roles/opencloud/defaults/main.yml index 137ece8..1e102bf 100644 --- a/roles/opencloud/defaults/main.yml +++ b/roles/opencloud/defaults/main.yml @@ -18,6 +18,7 @@ opencloud_port: 9200 opencloud_admin_password: "admin" opencloud_log_level: "warn" opencloud_extra_hosts: [] +opencloud_extra_networks: [] # Traefik configuration opencloud_traefik_network: "proxy" diff --git a/roles/opencloud/tasks/main.yml b/roles/opencloud/tasks/main.yml index 9de9625..358abb7 100644 --- a/roles/opencloud/tasks/main.yml +++ b/roles/opencloud/tasks/main.yml @@ -69,6 +69,12 @@ when: opencloud_drawio_url | length > 0 notify: restart opencloud +- name: Ensure extra networks exist + community.docker.docker_network: + name: "{{ item }}" + state: present + loop: "{{ opencloud_extra_networks }}" + - name: Create docker-compose file for opencloud template: src: docker-compose.yml.j2 diff --git a/roles/opencloud/templates/docker-compose.yml.j2 b/roles/opencloud/templates/docker-compose.yml.j2 index 10d8d22..7fafb2f 100644 --- a/roles/opencloud/templates/docker-compose.yml.j2 +++ b/roles/opencloud/templates/docker-compose.yml.j2 @@ -103,6 +103,9 @@ services: {% endif %} networks: - {{ opencloud_traefik_network }} + {% for net in opencloud_extra_networks %} + - {{ net }} +{% endfor %} {% if opencloud_extra_hosts is defined and opencloud_extra_hosts | length > 0 %} extra_hosts: {% for host in opencloud_extra_hosts %} @@ -135,4 +138,8 @@ services: networks: {{ opencloud_traefik_network }}: - external: true \ No newline at end of file + external: true +{% for net in opencloud_extra_networks %} + {{ net }}: + external: true +{% endfor %} \ No newline at end of file