diff --git a/group_vars/all/07_applications.yml b/group_vars/all/07_applications.yml index 3dafaeae..04258c36 100644 --- a/group_vars/all/07_applications.yml +++ b/group_vars/all/07_applications.yml @@ -42,6 +42,7 @@ defaults_applications: ## Discourse: discourse: + network: "discourse_default" # Name of the docker network container: "discourse_application" # Name of the container application repository: "discourse_repository" # Name of the repository folder # database_password: # Needs to be defined in inventory file diff --git a/roles/docker-discourse/handlers/main.yml b/roles/docker-discourse/handlers/main.yml index a825baae..87cefd4c 100644 --- a/roles/docker-discourse/handlers/main.yml +++ b/roles/docker-discourse/handlers/main.yml @@ -9,7 +9,7 @@ - name: "add central database temporary to {{application_id}}_default" command: - cmd: "docker network connect discourse_default central-{{ database_type }}" + cmd: "docker network connect {{applications.discourse.network}} central-{{ database_type }}" ignore_errors: true when: enable_central_database | bool listen: recreate discourse diff --git a/roles/docker-discourse/tasks/main.yml b/roles/docker-discourse/tasks/main.yml index faf3cbf9..502412f7 100644 --- a/roles/docker-discourse/tasks/main.yml +++ b/roles/docker-discourse/tasks/main.yml @@ -15,7 +15,7 @@ - name: "cleanup central database from {{application_id}}_default network" command: - cmd: "docker network disconnect discourse_default central-{{ database_type }}" + cmd: "docker network disconnect {{applications.discourse.network}} central-{{ database_type }}" ignore_errors: true when: mode_reset | bool @@ -68,6 +68,6 @@ - name: "remove central database from {{application_id}}_default" command: - cmd: "docker network disconnect discourse_default central-{{ database_type }}" + cmd: "docker network disconnect {{applications.discourse.network}} central-{{ database_type }}" ignore_errors: true when: enable_central_database | bool diff --git a/roles/update-docker/templates/update-docker.py.j2 b/roles/update-docker/templates/update-docker.py.j2 index 125b5a2f..91d6e89b 100644 --- a/roles/update-docker/templates/update-docker.py.j2 +++ b/roles/update-docker/templates/update-docker.py.j2 @@ -130,7 +130,15 @@ def update_discourse(directory): if git_pull(): print("Start Discourse update procedure.") update_procedure("docker stop {{applications.discourse.container}}") - update_procedure("docker network connect discourse_default central-postgres") + update_procedure("docker rm {{applications.discourse.container}}") + try: + update_procedure("docker network connect {{applications.discourse.network}} central-postgres") + except subprocess.CalledProcessError as e: + error_message = e.output.decode() + if "already exists" in error_message or "is already connected" in error_message: + print("Network connection already exists. Skipping...") + else: + raise update_procedure("./launcher rebuild {{applications.discourse.container}}") else: print("Discourse update skipped. No changes in git repository.")