Files
keinasystem/document/20_ローカルテスト環境.md
Akira a42ccb5cda Add local production test environment setup
- docker-compose.local.yml: 本番Dockerfile使用・Traefikなし・ポート直接公開
- deploy_local.sh: ローカル環境のビルド・起動スクリプト
- sync_db.sh: サーバーDBダンプをローカルに取り込むスクリプト
- document/20_ローカルテスト環境.md: 手順ドキュメント

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 17:32:23 +09:00

2.1 KiB
Raw Blame History

ローカルテスト環境Ubuntu PC

本番同等の環境をローカルで起動し、サーバーのデータで動作確認するための手順。


構成

ファイル 用途
docker-compose.local.yml 本番用Dockerfileを使用、Traefikなし、ポート直接公開
deploy_local.sh ローカル環境のビルド・起動
sync_db.sh サーバーのDBダンプをローカルに取り込む
.env 本番と同じ環境変数git管理外

アクセス先:


初回セットアップ

1. .env を作成

cp .env.production.example .env
# .env に本番と同じ値を設定する

2. ローカル環境を起動

bash deploy_local.sh

ビルド初回は10〜15分→ 起動 → マイグレーションが自動実行される。

3. サーバーのDBを同期

サーバー側で実行keinasystemユーザーで:

docker exec keinasystem_db pg_dump -U keinasystem keinasystem > /tmp/keinasystem_dump.sql

ローカル側で実行:

bash sync_db.sh

2回目以降の起動

# 停止中の場合は起動
docker compose -f docker-compose.local.yml up -d

# 停止
docker compose -f docker-compose.local.yml down

コードを変更した場合は再ビルドが必要:

bash deploy_local.sh

DBの再同期

サーバーのデータをローカルに反映したい時。

サーバー側keinasystemユーザーで:

docker exec keinasystem_db pg_dump -U keinasystem keinasystem > /tmp/keinasystem_dump.sql

ローカル側:

bash sync_db.sh

注意: ローカルのDBデータは上書きされる。ローカルで加えた変更は失われる。


注意事項

  • .env は gitignore 対象(コミットしない)
  • ローカルDBは postgres_data_local ボリュームに保存(本番の postgres_data とは別)
  • sync_db.sh は SSH設定 keinafarm~/.ssh/config)を使用