| 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} |
vsantos / Compose Matrix
Last active 1 day ago
Compose que uso en mi servidor para disponer de Matrix