vsantos

vsantos / Compose Matrix

Last active 1 day ago

Like 0

Compose que uso en mi servidor para disponer de Matrix

matrix-compose.yml Raw
1services:
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
68configs:
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 }
107networks:
108 matrix:
109 name: matrix
110 proxy:
111 external: true
112x-dockge:
113 urls:
114 - https://{FQDN_ELEMENT}
115 - https://{FQDN_MATRIX}