🔗

Misskeyの配送詰まりを解消する

に公開

主な原因

  • 回線が悪い
    • 品質
    • 速度など
  • 連合先との相性(これが比較的多い原因となる)

1. warproxyのセットアップ

warproxyを使用することで、Misskeyからの外部へのリクエストを経路変更し、通信の安定化を図ります。

使用するもの:

https://github.com/kingcc/warproxy

手順:

  1. warproxy専用の作業ディレクトリを作成します。(例: mkdir ~/warproxy_config && cd ~/warproxy_config
  2. 作成したディレクトリに、以下の内容でcompose.yamlファイルを作成します。
services:
  warproxy.server:
    image: ghcr.io/kingcc/warproxy:latest
    restart: always
    volumes:
      - ./config:/config
    environment:
      - WARP_PLUS=false # WARP+を使用する場合はtrueに変更
      - HTTP_PORT=1081  # warproxyがリッスンするHTTPポート
      - TZ=Asia/Tokyo   # タイムゾーン
      - VERBOSE=true    # 詳細ログ出力
    ports:
      - "1081:1081"
    networks:
      - default
      - internal_network # Misskeyが接続されているDockerネットワーク

networks:
  default:
  internal_network:
    external: true
    # ↓ 実際のMisskeyのDocker Composeプロジェクトにおけるinternal_networkの名称に合わせる
    # (例: misskey_internal_network, 通常はMisskeyのセットアップに使用したディレクトリ名 + _internal_network)
    name: misskey_internal_network 
  1. compose.yaml内のnetworks.internal_network.nameは、ご自身のMisskeyが稼働しているDockerネットワークの実際の名称(例: misskey_internal_network、多くの場合Misskeyのセットアップに使用したディレクトリ名 + _internal_network)に置き換えてください。既存のMisskeyのcompose.yamlファイルなどで確認できます。
  2. warproxyを起動します。
docker compose up -d

2. Misskeyの設定変更

Misskeyがwarproxyを経由して通信するように設定を変更します。

手順:

  1. Misskeyの設定ファイル (.config/default.yml) に以下を追記します。
    (通常、Misskeyのソースコードディレクトリ内の .config/default.yml です。)
# IP address family used for outgoing request (ipv4, ipv6 or dual)
# WARP Proxy経由にするため、IPv4/IPv6デュアルスタックを指定
outgoingAddressFamily: dual

# Proxy for HTTP/HTTPS
# warproxy.server は compose.yaml で定義したサービス名
proxy: http://warproxy.server:1081
  1. outgoingAddressFamilydualに設定することで、IPv6での通信も有効になります。これにより、接続先がIPv6に対応している場合に経路改善が期待できます。

  2. 設定変更後、Misskeyを再起動して設定を反映させます。

# Misskeyのディレクトリに移動して
# cd /path/to/your/misskey
docker compose restart web # もしくは docker compose restart app など、Misskeyのサービス名による

以上で、Misskeyの配送詰まりが改善される可能性があります。

Discussion