mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2024-12-22 12:35:51 +00:00
36658addcd
If a network like `matrix-whatever` already exists for some reason, the `docker_network` module would not create our `matrix` network. Working around it by avoiding `docker_network` and doing it manually. Fixes Github issue #12
56 lines
1.5 KiB
YAML
56 lines
1.5 KiB
YAML
---
|
|
|
|
- name: Ensure Matrix group is created
|
|
group:
|
|
name: "{{ matrix_user_username }}"
|
|
gid: "{{ matrix_user_gid }}"
|
|
state: present
|
|
|
|
- name: Ensure Matrix user is created
|
|
user:
|
|
name: "{{ matrix_user_username }}"
|
|
uid: "{{ matrix_user_uid }}"
|
|
state: present
|
|
group: "{{ matrix_user_username }}"
|
|
|
|
- name: Ensure environment variables data path exists
|
|
file:
|
|
path: "{{ matrix_environment_variables_data_path }}"
|
|
state: directory
|
|
mode: 0700
|
|
|
|
- name: Ensure Matrix base path exists
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
mode: 0750
|
|
owner: "{{ matrix_user_username }}"
|
|
group: "{{ matrix_user_username }}"
|
|
with_items:
|
|
- "{{ matrix_base_data_path }}"
|
|
- "{{ matrix_synapse_base_path }}"
|
|
|
|
# `docker_network` doesn't work as expected when the given network
|
|
# is a substring of a network that already exists.
|
|
#
|
|
# See:
|
|
# - https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/12
|
|
# - https://github.com/ansible/ansible/issues/32926
|
|
#
|
|
# Due to that, we employ a workaround below.
|
|
#
|
|
# - name: Ensure Matrix network is created in Docker
|
|
# docker_network:
|
|
# name: "{{ matrix_docker_network }}"
|
|
# driver: bridge
|
|
|
|
- name: Check existence of Matrix network in Docker
|
|
shell:
|
|
cmd: "docker network ls -q --filter='name=^{{ matrix_docker_network }}$'"
|
|
register: result_check_docker_network
|
|
changed_when: false
|
|
|
|
- name: Create Matrix network in Docker
|
|
shell:
|
|
cmd: "docker network create --driver=bridge {{ matrix_docker_network }}"
|
|
when: "result_check_docker_network.stdout == ''" |