Solved discourse update bug

This commit is contained in:
Kevin Veen-Birkenbach 2025-02-14 09:37:22 +01:00
parent c5de205e87
commit 3a6fc106a8
4 changed files with 13 additions and 4 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.")