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