-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose.yml
71 lines (65 loc) · 3.2 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
version: "3.3"
services:
element-1:
container_name: element-${SUB_DOMAIN_1}
image: vectorim/element-web:v1.11.31
volumes:
- ./${SUB_DOMAIN_1}/element-config.json:/app/config.json
labels:
- "traefik.enable=true"
- "traefik.http.routers.element-${SUB_DOMAIN_1}.rule=Host(`element.${SUB_DOMAIN_1}.${DOMAIN}`)"
- "traefik.http.routers.element-${SUB_DOMAIN_1}.entrypoints=websecure"
- "traefik.http.services.element-${SUB_DOMAIN_1}.loadbalancer.server.port=80"
- "traefik.http.routers.element-${SUB_DOMAIN_1}.tls=true"
- "traefik.http.routers.element-${SUB_DOMAIN_1}.tls.certresolver=letsencrypt"
element-2:
container_name: element-${SUB_DOMAIN_2}
image: vectorim/element-web:v1.11.31
volumes:
- ./${SUB_DOMAIN_2}/element-config.json:/app/config.json
labels:
- "traefik.enable=true"
- "traefik.http.routers.element-${SUB_DOMAIN_2}.rule=Host(`element.${SUB_DOMAIN_2}.${DOMAIN}`)"
- "traefik.http.routers.element-${SUB_DOMAIN_2}.entrypoints=websecure"
- "traefik.http.services.element-${SUB_DOMAIN_2}.loadbalancer.server.port=80"
- "traefik.http.routers.element-${SUB_DOMAIN_2}.tls=true"
- "traefik.http.routers.element-${SUB_DOMAIN_2}.tls.certresolver=letsencrypt"
synapse-1:
container_name: synapse-${SUB_DOMAIN_1}
image: matrixdotorg/synapse:${SYNAPSE_VERSION}
volumes:
- ./${SUB_DOMAIN_1}/mx-data:/data
- ./${SUB_DOMAIN_1}/mx-conf:/mx-conf/
- ./broadcast_module/:/usr/local/lib/python3.11/site-packages/broadcast_module
- ./synapse/handlers/receipts.py:/usr/local/lib/python3.11/site-packages/synapse/handlers/receipts.py
environment:
- SYNAPSE_CONFIG_PATH=/mx-conf/homeserver.yaml
labels:
- "traefik.enable=true"
- "traefik.http.routers.synapse-${SUB_DOMAIN_1}.rule=Host(`${SUB_DOMAIN_1}.${DOMAIN}`)"
- "traefik.http.routers.synapse-${SUB_DOMAIN_1}.entrypoints=websecure"
- "traefik.http.services.synapse-${SUB_DOMAIN_1}.loadbalancer.server.port=8008"
- "traefik.http.routers.synapse-${SUB_DOMAIN_1}.tls=true"
- "traefik.http.routers.synapse-${SUB_DOMAIN_1}.tls.certresolver=letsencrypt"
synapse-2:
container_name: synapse-${SUB_DOMAIN_2}
image: matrixdotorg/synapse:${SYNAPSE_VERSION}
volumes:
- ./${SUB_DOMAIN_2}/mx-data:/data
- ./${SUB_DOMAIN_2}/mx-conf:/mx-conf/
- ./broadcast_module/:/usr/local/lib/python3.11/site-packages/broadcast_module
- ./eimis_directory_module/:/usr/local/lib/python3.11/site-packages/eimis_directory_module
- ./synapse/handlers/receipts.py:/usr/local/lib/python3.11/site-packages/synapse/handlers/receipts.py
environment:
- SYNAPSE_CONFIG_PATH=/mx-conf/homeserver.yaml
labels:
- "traefik.enable=true"
- "traefik.http.routers.synapse-${SUB_DOMAIN_2}.rule=Host(`${SUB_DOMAIN_2}.${DOMAIN}`)"
- "traefik.http.routers.synapse-${SUB_DOMAIN_2}.entrypoints=websecure"
- "traefik.http.services.synapse-${SUB_DOMAIN_2}.loadbalancer.server.port=8008"
- "traefik.http.routers.synapse-${SUB_DOMAIN_2}.tls=true"
- "traefik.http.routers.synapse-${SUB_DOMAIN_2}.tls.certresolver=letsencrypt"
networks:
default:
external: true
name: ${TRAEFIK_NETWORK}