Compare commits

...

31 Commits

Author SHA1 Message Date
d0d5cfb1bc chore: publish 7.0.2+v1.149.1 release 2026-03-31 14:55:43 +02:00
3d13505330 bumb python version for shared secret authenticator 2026-03-31 14:53:32 +02:00
68fd515297 chore: publish 7.0.1+v1.149.1 release 2026-03-30 13:04:48 +02:00
01e3feb1cf fix: healthchecks and restart_policy for web container 2026-03-30 13:02:27 +02:00
c51120c41a chore: publish 7.0.0+v1.149.1 release 2026-03-25 01:20:30 +01:00
b81fecdd23 chore: replace depricated traefik.docker.* with traefik.swarm.* 2026-03-17 17:26:54 +01:00
18b658c452 chore: publish 6.8.3+v1.139.2 release 2026-03-05 14:49:59 +01:00
553fee0e9d feat: compress db dumps 2026-03-05 14:49:11 +01:00
val
61f357b49e new patch version of recipe 2026-01-15 16:58:40 +01:00
val
0e55594727 Merge pull request 'revert to recipe state of v6.8.0' (#55) from revert-changes into main
Reviewed-on: https://git.coopcloud.tech/coop-cloud/matrix-synapse/pulls/55
2026-01-15 15:48:56 +00:00
val
460f5a969c revert to recipe state of v6.8.0 2026-01-15 11:13:51 +01:00
8640abbe79 increase healthcheck retries 2025-12-23 13:26:48 +01:00
val
3e0c9063c4 Merge branch '6.8.1fix' 2025-10-29 13:55:54 +01:00
val
db6440b317 fixed MAX_UPLOAD_SIZE and AUTO_JOIN_ROOM_LIST config 2025-10-29 13:49:02 +01:00
24f7e0cb35 chore: publish 6.8.1+v1.139.2 release 2025-10-28 17:17:22 +01:00
6d1397562b Merge pull request 'added env to configure several auto_join_rooms' (#52) from auto_join_room_list into main
Reviewed-on: https://git.coopcloud.tech/coop-cloud/matrix-synapse/pulls/52
2025-10-28 16:14:38 +00:00
e0c0861c16 Merge branch 'main' into auto_join_room_list 2025-10-28 16:14:13 +00:00
41fdcafaa0 added env to configure several auto_join_rooms 2025-10-28 17:12:33 +01:00
730dbc4569 Merge pull request 'Expose max_upload_size as a configurable option' (#51) from cas_expose_maxupload into main
Reviewed-on: https://git.coopcloud.tech/coop-cloud/matrix-synapse/pulls/51
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2025-10-17 17:05:30 +00:00
809055dadb chore: publish 6.8.0+v1.139.2 release 2025-10-08 16:43:20 +02:00
7703bbbce7 Bump config versions 2025-10-03 11:20:39 -07:00
e3df032bda Expose max_upload_size as a configurable option 2025-10-02 11:40:51 -07:00
0cf9d0a244 chore: publish 6.7.1+v1.133.0 release 2025-09-07 11:49:20 +02:00
86a44afd19 fix nginx 2025-09-07 11:27:17 +02:00
cf47a9c1b0 chore: publish 6.7.0+v1.133.0 release 2025-07-07 16:11:13 +02:00
val
aaa59a7718 chore: publish 6.6.3+v1.124.0 release 2025-06-12 22:28:18 +02:00
val
e072cf0766 Merge pull request 'old-signing-key - anyone an idea how to escape so it's only one env var?' (#50) from old-signing-key into main
Reviewed-on: https://git.coopcloud.tech/coop-cloud/matrix-synapse/pulls/50
Reviewed-by: 3wordchant <3wordchant@noreply.git.coopcloud.tech>
2025-06-12 20:23:56 +00:00
val
22cc356a56 Merge branch 'main' into old-signing-key 2025-06-12 20:23:13 +00:00
160b0eb2cf fix: remove full env name "ADMIN_INTERFACE_ENABLED" from comment to
allow autouncomment
2025-06-11 14:48:43 +02:00
val
af7f7eca2f typos 2025-06-10 18:47:38 +02:00
val
5808fef48d add env 2025-06-08 12:20:46 +02:00
14 changed files with 67 additions and 30 deletions

View File

@ -33,7 +33,7 @@ ALLOW_PUBLIC_ROOMS_FEDERATION=false
ENABLE_REGISTRATION=false
PASSWORD_LOGIN_ENABLED=true
# Token based registration. Enable ADMIN_INTERFACE_ENABLED=1 (below) to use the admin interface to generate tokens.
# Token based registration. Enable ADMIN_INTERFACE (below) to use the admin interface to generate tokens.
#REGISTRATION_REQUIRES_TOKEN=true
## Room auto-join
@ -86,6 +86,11 @@ RETENTION_MAX_LIFETIME=4w
#MEDIA_RETENTION_LOCAL_LIFETIME=30d
#MEDIA_RETENTION_REMOTE_LIFETIME=14d
## Old Signing Key
#OLD_SIGNING_KEY_ID=a_OLDKEYID
#OLD_SIGNING_KEY=base64string
#OLD_SIGNING_KEY_EXPIRES=123456789123
## Ratelimit
#LOGIN_LIMIT_IP_PER_SECOND=5

View File

@ -1,14 +1,14 @@
export DISCORD_BRIDGE_YAML_VERSION=v2
export ENTRYPOINT_CONF_VERSION=v3
export HOMESERVER_YAML_VERSION=v31
export HOMESERVER_YAML_VERSION=v35
export LOG_CONFIG_VERSION=v2
export SHARED_SECRET_AUTH_VERSION=v2
export SIGNAL_BRIDGE_YAML_VERSION=v6
export TELEGRAM_BRIDGE_YAML_VERSION=v6
export NGINX_CONFIG_VERSION=v8
export NGINX_CONFIG_VERSION=v12
export WK_SERVER_VERSION=v1
export WK_CLIENT_VERSION=v1
export PG_BACKUP_VERSION=v1
export PG_BACKUP_VERSION=v2
export ADMIN_CONFIG_VERSION=v1
set_admin () {

View File

@ -3,13 +3,13 @@ version: "3.8"
services:
admin:
image: awesometechnologies/synapse-admin:0.10.3
image: awesometechnologies/synapse-admin:0.11.4
networks:
- proxy
deploy:
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.swarm.network=proxy"
- "traefik.http.services.${STACK_NAME}_admin.loadbalancer.server.port=80"
- "traefik.http.routers.${STACK_NAME}_admin.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})&&PathPrefix(`/admin`)"
- "traefik.http.routers.${STACK_NAME}_admin.entrypoints=web-secure"

View File

@ -9,7 +9,7 @@ services:
- shared_secret_auth
configs:
- source: shared_secret_auth
target: /usr/local/lib/python3.12/site-packages/shared_secret_authenticator.py
target: /usr/local/lib/python3.13/site-packages/shared_secret_authenticator.py
configs:
shared_secret_auth:

View File

@ -10,7 +10,7 @@ services:
- signal-data:/signal-data
signalbridge:
image: dock.mau.dev/mautrix/signal:v0.7.5
image: dock.mau.dev/mautrix/signal:v0.8.7
depends_on:
- signaldb
configs:

View File

@ -10,7 +10,7 @@ services:
- telegram-data:/telegram-data
telegrambridge:
image: dock.mau.dev/mautrix/telegram:v0.15.2
image: dock.mau.dev/mautrix/telegram:v0.15.3
depends_on:
- telegramdb
configs:

View File

@ -3,7 +3,7 @@ version: "3.8"
services:
web:
image: nginx:1.27.4
image: nginx:1.29.6
networks:
- proxy
- internal
@ -12,6 +12,7 @@ services:
- STACK_NAME
- NGINX_ACCESS_LOG_LOCATION
- NGINX_ERROR_LOG_LOCATION
- MAX_UPLOAD_SIZE
configs:
- source: nginx_config
target: /etc/nginx/nginx.conf
@ -21,7 +22,7 @@ services:
target: /var/www/.well-known/matrix/client
deploy:
restart_policy:
condition: on-failure
condition: any
labels:
- "traefik.enable=true"
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80"
@ -30,12 +31,13 @@ services:
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
healthcheck:
test: curl -f http://${STACK_NAME}_app:8008/health || exit 1
interval: 20s
interval: 30s
timeout: 15s
retries: 20
retries: 90
start_period: 2m
app:
image: "matrixdotorg/synapse:v1.124.0"
image: "matrixdotorg/synapse:v1.149.1"
volumes:
- "data:/data"
secrets:
@ -55,6 +57,9 @@ services:
- ENABLE_REGISTRATION
- REGISTRATION_REQUIRES_TOKEN
- ENCRYPTED_BY_DEFAULT
- OLD_SIGNING_KEY
- OLD_SIGNING_KEY_ID
- OLD_SIGNING_KEY_EXPIRES
- USER_DIRECTORY_ENABLED=${USER_DIRECTORY_ENABLED:-true}
- USER_DIRECTORY_SEARCH_ALL_USERS=${USER_DIRECTORY_SEARCH_ALL_USERS:-true}
- USER_DIRECTORY_PREFER_LOCAL_USERS=${USER_DIRECTORY_PREFER_LOCAL_USERS:-true}
@ -101,34 +106,33 @@ services:
restart_policy:
condition: on-failure
labels:
- "coop-cloud.${STACK_NAME}.version=6.6.2+v1.124.0"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
- "coop-cloud.${STACK_NAME}.version=7.0.2+v1.149.1"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT}"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8008/health"]
interval: 30s
timeout: 10s
retries: 10
retries: 30
start_period: 1m
db:
image: postgres:13-alpine
image: pgautoupgrade/pgautoupgrade:17-alpine
secrets:
- db_password
environment:
- LC_COLLATE=C
- LC_CTYPE=C
- POSTGRES_DB=synapse
- POSTGRES_INITDB_ARGS="-E \"UTF8\""
- POSTGRES_INITDB_ARGS=-E UTF8
- POSTGRES_PASSWORD_FILE=/run/secrets/db_password
- POSTGRES_USER=synapse
- DOMAIN
networks:
- internal
healthcheck:
test: ["CMD", "pg_isready", "-U", "synapse"]
interval: 30s
timeout: 10s
retries: 10
retries: 20
start_period: 1m
volumes:
- postgres:/var/lib/postgresql/data
@ -137,11 +141,11 @@ services:
backupbot.backup: "${ENABLE_BACKUPS:-true}"
backupbot.backup.pre-hook: "/pg_backup.sh backup"
backupbot.backup.volumes.postgres.path: "backup.sql"
backupbot.restore.post-hook: '/pg_backup.sh restore'
backupbot.restore.post-hook: "/pg_backup.sh restore"
configs:
- source: pg_backup
target: /pg_backup.sh
mode: 0555
- source: pg_backup
target: /pg_backup.sh
mode: 0555
volumes:
data:

View File

@ -157,8 +157,15 @@ registration_shared_secret: {{ secret "registration" }}
{{ if eq (env "AUTO_JOIN_ROOM_ENABLED") "1" }}
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#auto_join_rooms
# AUTO_JOIN_ROOM only for backwards compatibility
{{ if (env "AUTO_JOIN_ROOM") }}
auto_join_rooms:
- "{{ env "AUTO_JOIN_ROOM" }}"
{{ else }}
auto_join_rooms: {{ env "AUTO_JOIN_ROOM_LIST" }}
{{ end }}
{{ end }}
# https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#session_lifetime
@ -186,6 +193,12 @@ form_secret: "{{ secret "form_secret" }}"
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#signing_key_path
signing_key_path: "/data/{{ env "DOMAIN" }}.signing.key"
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#old_signing_keys
{{ if (and (env "OLD_SIGNING_KEY_ID") (env "OLD_SIGNING_KEY") (env "OLD_SIGNING_KEY_EXPIRES")) }}
old_signing_keys:
"ed25519:{{ env "OLD_SIGNING_KEY_ID" }}": { key: "{{ env "OLD_SIGNING_KEY" }}", expired_ts: {{ env "OLD_SIGNING_KEY_EXPIRES" }} }
{{ end }}
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#trusted_key_servers
{{ if eq (env "ENABLE_ALLOWLIST") "1" }}
trusted_key_servers: [] # NOTE(d1): defaults to requesting server directly, which matches FEDERATION_ALLOWLIST

View File

@ -5,6 +5,16 @@ events {
}
http {
resolver 127.0.0.11 valid=30s ipv6=off;
resolver_timeout 5s;
upstream matrix_upstream {
zone matrix_upstream 64k;
server {{ env "STACK_NAME"}}_app:8008 resolve;
keepalive 16;
}
server {
listen 80;
@ -14,7 +24,7 @@ http {
server_name {{ env "DOMAIN" }};
location = / {
proxy_pass http://{{ env "STACK_NAME"}}_app:8008;
proxy_pass http://matrix_upstream;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $host;
@ -23,7 +33,7 @@ http {
}
location ~* ^(\/_matrix|\/_synapse\/client) {
proxy_pass http://{{ env "STACK_NAME"}}_app:8008;
proxy_pass http://matrix_upstream;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $host;
@ -42,7 +52,7 @@ http {
if ($http_referer !~ "^https://{{ env "DOMAIN" }}/admin/") {
return 403;
}
proxy_pass http://{{ env "STACK_NAME"}}_app:8008;
proxy_pass http://matrix_upstream;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $host;

View File

@ -6,7 +6,7 @@ BACKUP_FILE='/var/lib/postgresql/data/backup.sql'
function backup {
export PGPASSWORD=$(cat $POSTGRES_PASSWORD_FILE)
pg_dump -U ${POSTGRES_USER} ${POSTGRES_DB} > $BACKUP_FILE
pg_dump -U ${POSTGRES_USER} ${POSTGRES_DB} | gzip > $BACKUP_FILE
}
function restore {
@ -25,7 +25,7 @@ function restore {
# Recreate Database
psql -U ${POSTGRES_USER} -d postgres -c "DROP DATABASE ${POSTGRES_DB} WITH (FORCE);"
createdb -U ${POSTGRES_USER} ${POSTGRES_DB}
psql -U ${POSTGRES_USER} -d ${POSTGRES_DB} -1 -f $BACKUP_FILE
gunzip -c $BACKUP_FILE | psql -U ${POSTGRES_USER} -d ${POSTGRES_DB} -1 -f -
trap - EXIT INT TERM
restore_config

1
release/6.6.3+v1.124.0 Normal file
View File

@ -0,0 +1 @@
added env for old-signing-keys

1
release/6.7.1+v1.133.0 Normal file
View File

@ -0,0 +1 @@
This patch contains a critical nginx fix, to allow resolving docker internal hosts.

1
release/6.8.2+v1.139.2 Normal file
View File

@ -0,0 +1 @@
this patch is a reset to the state of the last known deploying version 6.8.0 so better skip 6.8.1

2
release/7.0.0+v1.149.1 Normal file
View File

@ -0,0 +1,2 @@
WARNING: Backup your database!
This upgrade switches the database image from postgres to pgautoupgrade and performs an in-place database upgrades from version 13 to 17.