vsantos

vsantos / Compose Matrix

Last active 1 day ago

Like 0

Compose que uso en mi servidor para disponer de Matrix

vsantos revised this gist 1 day ago · d46a331

1 file changed, 115 insertions

matrix-compose.yml (file created)
@@ -0,0 +1,115 @@
1 + services:
2 + # ELEMENT CLIENT
3 + element:
4 + image: vectorim/element-web:latest
5 + container_name: matrix-element
6 + restart: always
7 + cap_add:
8 + - NET_BIND_SERVICE
9 + networks:
10 + - proxy
11 + - matrix
12 + configs:
13 + - source: element_config
14 + target: /app/config.json
15 + mode: "0444"
16 + labels:
17 + - traefik.enable=true
18 + - traefik.http.services.element.loadbalancer.server.port=80
19 + - traefik.http.routers.element.entrypoints=websecure
20 + - traefik.http.routers.element.tls.certresolver=myresolver
21 + - traefik.http.routers.element.rule=Host(`${FQDN_ELEMENT}`)
22 + # MATRIX SERVER
23 + continuwuity:
24 + image: forgejo.ellis.link/continuwuation/continuwuity:latest
25 + container_name: matrix-continuwuity
26 + init: true
27 + restart: unless-stopped
28 + networks:
29 + - proxy
30 + - matrix
31 + command: /sbin/conduwuit
32 + volumes:
33 + - ${PODMAN_STORAGE_PATH}/.config/matrix:/var/lib/continuwuity
34 + configs:
35 + - source: resolv_conf
36 + target: /etc/resolv.conf
37 + mode: "0400"
38 + environment:
39 + RUST_BACKTRACE: full
40 + CONTINUWUITY_SERVER_NAME: ${FQDN_MATRIX}
41 + CONTINUWUITY_DATABASE_PATH: /var/lib/continuwuity
42 + CONTINUWUITY_ADDRESS: 0.0.0.0
43 + # ESTA A TRUE PARA CREAR ADMIN Y USER LUEGO A FALSE
44 + CONTINUWUITY_ALLOW_REGISTRATION: false
45 + CONTINUWUITY_ALLOW_FEDERATION: false
46 + CONTINUWUITY_ALLOW_CHECK_FOR_UPDATES: true
47 + CONTINUWUITY_NEW_USER_DISPLAYNAME_SUFFIX: " 🐧"
48 + CONTINUWUITY_TRUSTED_PROXIES: 10.89.0.0/24
49 + CONTINUWUITY_PORT: 8008 # This must match with traefik's loadbalancer label
50 + CONTINUWUITY_WELL_KNOWN: |
51 + {
52 + client=https://${FQDN_MATRIX},
53 + server=${FQDN_MATRIX}:443
54 + }
55 + labels:
56 + - traefik.enable=true
57 + - traefik.http.services.continuwuity.loadbalancer.server.port=8008
58 + - traefik.http.routers.continuwuity.entrypoints=websecure
59 + - traefik.http.routers.continuwuity.tls.certresolver=myresolver
60 + - traefik.http.routers.continuwuity.rule=Host(`${FQDN_MATRIX}`)
61 + - traefik.http.middlewares.cors-headers.headers.accessControlAllowOriginList=https://${FQDN_ELEMENT}
62 + - traefik.http.routers.continuwuity.middlewares=cors-headers@docker,matrix-headers@docker
63 + - traefik.http.middlewares.cors-headers.headers.accessControlAllowHeaders=Origin,
64 + X-Requested-With, Content-Type, Accept, Authorization
65 + - traefik.http.middlewares.cors-headers.headers.accessControlAllowMethods=GET,
66 + POST, PUT, DELETE, OPTIONS
67 + - traefik.http.middlewares.matrix-headers.headers.customrequestheaders.X-Forwarded-Proto=https
68 + configs:
69 + resolv_conf:
70 + content: |
71 + nameserver 1.1.1.1
72 + nameserver 9.9.9.9
73 + element_config:
74 + content: |
75 + {
76 + "default_server_config": {
77 + "m.homeserver": {
78 + "base_url": "https://${FQDN_MATRIX}"
79 + }
80 + },
81 + "disable_custom_urls": false,
82 + "disable_guests": true,
83 + "disable_login_language_selector": true,
84 + "disable_3pid_login": true,
85 + "brand": "Element",
86 + "defaultCountryCode": "ES",
87 + "showLabsSettings": false,
88 + "features": {
89 + "feature_pinning": true
90 + },
91 + "default_federate": false,
92 + "default_theme": "dark",
93 + "roomDirectory": {
94 + "servers": [
95 + "matrix.org"
96 + ]
97 + },
98 + "piwik": false,
99 + "enable_presence_by_hs_url": {
100 + "https://matrix.org": false,
101 + "https://matrix-client.matrix.org": false
102 + },
103 + "settingDefaults": {
104 + "breadcrumbs": true
105 + }
106 + }
107 + networks:
108 + matrix:
109 + name: matrix
110 + proxy:
111 + external: true
112 + x-dockge:
113 + urls:
114 + - https://{FQDN_ELEMENT}
115 + - https://{FQDN_MATRIX}