docker-synapse.minervajuppiter.net

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 99e4b3e19a5039e52bea7a88922a6a52984f0c67
Author: minerva-jupiter <contact@minervajuppiter.net>
Date:   Sun,  9 Nov 2025 04:17:08 +0000

init commit

Diffstat:
Adocker-compose.yaml | 67+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+), 0 deletions(-)

diff --git a/docker-compose.yaml b/docker-compose.yaml @@ -0,0 +1,67 @@ +# This compose file is compatible with Compose itself, it might need some +# adjustments to run properly with stack. + +version: '3' + +services: + + synapse: + build: + context: ../.. + dockerfile: docker/Dockerfile + image: docker.io/matrixdotorg/synapse:latest + # Since synapse does not retry to connect to the database, restart upon + # failure + restart: unless-stopped + # See the readme for a full documentation of the environment settings + # NOTE: You must edit homeserver.yaml to use postgres, it defaults to sqlite + environment: + - SYNAPSE_CONFIG_PATH=/data/homeserver.yaml + volumes: + # You may either store all the files in a local folder + - ./files:/data + # .. or you may split this between different storage points + # - ./files:/data + # - /path/to/ssd:/data/uploads + # - /path/to/large_hdd:/data/media + depends_on: + - db + # In order to expose Synapse, remove one of the following, you might for + # instance expose the TLS port directly: + ports: + - 8448:8448/tcp + - 8008:8008/tcp + # ... or use a reverse proxy, here is an example for traefik: +# labels: +# # The following lines are valid for Traefik version 1.x: +# - traefik.enable=true +# - traefik.frontend.rule=Host:my.matrix.Host +# - traefik.port=8008 +# # Alternatively, for Traefik version 2.0: +# - traefik.enable=true +# - traefik.http.routers.http-synapse.entryPoints=http +# - traefik.http.routers.http-synapse.rule=Host(`my.matrix.host`) +# - traefik.http.middlewares.https_redirect.redirectscheme.scheme=https +# - traefik.http.middlewares.https_redirect.redirectscheme.permanent=true +# - traefik.http.routers.http-synapse.middlewares=https_redirect +# - traefik.http.routers.https-synapse.entryPoints=https +# - traefik.http.routers.https-synapse.rule=Host(`my.matrix.host`) +# - traefik.http.routers.https-synapse.service=synapse +# - traefik.http.routers.https-synapse.tls=true +# - traefik.http.services.synapse.loadbalancer.server.port=8008 +# - traefik.http.routers.https-synapse.tls.certResolver=le-ssl + + db: + image: docker.io/postgres:15-alpine + # Change that password, of course! + environment: + - POSTGRES_USER=synapse_user + - POSTGRES_PASSWORD=password + # ensure the database gets created correctly + # https://element-hq.github.io/synapse/latest/postgres.html#set-up-database + - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C + volumes: + # You may store the database tables in a local folder.. + - ./schemas:/var/lib/postgresql/data + # .. or store them on some high performance storage for better results + # - /path/to/ssd/storage:/var/lib/postgresql/data