mirror of
https://mau.dev/maunium/synapse.git
synced 2024-11-18 16:02:15 +01:00
265513e499
Hi, the original docker-compose file did not work by default. You get federation port working but no client port. My proposal is to let federation port work as it is by default (8448) and let traefik handle client http/https traffic.
52 lines
1.7 KiB
YAML
52 lines
1.7 KiB
YAML
# 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
|
|
environment:
|
|
- SYNAPSE_SERVER_NAME=my.matrix.host
|
|
- SYNAPSE_REPORT_STATS=no
|
|
- SYNAPSE_ENABLE_REGISTRATION=yes
|
|
- SYNAPSE_LOG_LEVEL=INFO
|
|
- POSTGRES_PASSWORD=changeme
|
|
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
|
|
# ... or use a reverse proxy, here is an example for traefik:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.frontend.rule=Host:my.matrix.Host
|
|
- traefik.port=8008
|
|
|
|
db:
|
|
image: docker.io/postgres:10-alpine
|
|
# Change that password, of course!
|
|
environment:
|
|
- POSTGRES_USER=synapse
|
|
- POSTGRES_PASSWORD=changeme
|
|
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
|