Skip to content

安裝啟動


安裝

Windows安裝

隨PC端程序安裝即可

Linux安裝

解壓chat_linux.tar.gz到當前文件夾,會生成一個chat/目錄,包含啟動程序(由腳本完成)

配置

配置文件

  • chat_key.pem:服務端密鑰文件
  • chat.yaml:服務啟動配置文件

配置文件初始化

由網關程序啟動時自動生成

啟動

啟動前置條件

  • 已註冊網關
  • 已為該網關設置號碼段

啟動命令

注意

以下命令全部由網關程序執行,無需手動調用

windows
chat.exe -public-ip XXX.XXX.XXX.XXX
Linux
chat -public-ip XXX.XXX.XXX.XXX
配置说明

    version: 2  # 版本號
    global:
      mode: chain   # 啟動模式chain無需變動
      server_name: 2222222.fm   # 虛擬功能變數名稱,對應{閘道首個號段}.fm
      private_key: chat_key.pem  # 服務金鑰檔案,固定生成即可
      # guid公開金鑰,mode=center時有用,chain模式無所謂
      guid_pub_key: |-
        -----BEGIN PUBLIC KEY-----
        MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxXxkr6ikE7niKv/IuFDP
        zB9ooLNfHO64vcIClgh++ot39myFnCknggXVTOc2+6kkTBqBWxt1/QJ0vDnmQDja
        EVRDg9ynewas/1GjzpFjC6vlmZ5QbbWT+tcCApzntwmV7+QyJnJx3fePtKdxxpaA
        PGaoS9DseRUeqSw5gjsYvOnHhzwoJO/qOvOZNaHJPuzJRfV3kDn6kPvy5KQ0/a8K
        dqQ7koVK4O6AeM8G8K8WLVKQOl8xKt1KtRIiMoLpJHveCiTPeDsya7u4e/ikk5nR
        FmDMMNaeDyS/xuOBx2Dk/D3Y0R7oH2k4GKbRKn62T7zpCzkLGu/Riw4Ur8pPUJQb
        iwIDAQAB
        -----END PUBLIC KEY-----
      old_private_keys: []  # 舊私密金鑰
      key_validity_period: 168h0m0s  # 私密金鑰驗證週期,無需改動
      database:  # 資料庫相關配寘
        connection_string: postgresql://postgres:postgres@localhost:5432/chat?sslmode=disable
        max_open_conns: 400
        max_idle_conns: 50
        conn_max_lifetime: -1
      well_known_server_name: 8.8.8.8:28008  # 跨節點通訊時使用的servername
      well_known_client_name: ""  # 跨節點通訊時的用戶端name
      disable_federation: false  # 是否禁用跨節點通訊
      presence:  # 用戶上線通知配寘
        enable_inbound: true
        enable_outbound: true
      trusted_third_party_id_servers:  # 可信三方服務,不重要
      - matrix.org
      - vector.im
      jetstream:  # 消息隊列中介軟體jetstream配寘
        storage_path: ./
        addresses: []
        topic_prefix: Dendrite
      metrics:   # prometheus監控配寘
        enabled: true
        basic_auth:
          username: metrics
          password: metrics
      dns_cache:  # DNS緩存配寘
        enabled: false
        cache_size: 256
        cache_lifetime: 5m0s
    app_service_api:  # app_service_api配寘
      disable_tls_validation: false
      config_files: []
    client_api:  # 用戶端API配寘
      registration_disabled: false  # 禁用注册
      registration_shared_secret: dsfdfdfsdffdgfdg
      guests_disabled: true
      enable_registration_captcha: false
      recaptcha_public_key: ""
      recaptcha_private_key: ""
      recaptcha_bypass_secret: ""
      recaptcha_siteverify_api: ""
      turn:  # 穿透中轉服務配寘用於音視頻通話
        turn_user_lifetime: 1m
        turn_uris:
        - turn:8.8.8.8:3478?transport=udp
        turn_shared_secret: ""
        turn_username: kurento
        turn_password: kurento
        trusted_servers:
        - servername: self
          host: 8.8.8.8
          bandwidth: 100
          turn_uris:
          - turn:8.8.8.8:3478?transport=udp
          salt_str: KryaEArg
      rate_limiting:  # 限流配寘 
        enabled: true
        threshold: 5
        cooloff_ms: 500
        exempt_user_ids: []
    federation_api:  # 節點間通訊API配寘
      send_max_retries: 16
      disable_tls_validation: false
      key_perspectives:
      - server_name: daodst.com
        keys:
        - key_id: ed25519:auto
          public_key: Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw
        - key_id: ed25519:a_RXGa
          public_key: l8Hft5qXKn1vfHrg3p4+W8gELQVo8N13JkluMfmn2sQ
      prefer_direct_fetch: false
    media_api:   # 檔存儲API配寘
      database:
        connection_string: ""
        max_open_conns: 0
        max_idle_conns: 0
        conn_max_lifetime: 0
      base_path: ./media_store
      clear_interval: 3
      max_file_size_bytes: 10485760   # 上傳文件大小限制值
      dynamic_thumbnails: false
      max_thumbnail_generators: 10
      thumbnail_sizes:
      - width: 32
        height: 32
        method: crop
      - width: 96
        height: 96
        method: crop
      - width: 640
        height: 480
        method: scale
    sync_api:   # 同步API配寘
      real_ip_header: ""
    user_api:
      bcrypt_cost: 10
    mscs:
      mscs:
      - msc2946
    tracing:
      enabled: false
      jaeger:
        serviceName: ""
        disabled: false
        rpc_metrics: false
        tags: []
    logging:   # 日誌配寘
    - type: file
      level: info
      params:
        path: ./logs