Docker Compose & Nginx リバースプロキシ設定ジェネレータ
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サービスを定義します。
- Dockerfile (Node):
- サーバー名: Nginxが使用する
server_nameを設定します(例:example.com)。 - アップストリームホスト/サービス:
proxy_pass用のアップストリームホスト名またはDockerサービス名を設定します(デフォルトはapp)。 - コピーボタン: 生成されたスニペットをワンクリックでクリップボードにコピーします。
仕組み
このツールは、選択した出力タイプ(Docker、Nginx、またはCompose)とポート番号、サーバー名、アップストリームホストを読み取ります。その後、ブラウザ内でテンプレートを行ごとに組み立て、最終的な文字列を出力テキストエリアに書き込みます。バックエンド、ファイルI/O、外部サービスは一切使用しません。コピー をクリックすると、テキストがクリップボードに書き込まれ、プロジェクトに直接貼り付けることができます。
使用例ワークフロー
- Nodeアプリ用のDockerfileを生成する:
- ポート をアプリが待ち受ける内部ポートに設定します(例:
3000)。 - Dockerfile (Node) を選択します。
- コピー をクリックし、内容をプロジェクトのルートディレクトリに
Dockerfileとして保存します。
- ポート をアプリが待ち受ける内部ポートに設定します(例:
- Docker化されたアプリ用のNginxリバースプロキシを作成する:
- ポート をアプリコンテナのポートに設定します。
- サーバー名 をドメイン名に設定します(例:
myapp.com)。 - アップストリームホスト/サービス をアプリコンテナまたはサービス名に設定します(例:
app)。 - Nginx プロキシ設定 を選択し、出力をコピーして、サーバー上またはイメージ内に
nginx.confとして保存します。
- docker-composeでNodeとNginxを連携させる:
- Dockerfile (Node) の出力を
Dockerfileとして使用します。 - Nginx プロキシ設定 を生成し、
nginx.confとして保存します。 - docker-compose.yml (Node + Nginx) を選択し、出力を
docker-compose.ymlにコピーします。 docker compose up -dを実行して両方のサービスを起動します。
- Dockerfile (Node) の出力を
Docker Compose & Nginx リバースプロキシ設定ジェネレータを試す
ツールを開き、ポートと出力タイプを選択して、生成されたスニペットをプロジェクトにコピーしてください。そこから、堅牢で本番環境向けのベースラインを維持しながら、コマンド、環境変数、高度なNginxオプションを調整することができます。