Independent testing Updated April 2026 387 self-hosting guides 5 VPS providers tested

guide

VPSでのTraefik:すべてのDockerアプリの自動SSL設定

VPS上でTraefikを設定し、Dockerアプリの自動SSL化を実現する方法を学びましょう。シームレスな体験のためのガイドです。

はじめに

セルフホスティング環境を構築・管理することは非常にやりがいのある作業です。特に、アプリケーションをホスティングするためにVirtual Private Server(VPS)を活用すると、その便利さが増します。Traefikは、マイクロサービス向けの最新のリバースプロキシ兼ロードバランサーであり、ルーティングのニーズをシンプルにします。本ガイドでは、VPS上でTraefikを設定し、すべてのDockerアプリに対して自動的にSSL証明書を管理させる方法を解説します。

VPSにTraefikをセットアップする

以下のステップに従って、VPSにTraefikを導入しましょう。

必要なもの

ステップ1:VPSプロバイダーを選択する

適切なVPSプロバイダーの選択は、セルフホスティングの体験に影響します。主要なプロバイダーの比較は次のとおりです。

プロバイダー月額コスト (EUR/USD)備考
Contabo VPS5.99 EUR優れたCPUとストレージオプション
Hetzner Cloud4.15 EUR予算に優しく、スペックも優秀
DigitalOcean6 USD開発者フレンドリーなリージョン
Vultr6 USD柔軟な請求オプション
Linode5 USD充実したサポートとコミュニティ

ステップ2:DockerとDocker Composeをインストールする

ほとんどのLinuxディストリビューションでは、次のコマンドでインストール可能です。

# パッケージインデックスを更新
sudo apt-get update

# Dockerをインストール
sudo apt-get install -y docker.io

# Docker Composeをインストール
sudo apt-get install -y docker-compose

ステップ3:Dockerネットワークの設定

Traefikとアプリケーション用のDockerネットワークを作成します。

docker network create web

ステップ4:Traefikの設定

Traefikをインストールするためのディレクトリを作成します。

mkdir traefik && cd traefik

次に、docker-compose.ymlファイルを以下の内容で作成します。

version: '3.7'

services:
  reverse_proxy:
    image: traefik:v2.5
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.myresolver.acme.tlschallenge=true"
      - "--certificatesresolvers.myresolver.acme.email=your-email@example.com"
      - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "./letsencrypt:/letsencrypt"
    networks:
      - web

networks:
  web:
    external: true

[email protected]を実際のメールアドレスに置き換えてください。Let’s Encryptの通知用です。

ステップ5:Traefikを起動する

以下のコマンドでTraefikを起動します。

docker-compose up -d

Traefikが正常に稼働しているか、http://YOUR_VPS_IP:8080にアクセスしてダッシュボードを確認してください。

ステップ6:Dockerアプリケーションをデプロイする

Traefikが稼働している状態で、ラベルを付けて他のDockerアプリをデプロイし、TraefikのルーティングとSSLを統合できます。以下はアプリケーションの例です。

version: '3.7'

services:
  my_app:
    image: my_app_image
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.my_app.rule=Host(`yourdomain.com`)"
      - "traefik.http.routers.my_app.entrypoints=websecure"
      - "traefik.http.routers.my_app.tls=true"
      - "traefik.http.routers.my_app.tls.certresolver=myresolver"
    networks:
      - web

ステップ7:アプリケーションへのアクセス

アプリケーションをデプロイしたら、https://yourdomain.com経由で安全にアクセスできます。

よくある質問

アプリにドメインやサブドメインがない場合はどうすればいいですか?

Traefikを使用するには、Let’s Encryptを通じてSSL証明書を発行するためにドメインまたはサブドメインの設定が必要です。ドメインを持っていない場合は、ドメインレジストラで取得しましょう。もう一つの方法は、ダイナミックDNSサービスを利用することです。多くのプロバイダーがサポートしており、静的ドメインなしでも信頼性のあるルーティングが可能です。

TraefikはどのようにSSL証明書を管理しますか?

Traefikは、無料の証明書を発行する自動証明書局のLet’s Encryptとシームレスに連携します。docker-compose.ymlに示した設定を行えば、証明書のリクエストと更新を自動で行います。これにより、Dockerアプリケーションへの接続は常に安全に保たれ、手動の管理は不要です。

Traefikは本番環境にも適していますか?

はい、Traefikは本番環境での使用に適した設計です。シームレスなSSL管理やマイクロサービスアーキテクチャへの対応、負荷分散、自動リダイレクト、見やすいダッシュボードなど、多くの特徴を持っています。多くの企業や開発者、ホームラボ利用者が、さまざまなセルフホスティング環境で成功裏に導入しています。

まとめ

Traefikを利用してVPS上のDockerアプリのSSLを自動化することにより、管理の手間を省き、セキュリティを強化し、時間を節約できます。HTTPSの重要性が増す中、この設定は、開発者やホームラボ運用者にとって非常に価値のある投資となります。快適なセルフホスティングライフをお楽しみください!