Update README.md

This commit is contained in:
2026-07-04 19:43:17 +09:00
parent e10a1cf717
commit 20375636b4
+43
View File
@@ -103,3 +103,46 @@ mix precommit
``` ```
> テストは `DATABASE_URL` の接続先サーバー上に、専用の `..._test` データベースを自動的に作成して実行します。 > テストは `DATABASE_URL` の接続先サーバー上に、専用の `..._test` データベースを自動的に作成して実行します。
## Docker でのデプロイ
Docker を使って本番用リリースをビルド・起動できます。データベース接続 URL は、コンテナの **起動時** に環境変数 `DATABASE_URL` から読み込まれます(イメージには埋め込まれません)。
### 1. イメージのビルド
```bash
docker build -t rsh26pool:latest .
```
### 2. マイグレーションの実行
```bash
docker run --rm \
-e DATABASE_URL="ecto://ユーザー名:パスワード@DBホスト:5432/rsh26pool_prod" \
-e SECRET_KEY_BASE="$(mix phx.gen.secret)" \
rsh26pool:latest /app/bin/migrate
```
### 3. サーバーの起動
```bash
docker run -p 4000:4000 \
-e DATABASE_URL="ecto://ユーザー名:パスワード@DBホスト:5432/rsh26pool_prod" \
-e SECRET_KEY_BASE="生成したシークレット" \
-e PHX_HOST="example.com" \
rsh26pool:latest
```
起動後、ブラウザで [`http://localhost:4000`](http://localhost:4000) にアクセスしてください。
### 環境変数
| 変数 | 必須 | 説明 |
| --- | --- | --- |
| `DATABASE_URL` | 必須 | データベース接続 URL(例:`ecto://ユーザー名:パスワード@DBホスト:5432/rsh26pool_prod`)。 |
| `SECRET_KEY_BASE` | 必須 | Cookie の署名・暗号化に使用。`mix phx.gen.secret` で生成できます。 |
| `PHX_HOST` | 推奨 | 公開ホスト名。未設定時は `example.com`。 |
| `PORT` | 任意 | 待ち受けポート。既定は `4000`。 |
| `POOL_SIZE` | 任意 | DB コネクションプールのサイズ。既定は `10`。 |
> 本番設定(`config/prod.exs`)では `force_ssl`HSTS)が有効です。`localhost` 以外のホストでは `https` にリダイレクトされるため、TLS を終端して `x-forwarded-proto` ヘッダーを付与するリバースプロキシの背後で運用してください。