ウェブサイト検索

インターネット速度を監視するためのSpeedtest Trackerのインストール方法


Speedtest TrackerをDockerでインストールし、リアルタイムの結果でインターネット速度を監視する方法を学びましょう。

私たちは皆、安定して高速なインターネット接続がストリーミングからリモートワークまでのすべてに不可欠であることを知っています。しかし、インターネットの速度は変動することがあり、(時には)サービスプロバイダーが約束するパフォーマンスを常に提供するわけではありません。

そこにSpeedtest Trackerが登場します。これは、時間経過に伴うインターネット速度の監視、テスト結果の記録、接続品質の傾向の特定を可能にする強力な自己ホスト型ツール(PHPで記述されています)です。

アプリケーションの動作方式は非常にシンプルです。時間間隔を設定すると、Speedtest Trackerは最寄りのOokla Speedtestサーバーを使用してリアルタイムでインターネット速度を測定します。ダウンロード速度、アップロード速度、ping、ジッタなどを取得し、結果を記録して、洗練された読みやすいダッシュボードに表示します。

Speedtest トラッカーダッシュボード

このガイドでは、Dockerを使用してSpeedtest Trackerをインストールする手順を段階的に説明します。複雑な設定なしで簡単に展開して管理できるようにします。それでは始めましょう。

前提条件

インストールを進める前に、システムにDockerがインストールされていることを確認してください。もしインストールされていなければ、以下のガイドを参考にして迅速にインストールしてください。

使用しているディストリビューションを選択してください:Ubuntu 24.04、Debian 12、Arch、Alma/Rocky、Fedora、Linux Mint 22、Pop!_OS 22.04、またはRaspberry Pi OS、そしてDockerをインストールする手順に従ってください。

もう一つの重要なコンポーネントはDocker Composeです。最近のDockerバージョンでは、“docker-compose-plugin”パッケージをインストールすることでDocker Composeが含まれています。まだセットアップに含まれていない場合は、インストールしてください。

もう一つの選択肢として、下の二つのコマンドを使用して別々に取得することもできます。その場合、ツールを実行する際には、docker composeの代わりにdocker-composeと入力することを忘れないでください。

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

明確にするために言うと、Docker Composeは既にDockerがインストールされていて、実行中である場合にのみ機能します。

DockerでSpeedtest Trackerをインストールする方法

必要なものがすべて揃っているので、最初のステップは、Docker Compose デプロイメントファイルを配置するプロジェクトディレクトリを作成することです。それからそのディレクトリに移動します。以降は、このガイドの下部にあるすべてのコマンドをその位置から実行する必要があります。

mkdir speedtest
cd speedtest

次に、私たちのDockerセットアップの青写真のような「docker-compose.yml」ファイルを作成します。このファイルはサービス、ボリューム、ポートなどを定義し、Docker Composeに何をするべきか、Speedtest Trackerコンテナをどのようにセットアップするかを指示します。

nano docker-compose.yml
services:
  speedtest-tracker:
    image: lscr.io/linuxserver/speedtest-tracker:latest
    restart: unless-stopped
    container_name: speedtest
    ports:
      - 8080:80
    environment:
      - PUID=1000
      - PGID=1000
      - APP_KEY=<YOUR-APP-KEY-HERE>
      - SPEEDTEST_SCHEDULE="0 * * * *"
      - DISPLAY_TIMEZONE=America/New_York
    volumes:
      - ./speedtest:/config

ご覧のとおり、Dockerのデプロイメントは非常にシンプルです。「environment」セクションの最後の3行が重要なポイントなので、詳しく説明しますね。

“APP_KEY”については、“<YOUR-APP-KEY-HERE>”をbase64エンコードされた文字列に置き換える必要があります。Speedtest Trackerは、このキーを使用してユーザーセッションやその他の機密情報などのデータを暗号化および復号化します。自分で生成するには、以下のコマンドを実行し、出力を“APP_KEY”の値としてコピーしてください。

echo -n 'base64:'; openssl rand -base64 32;

base64エンコードされた文字列を生成しています。

最終版の行はこのようになります:

- APP_KEY=base64:iZEBvPkqmwN3j7oiEsEjxk+fzeRI2VSfNJbpXDhG1sk=

次の設定、そしておそらく最も重要なのは「SPEEDTEST_SCHEDULE」です。これはアプリが自動的にインターネット接続の速度をテストする頻度を制御します。CRONデーモンと同じスケジューリング構文を使用します。

上記のデプロイメントでは、毎時実行されるように設定しました(「0 * * * *」)。しかしもちろん、必要に応じて調整できます。たとえば、毎半時(「*/30 * * * *」)や、6時間ごとに(「0 */6 * * *」)などです。すべてはあなたの好みによります。

正確な構文に自信がない場合でも心配いりません—私たちがサポートします。「LinuxでのCronの使い方」という詳細なガイドをチェックしてみてください。すぐに習得できる手助けをしてくれるでしょう。

最後のオプション「DISPLAY_TIMEZONE」には、実際のタイムゾーンを設定してください。これにより、タイムスタンプがあなたの現地時間で表示されます。正しいスペルに疑問がある場合は、こちらのリンクをチェックして利用可能なタイムゾーンの完全なリストを確認してください。

考慮すべきもう一つの便利なオプションは、私が使用していないものの、記録されたインターネット速度の統計が古いものから削除されるまでの保存期間を設定できる機能です。つまり、最後の30日間だけデータを保持したい場合、Docker Composeデプロイメントの「environment」セクションに次の内容を追加することができます:

- PRUNE_RESULTS_OLDER_THAN=30

Speedtest Trackerの利用可能なオプションの完全なリストについては、こちらをご覧ください。

最後に、ちょっとした確認ですが、アプリケーションはホストのポート8080で動作しています。このポートは多くのコンテナ化されたアプリケーションで一般的に使用されるため、すでに他のものが使用している場合、エラーが発生する可能性があります。その場合は、Composeファイルのポートマッピングを更新し、空いているポートに変更すれば大丈夫です。例えば、8181などに変更すれば問題ありません。

ports:
  - 8181:80

さて、すべてが整ったので、Docker Composeのデプロイをバックグラウンド(デタッチモード)で実行しましょう:

docker compose up -d

Docker Composeを使用してSpeedtest Trackerをデプロイする。

今のところ順調です。では、一番ワクワクする部分に移りましょう。ブラウザを開いて、「http://localhost:8080」に移動してください(同じホストからSpeedtest Trackerにアクセスする場合)または「http://<server-ip-address>:8080」に移動してください(リモートでアクセスする場合)。もちろん、「<server-ip-address>」の部分は実際のサーバーのIPアドレスに置き換えてください。

念のために言っておくと、もし何かがうまくいかない理由があった場合、この簡単なDockerコマンドを使ってコンテナのログを確認することで、何が起こったのか簡単に把握できます。

docker logs speedtest

FreshRSSに初めてアクセスする際は、アプリのデフォルトのユーザー名とパスワード(下記参照)を入力し、「サインイン」ボタンを押してください:

  • ユーザー名: [email 
  • パスワード: password

デフォルトのユーザー名とパスワードでSpeedtest Trackerに初回ログインします。

最初のステップとして、デフォルトのユーザー名とパスワードを変更することをお勧めします。そのためには、Speedtest Trackerの右上隅にあるアバターをクリックし、表示されるメニューから「プロフィール」を選択してください。

デフォルトのユーザー名とパスワードを変更してください。

新しいパスワードを入力してください(パスワードは8文字以上でなければなりません)そして「変更を保存」ボタンをクリックして確認してください。

デフォルトのユーザー名とパスワードを変更してください。

以上です。設定したインターバルが経過するのを待つと、最初の測定結果がダッシュボードに表示されます。待ちたくない場合は、すぐにテストを開始できます—右上の「Speedtest」ボタンをクリックし、「サーバーを選択」ドロップダウンメニューからサーバーを選んで「開始」を押してください。

Speedtest Trackerでインターネット速度テストを手動で開始します。

結論

これからは、インターネットの速度を監視し、ISPが提供しているものを把握するための信頼できるツールがあります。しかしもちろん、Speedtest Trackerだけが唯一の選択肢ではありません。

MySpeedは別の素晴らしい代替手段であり、それを選びたい場合は、私たちのガイドがすぐに設定の手順をお教えします。

Speedtest Trackerに関する詳細情報については、公式ドキュメントを確認するか、プロジェクトのGitHubページを訪れることを強くお勧めします。

最後に、サービスがインターネットを通じてアクセスされると考える場合は、安全なHTTPS接続を介して利用できることを確認してください。これは、Speedtest TrackerアプリをNginx、Nginx Proxy Manager、Caddy、Traefik、HAProxyなどのリバースプロキシの背後に置くことで実現できます。お好みの他のオプションを使用しても構いません。

このガイドが役に立ったことを願っています。質問やフィードバックがある場合は、下にコメントしてください。

関連記事: