# 【迁移】Docker部署Matrix-Dendrite

Last updated on March 19, 2024 pm

# To generate keys

    1
    2
    3
    4
    5
    6
    7
    8

    #/bin/bash
    docker run --rm --entrypoint="" \
      -v $(pwd):/mnt \
      matrixdotorg/dendrite-monolith:latest \
      /usr/bin/generate-keys \
      -private-key /mnt/matrix_key.pem \
      -tls-cert /mnt/server.crt \
      -tls-key /mnt/server.key

    1
    2
    3
    4

    mkdir -p ~/Dendrite && cd ~/Dendrite
    nano generate-keys.sh
    chmod +x generate-keys.sh
    sudo ./generate-keys.sh

## 生成配置文件

- 下载 dendrite-sample.monolith.yaml
- wget https://github.com/matrix-org/dendrite/raw/main/dendrite-sample.monolith.yaml -O dendrite.yaml
- 修改dendrite.yaml的以下配置项
- 注意 well_known_server_name 需要加端口

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    global:
      server_name: m.limour.top
      private_key: /mnt/matrix_key.pem
      database:
        connection_string: postgresql://dendrite:itsasecret@postgres:5432/dendrite?sslmode=disable
      jetstream:
        storage_path: /mnt/JetStream
      well_known_server_name: "m.limour.top:443"
    client_api:
      registration_shared_secret: "itsasecret"

## 部署

    1
    2
    3
    4
    5

    nano docker-compose.yml
    # 下载 create_db.sh
    wget https://github.com/matrix-org/dendrite/raw/main/build/docker/postgres/create_db.sh
    chmod +x create_db.sh
    sudo docker-compose up -d

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45

    version: "3.4"
    services:
      postgres:
        hostname: postgres
        image: postgres:14
        restart: always
        volumes:
          - ./create_db.sh:/docker-entrypoint-initdb.d/20-create_db.sh
          # To persist your PostgreSQL databases outside of the Docker image,
          # to prevent data loss, modify the following ./path_to path:
          - ./postgresql:/var/lib/postgresql/data
        environment:
          POSTGRES_PASSWORD: itsasecret
          POSTGRES_USER: dendrite
        healthcheck:
          test: ["CMD-SHELL", "pg_isready -U dendrite"]
          interval: 5s
          timeout: 5s
          retries: 5
        networks:
          - internal

      monolith:
        hostname: monolith
        image: matrixdotorg/dendrite-monolith:latest
        command: [
          "--tls-cert=/mnt/server.crt",
          "--tls-key=/mnt/server.key"
        ]
        ports:
          - 12008:8008
          - 12448:8448
        volumes:
          - ./:/etc/dendrite
          - ./media:/var/dendrite/media
          - ./:/mnt
        depends_on:
          - postgres
        networks:
          - internal
        restart: unless-stopped

    networks:
      internal:
        attachable: true

## 反向代理

- 域名解析 m.limour.top
- WAF 添加 m.limour.top 白名单
- NGPM反向代理 m.limour.top到12008

## 注册账号

- `sudo docker exec -it dendrite-monolith-1 /usr/bin/create-account -admin --config /etc/dendrite/dendrite.yaml --username limour`

## 搭建自己的element-web

    1
    2
    3
    4

    mkdir -p ~/element && cd ~/element
    nano docker-compose.yml
    nano config.json
    sudo docker-compose up -d

    1
    2
    3
    4
    5
    6
    7
    8
    9

    version: '3.3'
    services:
        element-web:
            ports:
                - '12280:80'
            volumes:
                - './config.json:/app/config.json'
                - './config.json:/app/config.e.limour.top.json'
            image: vectorim/element-web

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    {
       "default_server_config": {
          "m.homeserver": {
             "base_url": "https://m.limour.top"
          },
          "m.identity_server": {
             "base_url": "https://vector.im"
          }
       }
    }

#docker #matrix #dendrite
【迁移】Docker部署Matrix-Dendrite
https://hexo.limour.top/Docker-bu-shu-Matrix-Dendrite
Author
Limour
Posted on
December 6, 2022
Updated on
March 19, 2024
Licensed under
【迁移】FFT的有趣应用：计算整数乘法 Previous
【迁移】药理四：中枢神经系统药物之抗癫痫和抗惊厥 Next

#### Search

Keyword