Skip to content

Instantly share code, notes, and snippets.

@Extarys
Created December 14, 2018 03:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Extarys/caddbdd35119711cdd965ef61075fae1 to your computer and use it in GitHub Desktop.
Save Extarys/caddbdd35119711cdd965ef61075fae1 to your computer and use it in GitHub Desktop.
# 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=kuelio.org
- 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
- /data/matrix:/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=8448
db:
image: docker.io/postgres:10-alpine
restart: always
# Change that password, of course!
environment:
- POSTGRES_USER=synapse
- POSTGRES_PASSWORD=changeme
volumes:
# You may store the database tables in a local folder..
- /data/pgsql:/var/lib/postgresql/data
# .. or store them on some high performance storage for better results
# - /path/to/ssd/storage:/var/lib/postgresql/data
coturn:
image: icedream/coturn
container_name: coturn
net: host
ports:
- "3478:3478/udp" # STUN/TURN UDP
- "3478:3478/tcp" # STUN/TURN TCP
- "3479:3479/udp" # STUN/TURN UDP Alt port (RFC5780 support)
- "3479:3479/tcp" # STUN/TURN TCP Alt port (RFC5780 support)
- "5349:5349/udp" # STUN/TURN DTLS
- "5349:5349/tcp" # STUN/TURN TLS
- "5350:5350/udp" # STUN/TURN DTLS Alt port (RFC5780 support)
- "5350:5350/tcp" # STUN/TURN TLS Alt port (RFC5780 support)
- "49152:65535/udp" # UDP media ports for TURN relay
environment:
- PORT: 3478
- ALT_PORT: 3479
- TLS_PORT: 5349
- TLS_ALT_PORT: 5350
- MIN_PORT: 49152
- MAX_PORT: 65535
- static-auth-secret: ThisIsASharedSecret-ChangeMe
- realm: turn.mydomain.com
- cert: 'path.pem',
- pkey: 'path.pem'
JSON_CONFIG: '{"config":["lt-cred-mech", "use-auth-secret", ]}'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment