ZimaOSユーザーが、qBittorrentとARRスタックをGluetun経由でProtonVPNに接続したいと考えていましたが、Gluetunがグレー表示され、通常のWeb UIもありませんでした。このスレッドでは、VPNサポートを統合したqBittorrentイメージを使う構成と、ネットワーク名前空間を管理する独立したGluetunコンテナを使う構成の2つが提示されていました。
Gluetunは主にVPNゲートウェイコンテナです。アプリタイルがグレー表示されているだけでは、失敗したとは限りません。また、そのコントロールサーバーは通常のアプリケーションダッシュボードとは異なります。
qBittorrentをGluetunのネットワーク名前空間内に配置する
独立コンテナ構成では、qBittorrentに次の設定を使用します。
network_mode: "service:gluetun"
qBittorrentはGluetunのネットワークスタックを共有するため、qBittorrentのWeb UIとtorrentポートはqBittorrentではなくGluetunサービスで公開します。
services:
gluetun:
ports:
- "9080:9080/tcp"
qbittorrent:
network_mode: "service:gluetun"
ポートは、使用するqBittorrentイメージのドキュメントに記載されたWeb UI設定に合わせて変更してください。スレッドに掲載された完全なComposeサンプルを確認せずにそのままコピーしないでください。スペルやネットワーク名に不整合があり、デプロイに失敗する可能性があります。
選択したプロトコル用のProtonVPN認証情報を生成する
通常のアカウントパスワードではなく、Proton VPNのWireGuard設定ガイドを使用してください。秘密鍵はシークレットまたは保護された環境変数として保存し、スクリーンショット、フォーラム投稿、公開Composeリポジトリに絶対に貼り付けないでください。
現在のGluetunのProtonVPNプロバイダードキュメントを、変数名の正式な情報源として参照してください。現在のリリースでは、Protonのポートフォワーディングが必要な場合にVPN_PORT_FORWARDING=onを使用します。
VPNのポートフォワーディングとDockerのポートマッピングは別物
Dockerのマッピングは、コンテナ内のローカルサービスをLANから利用できるようにします。一方、Protonの転送ポートは、着信ピア通信のためにVPNサーバー上で割り当てられます。GluetunのVPNポートフォワーディングガイドでは、これらの概念を明確に区別しています。
Proton WireGuardでは、設定を生成する際にNAT-PMPを有効にし、P2Pおよびポートフォワーディングに対応したサーバーを選択してください。Protonはランダムな転送ポートを割り当てるため、qBittorrentのリッスンポートがその値を追跡するよう、自動化が必要になる場合があります。
シークレットをメインのComposeファイルに保存しない
コミュニティの例では、WireGuardの秘密鍵とqBittorrentの認証情報用に、個別のenv/フォルダーとsecrets/フォルダーを作成していました。インラインで記述してコミットするより安全ですが、ファイルシステムの権限とバックアップにも注意が必要です。Docker Secretのファイルも、Dockerがマウントする前はホスト上のプレーンテキストです。
ダウンロードを開始する前にトンネルを確認する
- Gluetunを起動し、VPN接続が成功したことをログで確認します。
- ヘルスチェックが成功していることを確認します。
- Gluetunの名前空間内でqBittorrentを起動します。
- Gluetunで公開したホストポートを通じてWeb UIを開きます。
- 共有名前空間内からパブリックIPを確認します。
- Gluetunを停止し、キルスイッチの動作を信頼する前に、qBittorrentがインターネットアクセスを失うことを確認します。
VPN統合イメージは別のトレードオフ
スレッドでは、独立したGluetunサービスを不要にできる代替案として、HotioのqBittorrent Protonドキュメントが提案されていました。スタックを簡素化できますが、イメージ、環境変数、更新方法、サポート元が変わります。両方を組み合わせず、どちらか一方の構成を選んでください。
GluetunとqBittorrentに関するFAQ
Gluetunのタイルがアプリのように開かないのはなぜですか?
Gluetunはゲートウェイコンテナです。オプションのコントロールサーバーは、通常のqBittorrent形式のWeb UIではありません。
qBittorrentのWeb UIポートはどこで公開すべきですか?
qBittorrentがnetwork_mode: service:gluetunを使用する場合は、Gluetunで公開します。
スレッドのComposeファイル全体を変更せずに貼り付けるべきですか?
いいえ。誤字と思われる箇所があるため、現在のGluetun、qBittorrent、Protonのドキュメントに基づいて作り直す必要があります。
