2 Commits

Author SHA1 Message Date
Slavi Pantaleev
f0a5393d48 fix(s3): use postgres unix socket for migrate and shell commands 2026-03-18 15:21:06 +02:00
Slavi Pantaleev
68aca96cbd docs: clarify database_host ignored when postgres sockets are enabled 2026-03-18 15:21:03 +02:00
4 changed files with 13 additions and 3 deletions

View File

@@ -1310,6 +1310,10 @@ matrix_synapse_sentry_dsn: ""
# Postgres database information
matrix_synapse_database_txn_limit: 0
#
# Use this hostname for TCP-based Postgres connections.
# When `matrix_synapse_database_socket_enabled` is true, this is ignored and
# `matrix_synapse_database_socket_path` is used instead.
matrix_synapse_database_host: ''
matrix_synapse_database_port: 5432
matrix_synapse_database_cp_min: 5

View File

@@ -8,6 +8,9 @@ container_id=$(\
--env-file={{ matrix_synapse_ext_s3_storage_provider_base_path }}/env \
--mount type=bind,src={{ matrix_synapse_storage_path }},dst=/matrix-media-store-parent,bind-propagation=slave \
--mount type=bind,src={{ matrix_synapse_ext_s3_storage_provider_data_path }},dst=/data \
{% if matrix_synapse_database_socket_enabled %}
--mount type=bind,src={{ matrix_synapse_database_socket_path_host }},dst={{ matrix_synapse_database_socket_path }} \
{% endif %}
--workdir=/data \
--network={{ matrix_synapse_container_network }} \
--entrypoint=/bin/bash \
@@ -18,7 +21,7 @@ container_id=$(\
-c 's3_media_upload update-db $UPDATE_DB_DURATION && s3_media_upload --no-progress check-deleted $MEDIA_PATH && s3_media_upload --no-progress upload $MEDIA_PATH $BUCKET --delete --storage-class $STORAGE_CLASS --endpoint-url $ENDPOINT {% if matrix_synapse_ext_synapse_s3_storage_provider_config_prefix %}--prefix $PREFIX {% endif %}{% if matrix_synapse_ext_synapse_s3_storage_provider_config_sse_customer_enabled %}--sse-customer-algo $SSE_CUSTOMER_ALGO --sse-customer-key $SSE_CUSTOMER_KEY{% endif %}' \
)
{# We need to connect to the Postgres network, which should be in this list. #}
{# Additional container networks (for example, Postgres) should be connected here when needed. #}
{% for network in matrix_synapse_container_additional_networks %}
{{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} $container_id
{% endfor %}

View File

@@ -10,13 +10,16 @@ container_id=$(\
--env-file={{ matrix_synapse_ext_s3_storage_provider_base_path }}/env \
--mount type=bind,src={{ matrix_synapse_storage_path }},dst=/matrix-media-store-parent,bind-propagation=slave \
--mount type=bind,src={{ matrix_synapse_ext_s3_storage_provider_data_path }},dst=/data \
{% if matrix_synapse_database_socket_enabled %}
--mount type=bind,src={{ matrix_synapse_database_socket_path_host }},dst={{ matrix_synapse_database_socket_path }} \
{% endif %}
--workdir=/data \
--network={{ matrix_synapse_container_network }} \
--entrypoint=/bin/bash \
{{ matrix_synapse_container_image_final }} \
)
{# We need to connect to the Postgres network, which should be in this list. #}
{# Additional container networks (for example, Postgres) should be connected here when needed. #}
{% for network in matrix_synapse_container_additional_networks %}
{{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} $container_id
{% endfor %}

View File

@@ -7,5 +7,5 @@ SPDX-License-Identifier: AGPL-3.0-or-later
user: {{ matrix_synapse_database_user | to_json }}
password: {{ matrix_synapse_database_password | to_json }}
database: {{ matrix_synapse_database_database | to_json }}
host: {{ matrix_synapse_database_host | to_json }}
host: {{ (matrix_synapse_database_socket_path if matrix_synapse_database_socket_enabled else matrix_synapse_database_host) | to_json }}
port: {{ matrix_synapse_database_port | to_json }}