Update docker-compose.yml for a static config file, and update traefik examples (#6142)
parent
782dd72037
commit
c3772a71cb
|
@ -1,39 +1,26 @@
|
||||||
|
|
||||||
# Synapse Docker
|
# Synapse Docker
|
||||||
|
|
||||||
FIXME: this is out-of-date as of
|
### Configuration
|
||||||
https://github.com/matrix-org/synapse/issues/5518. Contributions to bring it up
|
|
||||||
to date would be welcome.
|
|
||||||
|
|
||||||
### Automated configuration
|
|
||||||
|
|
||||||
It is recommended that you use Docker Compose to run your containers, including
|
|
||||||
this image and a Postgres server. A sample ``docker-compose.yml`` is provided,
|
|
||||||
including example labels for reverse proxying and other artifacts.
|
|
||||||
|
|
||||||
Read the section about environment variables and set at least mandatory variables,
|
|
||||||
then run the server:
|
|
||||||
|
|
||||||
```
|
|
||||||
docker-compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
If secrets are not specified in the environment variables, they will be generated
|
|
||||||
as part of the startup. Please ensure these secrets are kept between launches of the
|
|
||||||
Docker container, as their loss may require users to log in again.
|
|
||||||
|
|
||||||
### Manual configuration
|
|
||||||
|
|
||||||
A sample ``docker-compose.yml`` is provided, including example labels for
|
A sample ``docker-compose.yml`` is provided, including example labels for
|
||||||
reverse proxying and other artifacts. The docker-compose file is an example,
|
reverse proxying and other artifacts. The docker-compose file is an example,
|
||||||
please comment/uncomment sections that are not suitable for your usecase.
|
please comment/uncomment sections that are not suitable for your usecase.
|
||||||
|
|
||||||
Specify a ``SYNAPSE_CONFIG_PATH``, preferably to a persistent path,
|
Specify a ``SYNAPSE_CONFIG_PATH``, preferably to a persistent path,
|
||||||
to use manual configuration. To generate a fresh ``homeserver.yaml``, simply run:
|
to use manual configuration.
|
||||||
|
|
||||||
|
To generate a fresh `homeserver.yaml`, you can use the `generate` command.
|
||||||
|
(See the [documentation](../../docker/README.md#generating-a-configuration-file)
|
||||||
|
for more information.) You will need to specify appropriate values for at least the
|
||||||
|
`SYNAPSE_SERVER_NAME` and `SYNAPSE_REPORT_STATS` environment variables. For example:
|
||||||
|
|
||||||
```
|
```
|
||||||
docker-compose run --rm -e SYNAPSE_SERVER_NAME=my.matrix.host synapse generate
|
docker-compose run --rm -e SYNAPSE_SERVER_NAME=my.matrix.host -e SYNAPSE_REPORT_STATS=yes synapse generate
|
||||||
```
|
```
|
||||||
|
|
||||||
|
(This will also generate necessary signing keys.)
|
||||||
|
|
||||||
Then, customize your configuration and run the server:
|
Then, customize your configuration and run the server:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
|
@ -15,13 +15,10 @@ services:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
# See the readme for a full documentation of the environment settings
|
# See the readme for a full documentation of the environment settings
|
||||||
environment:
|
environment:
|
||||||
- SYNAPSE_SERVER_NAME=my.matrix.host
|
- SYNAPSE_CONFIG_PATH=/etc/homeserver.yaml
|
||||||
- SYNAPSE_REPORT_STATS=no
|
|
||||||
- SYNAPSE_ENABLE_REGISTRATION=yes
|
|
||||||
- SYNAPSE_LOG_LEVEL=INFO
|
|
||||||
- POSTGRES_PASSWORD=changeme
|
|
||||||
volumes:
|
volumes:
|
||||||
# You may either store all the files in a local folder
|
# You may either store all the files in a local folder
|
||||||
|
- ./matrix-config:/etc
|
||||||
- ./files:/data
|
- ./files:/data
|
||||||
# .. or you may split this between different storage points
|
# .. or you may split this between different storage points
|
||||||
# - ./files:/data
|
# - ./files:/data
|
||||||
|
@ -35,9 +32,23 @@ services:
|
||||||
- 8448:8448/tcp
|
- 8448:8448/tcp
|
||||||
# ... or use a reverse proxy, here is an example for traefik:
|
# ... or use a reverse proxy, here is an example for traefik:
|
||||||
labels:
|
labels:
|
||||||
|
# The following lines are valid for Traefik version 1.x:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.frontend.rule=Host:my.matrix.Host
|
- traefik.frontend.rule=Host:my.matrix.Host
|
||||||
- traefik.port=8008
|
- 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:
|
db:
|
||||||
image: docker.io/postgres:10-alpine
|
image: docker.io/postgres:10-alpine
|
||||||
|
|
Loading…
Reference in New Issue