58 lines
1.8 KiB
YAML
58 lines
1.8 KiB
YAML
networks:
|
|
web:
|
|
external: true
|
|
|
|
services:
|
|
|
|
synapse:
|
|
image: matrixdotorg/synapse:latest
|
|
container_name: matrix
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /var/docker/matrixfiles:/data
|
|
networks:
|
|
- web
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=web
|
|
- traefik.http.services.synapse.loadbalancer.server.port=8008
|
|
- traefik.http.routers.synapse.rule=Host(`matrix.foo.bar`)
|
|
- traefik.http.routers.synapse.entrypoints=websecure
|
|
- traefik.http.routers.synapse.tls=true
|
|
- traefik.http.routers.synapse.tls.certresolver=lets-encrypt
|
|
|
|
|
|
matrix_wellknown:
|
|
image: nginx:alpine
|
|
container_name: matrix_wellknown
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /var/docker/matrix-nb-net/well-known/.well-known:/usr/share/nginx/html/.well-known:ro
|
|
networks:
|
|
- web
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.wellknown.rule=Host(`matrix.foo.bar`) && (PathPrefix(`/.well-known/matrix/server`) || PathPrefix(`/.well-known/matrix/client`))
|
|
- traefik.http.routers.wellknown.entrypoints=websecure
|
|
- traefik.http.routers.wellknown.tls.certresolver=lets-encrypt
|
|
- traefik.http.services.wellknown.loadbalancer.server.port=80
|
|
mas:
|
|
image: moanos/matrix-registration-bot:latest
|
|
container_name: mas
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./.env
|
|
networks:
|
|
- web
|
|
volumes:
|
|
- ./mas/data:/data
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.mas.rule=Host(`register.matrix.foo.bar`)
|
|
- traefik.http.routers.mas.entrypoints=websecure
|
|
- traefik.http.routers.mas.tls=true
|
|
- traefik.http.routers.mas.tls.certresolver=lets-encrypt
|
|
- traefik.http.routers.mas.service=mas
|
|
- traefik.http.services.mas.loadbalancer.server.port=5000
|
|
|