2022-11-30 21:26:40 +01:00
|
|
|
version: '3'
|
|
|
|
|
|
|
|
services:
|
|
|
|
postgres:
|
|
|
|
image: postgres:latest
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- internal
|
|
|
|
volumes:
|
|
|
|
- db:/var/lib/postgresql/data
|
|
|
|
environment:
|
|
|
|
- POSTGRES_DB=synapse
|
|
|
|
- POSTGRES_USER=synapse
|
|
|
|
- POSTGRES_PASSWORD=WRyu2kuArNjRxojstqpg7EfcoUP9zoka
|
|
|
|
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
|
|
|
|
|
|
|
|
synapse:
|
|
|
|
image: matrixdotorg/synapse:latest
|
|
|
|
restart: unless-stopped
|
2022-12-01 19:42:17 +01:00
|
|
|
ports:
|
|
|
|
- 8448:8448
|
2022-11-30 21:26:40 +01:00
|
|
|
networks:
|
|
|
|
- internal
|
|
|
|
- proxy
|
|
|
|
volumes:
|
|
|
|
- matrix:/data
|
2023-05-20 19:48:18 +02:00
|
|
|
- mautrix_facebook:/facebook_data
|
|
|
|
- mautrix_instagram:/instagram_data
|
|
|
|
- mautrix_discord:/discord_data
|
2022-11-30 21:26:40 +01:00
|
|
|
labels:
|
|
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.http.routers.matrix-secure.entrypoints=https"
|
2023-05-20 17:23:11 +02:00
|
|
|
- "traefik.http.routers.matrix-secure.rule=Host(`matrix.{{ server.domain }}`)"
|
2022-11-30 21:26:40 +01:00
|
|
|
- "traefik.http.routers.matrix-secure.tls=true"
|
|
|
|
- "traefik.http.routers.matrix-secure.tls.certresolver=sslResolver"
|
|
|
|
- "traefik.port=8008"
|
|
|
|
- "traefik.docker.network=proxy"
|
|
|
|
|
2022-12-01 20:02:31 +01:00
|
|
|
well-kwown:
|
|
|
|
image: nginx:latest
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- internal
|
|
|
|
- proxy
|
|
|
|
volumes:
|
|
|
|
- ./nginx/matrix.conf:/etc/nginx/conf.d/matrix.conf
|
|
|
|
- ./nginx/www:/var/www/
|
|
|
|
labels:
|
|
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.http.middlewares.cors-headers.headers.accessControlAllowOriginList=*"
|
|
|
|
- "traefik.http.middlewares.cors-headers.headers.accessControlAllowHeaders=Origin, X-Requested-With, Content-Type, Accept, Authorization"
|
|
|
|
- "traefik.http.middlewares.cors-headers.headers.accessControlAllowMethods=GET, POST, PUT, DELETE, OPTIONS"
|
2023-05-20 17:23:11 +02:00
|
|
|
- "traefik.http.routers.matrix-wellknown.rule=Host(`matrix.{{ server.domain }}`) && PathPrefix(`/.well-known/matrix`)"
|
2022-12-01 20:02:31 +01:00
|
|
|
- "traefik.http.routers.matrix-wellknown.tls=true"
|
|
|
|
- "traefik.http.routers.matrix-wellknown.tls.certresolver=sslResolver"
|
|
|
|
- "traefik.http.routers.matrix-wellknown.middlewares=cors-headers@docker"
|
|
|
|
- "traefik.docker.network=proxy"
|
2023-05-20 19:48:18 +02:00
|
|
|
|
2022-11-30 21:26:40 +01:00
|
|
|
volumes:
|
|
|
|
db:
|
|
|
|
matrix:
|
2023-05-20 19:48:18 +02:00
|
|
|
mautrix_facebook:
|
|
|
|
mautrix_instagram:
|
|
|
|
mautrix_discord:
|
2022-11-30 21:26:40 +01:00
|
|
|
|
|
|
|
networks:
|
|
|
|
internal:
|
|
|
|
proxy:
|
|
|
|
external: true
|
|
|
|
|