Update README.md
This commit is contained in:
@@ -103,3 +103,46 @@ mix precommit
|
||||
```
|
||||
|
||||
> テストは `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` ヘッダーを付与するリバースプロキシの背後で運用してください。
|
||||
|
||||
Reference in New Issue
Block a user