Docker Compose & Nginx リバースプロキシ設定ジェネレータ

Docker Compose & Nginx Reverse Proxy Config Generator
Copied!
Port
Output
Generated config

Docker Compose & Nginx リバースプロキシ設定ジェネレータ — 本番環境対応スターターテンプレート

Docker Compose & Nginx リバースプロキシ設定ジェネレータは、Node.jsアプリケーション向けに、本番環境に適した構成のスニペットを生成します:最小限のDockerfile、Nginxリバースプロキシ設定、またはNodeとNginxを連携させるdocker-compose.ymlです。ポート番号、サーバー名(Nginx用)、およびオプションの環境変数を指定するだけで、コピー&ペースト可能な設定が出力され、プロジェクトの出発点として利用できます。

このツールを使う理由

  • セットアップが高速: ドキュメントを検索したり古いGistをコピーしたりする手間を省き、Docker、Nginx、Composeの設定を一箇所で生成できます。
  • 本番環境向けのデフォルト設定: Node 20 Alpine、キャッシュを考慮したDockerビルド、非rootユーザー、実際のクライアントIPを保持するプロキシヘッダーを採用しています。
  • Dockerを意識したNginx設定: proxy_pass は常に 127.0.0.1 を指すのではなく、設定可能なアップストリームサービス名をターゲットとするため、マルチコンテナデプロイメントにより安全です。
  • カスタマイズが容易: 生成結果をリポジトリに貼り付け、必要に応じてパス、コマンド、環境変数を調整できます。

主な機能

  • ポート入力: アプリケーションのポートを選択します(デフォルトは 3000)。
  • 出力タイプ選択:
    • Dockerfile (Node): FROM node:20-alpine, WORKDIR /app, COPY package*.json, RUN npm install, COPY . ., ENV NODE_ENV=production, EXPOSE, USER node およびアプリを実行する CMD を含みます。
    • Nginx プロキシ設定: ポート80で待ち受け、トラフィックを http://<upstream>:<port> にプロキシする server ブロックを生成します。WebSocketヘッダーと実IP転送も含まれます。
    • docker-compose.yml (Node + Nginx): Dockerfileからビルドされる app サービスと、生成された設定ファイルを使用する nginx サービスを定義します。
  • サーバー名: Nginxが使用する server_name を設定します(例: example.com)。
  • アップストリームホスト/サービス: proxy_pass 用のアップストリームホスト名またはDockerサービス名を設定します(デフォルトは app)。
  • コピーボタン: 生成されたスニペットをワンクリックでクリップボードにコピーします。

仕組み

このツールは、選択した出力タイプ(Docker、Nginx、またはCompose)とポート番号、サーバー名、アップストリームホストを読み取ります。その後、ブラウザ内でテンプレートを行ごとに組み立て、最終的な文字列を出力テキストエリアに書き込みます。バックエンド、ファイルI/O、外部サービスは一切使用しません。コピー をクリックすると、テキストがクリップボードに書き込まれ、プロジェクトに直接貼り付けることができます。

使用例ワークフロー

  • Nodeアプリ用のDockerfileを生成する:
    1. ポート をアプリが待ち受ける内部ポートに設定します(例: 3000)。
    2. Dockerfile (Node) を選択します。
    3. コピー をクリックし、内容をプロジェクトのルートディレクトリに Dockerfile として保存します。
  • Docker化されたアプリ用のNginxリバースプロキシを作成する:
    1. ポート をアプリコンテナのポートに設定します。
    2. サーバー名 をドメイン名に設定します(例: myapp.com)。
    3. アップストリームホスト/サービス をアプリコンテナまたはサービス名に設定します(例: app)。
    4. Nginx プロキシ設定 を選択し、出力をコピーして、サーバー上またはイメージ内に nginx.conf として保存します。
  • docker-composeでNodeとNginxを連携させる:
    1. Dockerfile (Node) の出力を Dockerfile として使用します。
    2. Nginx プロキシ設定 を生成し、nginx.conf として保存します。
    3. docker-compose.yml (Node + Nginx) を選択し、出力を docker-compose.yml にコピーします。
    4. docker compose up -d を実行して両方のサービスを起動します。

Docker Compose & Nginx リバースプロキシ設定ジェネレータを試す

ツールを開き、ポートと出力タイプを選択して、生成されたスニペットをプロジェクトにコピーしてください。そこから、堅牢で本番環境向けのベースラインを維持しながら、コマンド、環境変数、高度なNginxオプションを調整することができます。