← トピック

Soketi の代替:Pusher プロトコルのサーバーをどこへ移すか

Soketi の最後のリリースは 2024 年 3 月です。移行先になる Pusher 互換の選択肢、設定で変わるところ、ダウンタイムなしで切り替える方法。

Soketi のおかげで Pusher プロトコルのセルフホストは手軽になり、今も多くの Laravel や Node.js のアプリが Soketi で動いています。ただ、プロジェクトの動きは鈍くなっていて、Soketi に頼るチームは次の行き先を探し始めています。Soketi は Pusher プロトコルを話すので、答えは書き直しではなく設定の変更で済むことがあります。

Soketi の現状

Soketi のリポジトリとリリース一覧より、2026-10-26 に確認しました。

今動いているサーバーは、この先も長く動き続けられます。リスクはその後にあります。新しい Node.js でビルドできなくなる、セキュリティ修正が出ない、バグを自分で直すしかない、といったことです。全ユーザーの接続を抱える部分なので、急ぎになる前に計画しておく価値があります。

Pusher 互換の移行先

いずれも pusher-js、Laravel Echo、Pusher のサーバーライブラリをそのまま使えるので、チャンネル、認可エンドポイント、イベントは変わりません。

料金は Laravel Cloud の料金ドキュメントと pusher.com/channels/pricing より、2026-10-26 に確認しました。

Pusher プロトコルを離れて Socket.IO、Centrifugo、Ably に移ることもできますが、クライアントとサーバーのコードを書き直すことになります。これらは Pusher の代替のページで扱っています。

移行前

自分のサーバー
HTTP API
Soketisoketi.example.com:6001
WebSocket
ブラウザとアプリ

移行後

自分のサーバー
同じ SDK、ホストだけ変更
Hibiraws.hibira.io:443
WebSocket
ブラウザとアプリ
Soketi から Pusher 互換サービスに移ると変わるもの

設定で変わるところ

変わるのは接続情報だけです。Soketi で動いている Laravel アプリの .env は、たいてい Pusher ドライバーを自分のホストの 6001 番ポートに向けています。ホスティング型のサービスにするなら、そのサービスに向けます。

BROADCAST_CONNECTION=pusher
PUSHER_APP_ID=YOUR_APP_ID
PUSHER_APP_KEY=YOUR_APP_KEY
PUSHER_APP_SECRET=YOUR_APP_SECRET
PUSHER_HOST=ws.hibira.io
PUSHER_PORT=443
PUSHER_SCHEME=https

pusher-js や Laravel Echo では、wsHost とポートを合わせて変更し、forceTLS: true のままにします。アプリごとの接続上限や許可するオリジンなど、Soketi のアプリマネージャーの設定は、新しいサービスのダッシュボードのアプリ設定に移します。

ダウンタイムなしで切り替える

  1. 新しいサービスでアプリを作成し、認証情報をコピーします。
  2. サーバーから、各イベントを Soketi と新しいサービスの両方に発行します。Pusher のサーバーライブラリは 2 つ作っても負担はわずかです。
  3. クライアントの変更をリリースします。新しく開いたページは新しいホストに接続し、古いタブや古いバージョンのアプリは Soketi に残ります。
  4. Soketi の接続数がゼロ、またはほぼゼロになったら、発行を止めて Soketi を停止します。

Webhook も同様で、手順 3 の前に新しいサービスにエンドポイントを登録します。Pusher からの移行も同じ手順で、移行ガイドにまとめています。

ホスティング型サービスで手に入るもの

サーバーを運用しなくて済むだけでなく、Soketi では自分で用意する道具がそろっています。接続数とメッセージ数を表示するダッシュボード、すべてのイベントをリアルタイムで表示するデバッグコンソール、Webhook、そしてプランの上限に対する使用量の表示です。

デバッグコンソール:接続、購読、発行されたすべてのイベントをリアルタイムに表示
デバッグコンソール:接続、購読、発行されたすべてのイベントをリアルタイムに表示

よくある質問

Soketi は今もメンテナンスされていますか?

最後のリリース 1.6.1 は 2024-03-25 で、その後のコミットは依存関係の更新です。README 自体にも、更新とサポートが頻繁ではないと書かれています。今も動きますが、乗り換えを計画しておくべきです。

Soketi にいちばん近い代替は何ですか?

セルフホストを続けるなら Laravel Reverb、サーバーを運用したくないなら Pusher 互換のホスティング型サービスです。どちらも Pusher プロトコルなので、コードはそのままです。

Soketi から離れるにはクライアントのコードを変える必要がありますか?

ほかの Pusher プロトコルのサーバーやサービスに移るなら不要です。変えるのは .env と、pusher-js や Echo のオプションにあるホスト、ポート、key、secret です。

製品名は各所有者の商標です。