最小セットアップのCaddy
Caddyは、Remnawave パネルを保護するために使用できる強力で柔軟なWebサーバーです。
インストール
まず、Caddy用のディレクトリを作成します。
mkdir -p /opt/remnawave/caddy && cd /opt/remnawave/caddy
そして docker-compose.yml ファイルを作成します。
touch docker-compose.yml && nano docker-compose.yml
以下の内容をファイルに追加します:
services:
remnawave-caddy:
image: remnawave/caddy-with-auth:latest
container_name: 'remnawave-caddy'
hostname: remnawave-caddy
restart: always
environment:
- AUTH_TOKEN_LIFETIME=3600
- REMNAWAVE_PANEL_DOMAIN=PANEL_DOMAIN
- AUTHP_ADMIN_USER=LOGIN_USERNAME
- AUTHP_ADMIN_EMAIL=LOGIN_EMAIL
- AUTHP_ADMIN_SECRET=LOGIN_PASSWORD
ports:
- '0.0.0.0:443:443'
networks:
- remnawave-network
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- remnawave-caddy-ssl-data:/data
networks:
remnawave-network:
name: remnawave-network
driver: bridge
external: true
volumes:
remnawave-caddy-ssl-data:
driver: local
external: false
name: remnawave-caddy-ssl-data
.env変数の設定
RemnaWaveパネルのドメイン名を設定する必要があります。Caddyがこのドメインの証明書を自動的に発行します。
REMNAWAVE_PANEL_DOMAIN=panel.domain.com
管理者認証情報。 強力なパスワードを使用してください。
AUTHP_ADMIN_USER=admin
AUTHP_ADMIN_EMAIL=[email protected]
AUTHP_ADMIN_SECRET=strong_password
トークンの有効期間。
AUTH_TOKEN_LIFETIME=3600
Caddyfile
Caddyfile について詳しく見ていきましょう。
まず、事前定義されたセットアップの1つを選択する必要があります。
MFAを使用した完全なセキュリティセットアップ
- すべてのルートが認証によって保護されています。(フロントエンド、バックエンド)
- /api/sub/*エンドポイントを含む、すべてのAPIエンドポイントが保護されています。
- ログインにはOTPコードによるMFAが必要です。
- /api/*エンドポイント用の特別なAPIキーを発行できます。
- 完全なドメイン保護。
以下のコマンドを実行してCaddyfileをダウンロードします。
curl -o Caddyfile https://raw.githubusercontent.com/remnawave/caddy-with-auth/refs/heads/main/examples/minimal-security-setup-with-mfa/Caddyfile
認証なしのAPIルート (api/*)
- ルートは認証によって保護されています。(フロントエンド)
- ログインにはOTPコードによるMFAが必要です。(フロントエンド)
- すべてのAPIエンドポイントが保護されていません! (/api/*は公開)
このセットアップは /api/* エンドポイントをパブリックインターネットに公開します。
すべてのエンドポイントは認証を必要としませんが、Remnawave のセキュリティ機能を引き続き使用します。
APIキーを発行する本番環境では、MFAを使用した完全なセキュリティセットアップを使用することをお勧めします。
以下のコマンドを実行してCaddyfileをダウンロードします。
curl -o Caddyfile https://raw.githubusercontent.com/remnawave/caddy-with-auth/refs/heads/main/examples/minimal-security-setup-with-mfa-with-api-without-auth/Caddyfile
認証なしの /api/sub/* エンドポイント
- ルートは認証によって保護されています。(フロントエンド)
- ログインにはOTPコードによるMFAが必要です。(フロントエンド)
-
/api/sub/*エンドポイントのみ公開、他のエンドポイントは保護されています。
このセットアップは /api/sub/* エンドポイントをパブリックインターネットに公開します。
APIキーを発行し、公開サブスクリプションページに @remnawave/subscription-page を使用する本番環境では、MFAを使用した完全なセキュリティセットアップを使用することをお勧めします。
以下のコマンドを実行してCaddyfileをダウンロードします。
curl -o Caddyfile https://raw.githubusercontent.com/remnawave/caddy-with-auth/refs/heads/main/examples/minimal-security-setup-with-mfa-with-api-without-auth/Caddyfile
コンテナの起動
上記のセットアップのいずれかを選択した後、次のコマンドでコンテナを起動できます。
docker compose up -d && docker compose logs -f
パネルへのアクセス
コンテナが起動したら、https://panel.domain.com でパネルにアクセスできます。
その後、Caddy Auth のログインページにリダイレクトされます。
最初の起動時に、MFA方法を作成するよう促されます。
そのために Google Authenticator の使用をお勧めします。
MFAを無効にする
MFAを完全に無効にしたい場合は、Caddyfile を編集することで行えます。
Caddyfile を開き、次の行を変更します:
cd /opt/remnawave/caddy && nano Caddyfile
次の行を見つけて、require mfa 行を削除します。
transform user {
match origin local
action add role authp/admin
require mfa
}
その後、次のコマンドでコンテナを再起動できます。
docker compose down && docker compose up -d && docker compose logs -f
認証ポータルページへのアクセス
認証ポータルページには https://<your-domain>/r でアクセスできます。

ここから素早くRemnawave ダッシュボードに移動したり、認証ポータルの設定を管理したりできます。
MFAセクションでは、MFAデバイスを削除または追加できます。
APIキーの発行
認証ポータルページには https://<your-domain>/r でアクセスできます。
認証ポータルページでAPIキーを発行できます。API-keys タブをクリックします。
APIキーを発行したら、APIへのリクエストの X-Api-Key ヘッダーで使用できます。
例:X-Api-Key: YxOovHLnpkcmSig5082egcHnyTk8SK4dNGAFHgZ2LKZezgj5oUj2FA2IR2sMwbALnP9YNpzZ
