spantaleev / matrix-docker-ansible-deploy

🐳 Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker
GNU Affero General Public License v3.0
4.83k stars 1.04k forks source link

Adding matrix-meetings #2521

Open roland-5 opened 1 year ago

roland-5 commented 1 year ago

I would be very thankful for adding https://github.com/nordeck/matrix-meetings to this project.

datrav commented 1 year ago

As an alternative, I raised meetings via docker-compose. Previously, I made only CNAME meetings for the matrix server - matrix.bestsite.com . I also added the matrix homeserver to the /matrix/synapse/config/homeserver.yaml the following configuration:

room_prejoin_state:
  additional_event_types:
    - m.space.parent
    - net.nordeck.meetings.metadata
    - m.room.power_levels

You also need to create a bot in matrix: just register-user 'meetings-widget-bot' some-strong-password yes and get access token: curl -XPOST -d '{"identifier": { "type": "m.id.user", "user": "meetings-widget-bot" },"password":"some-strong-password ","type": "m.login.password"}' 'https://matrix.bestsite.com/_matrix/client/r0/login'

The compose file itself:

version: "3"
services:
  matrix-meetings-widget:
    container_name: matrix-meetings-widget
    image: ghcr.io/nordeck/matrix-meetings-widget:latest
    ports:
      - "8080:8080"
    environment:
      REACT_APP_API_BASE_URL: https://meetings.bestsite.com
      REACT_APP_BOT_USER_ID: "@meetings-widget-bot:idchat.com"
      REACT_APP_HOME_SERVER_URL: https://matrix.bestsite.com
      REACT_APP_ELEMENT_URL: https://element.bestsite.com
    labels:
      - "traefik.docker.network=traefik"
      - "traefik.enable=true"
      - "traefik.http.middlewares.matrix-meetings-widget-add-headers.headers.customresponseheaders.Permission-Policy=interest-cohort=()"
      - "traefik.http.middlewares.matrix-meetings-widget-add-headers.headers.customresponseheaders.Strict-Transport-Security=max-age=31536000; includeSubDomains"
      - "traefik.http.middlewares.matrix-meetings-widget-add-headers.headers.customresponseheaders.X-Content-Type-Options=nosniff"
      - "traefik.http.middlewares.matrix-meetings-widget-add-headers.headers.customresponseheaders.X-XSS-Protection=1; mode=block"
      - "traefik.http.routers.matrix-meetings-widget.entrypoints=web-secure"
      - "traefik.http.routers.matrix-meetings-widget.middlewares=matrix-meetings-widget-add-headers"
      - "traefik.http.routers.matrix-meetings-widget.rule=Host(`meetings.bestsite.com`)"
      - "traefik.http.routers.matrix-meetings-widget.service=matrix-meetings-widget"
      - "traefik.http.routers.matrix-meetings-widget.tls=true"
      - "traefik.http.routers.matrix-meetings-widget.tls.certResolver=default"
      - "traefik.http.services.matrix-meetings-widget.loadbalancer.server.port=8080"
    networks:
      - network1

  matrix-meetings-bot:
    container_name: matrix-meetings-bot
    image: ghcr.io/nordeck/matrix-meetings-bot:latest
    ports:
      - "3080:3080"
    environment:
      LOG_LEVEL: debug
      HOMESERVER_URL: https://matrix.bestsite.com
      ACCESS_TOKEN: syt_bWVldGlu.......
      MEETINGWIDGET_URL: https://meetings.bestsite.com/#/?theme=$org.matrix.bestsite.com.client_theme&matrix_user_id=$matrix_user_id&matrix_display_name=$matrix_display_name&matrix_avatar_url=$matrix_avatar_url&matrix_room_id=$matrix_room_id&matrix_client_id=$org.matrix.bestsite.com.client_id&matrix_client_language=$org.matrix.bestsite.com.client_language
      BREAKOUT_SESSION_WIDGET_URL: https://meetings.bestsite.com/#/?theme=$org.matrix.bestsite.com.client_theme&matrix_user_id=$matrix_user_id&matrix_display_name=$matrix_display_name&matrix_avatar_url=$matrix_avatar_url&matrix_room_id=$matrix_room_id&matrix_client_id=$org.matrix.bestsite.com.client_id&matrix_client_language=$org.matrix.bestsite.com.client_language
      MEETINGWIDGET_COCKPIT_URL: https://meetings.bestsite.com/cockpit/#/?theme=$org.matrix.bestsite.com.client_theme&matrix_user_id=$matrix_user_id&matrix_display_name=$matrix_display_name&matrix_avatar_url=$matrix_avatar_url&matrix_room_id=$matrix_room_id&matrix_client_id=$org.matrix.bestsite.com.client_id&matrix_client_language=$org.matrix.bestsite.com.client_language

networks:
  network1:
    name: traefik
    external: true
roland-5 commented 1 year ago

Thanks. I will try to test it later.