version: "3.0" # # updated: 2023-04-05 # stack: matrix # # # If you don's want Telegam, WhatsApp or Discord bridge, you may remove the relevant section(s) # # sudo docker run -it --rm \ # -v /opt/docker/standard/matrix/work:/data \ # -e SYNAPSE_SERVER_NAME=matrix.domain.com \ # -e SYNAPSE_REPORT_STATS=yes \ # matrixdotorg/synapse:latest generate # sudo docker exec -it synapse bash # register_new_matrix_user -c /data/homeserver.yaml http://localhost:8008 services: element: container_name: element hostname: element image: vectorim/element-web:latest restart: always stdin_open: true tty: true security_opt: - "no-new-privileges:true" ports: - "7080:80" expose: - "80" depends_on: - synapse environment: TZ: "Europe/Paris" volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock:ro - /opt/docker/matrix/conf/element-config.json:/app/config.json synapse: container_name: synapse hostname: synapse image: matrixdotorg/synapse:latest restart: always stdin_open: true tty: true security_opt: - "no-new-privileges:true" ports: - "8008:8008" expose: - "8008" depends_on: - synapserp - coturn environment: TZ: "Europe/Paris" volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock:ro - /opt/docker/matrix/datas/synapse:/data synapserp: container_name: synapserp hostname: synapserp image: nginx:latest restart: always stdin_open: true tty: true security_opt: - "no-new-privileges:true" ports: - "3080:80" expose: - "80" environment: TZ: "Europe/Paris" volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock:ro - /opt/docker/matrix/conf/nginx:/etc/nginx/conf.d coturn: container_name: coturn hostname: coturn image: coturn/coturn:latest restart: always stdin_open: true tty: true security_opt: - "no-new-privileges:true" ports: - "3478:3478" - "5349:5349" - "3478:3478/udp" - "5349:5349/udp" - "14000-15535:64000-65535/udp" expose: - "3478" - "5349" - "64000-65535" environment: TZ: "Europe/Paris" volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock:ro - /opt/docker/matrix/conf/turnserver.conf:/etc/coturn/turnserver.conf - /opt/docker/matrix/datas/coturn:/var/lib/coturn telegram: container_name: telegram hostname: telegram image: dock.mau.dev/mautrix/telegram:latest restart: always stdin_open: true tty: true security_opt: - "no-new-privileges:true" ports: - "29317:29317" expose: - "29317" depends_on: - synapse environment: TZ: "Europe/Paris" volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock:ro - /opt/docker/matrix/datas/telegram:/data whatsapp: container_name: whatsapp hostname: whatsapp image: dock.mau.dev/mautrix/whatsapp:latest restart: always stdin_open: true tty: true security_opt: - "no-new-privileges:true" ports: - "29318:29318" expose: - "29318" depends_on: - synapse environment: TZ: "Europe/Paris" volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock:ro - /opt/docker/matrix/datas/whatsapp:/data discord: container_name: discord hostname: discord image: dock.mau.dev/mautrix/discord:latest restart: always stdin_open: true tty: true security_opt: - "no-new-privileges:true" ports: - "29334:29334" expose: - "29334" depends_on: - synapse environment: TZ: "Europe/Paris" volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock:ro - /opt/docker/matrix/datas/discord:/data