summaryrefslogtreecommitdiff
path: root/contrib/docker/docker-compose.yml
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/docker/docker-compose.yml')
-rw-r--r--contrib/docker/docker-compose.yml49
1 files changed, 49 insertions, 0 deletions
diff --git a/contrib/docker/docker-compose.yml b/contrib/docker/docker-compose.yml
new file mode 100644
index 00000000..0b531949
--- /dev/null
+++ b/contrib/docker/docker-compose.yml
@@ -0,0 +1,49 @@
+# This compose file is compatible with Compose itself, it might need some
+# adjustments to run properly with stack.
+
+version: '3'
+
+services:
+
+ synapse:
+ image: docker.io/matrixdotorg/synapse:latest
+ # Since snyapse 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=8448
+
+ 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/postfesql/data