🔖 第1章:開発環境の全体像と前提知識

1.3 「appが基盤」という意味の本質とは


✅ 要点まとめ


🧩 詳細な解説

■ 「app」が果たしている役割

あなたの環境では、次のような関係になっています:

[GitLab]
 ├── app(構成と連携を担う)
 ├── auth(Rails:認証)
 ├── userData(Rails:ユーザデータ管理)
 └── reverse-proxy(nginx:ルーティング)

appリポジトリは、これらの個別機能を1つのアプリケーション群としてまとめるための「基盤」になっています。

■ なぜ「app」が必要なのか?

理由は明確です:

項目 説明
docker-compose.yml 各機能を1つのネットワーク上で起動し連携させる定義ファイル
.envファイル 各サービスが共通で使う環境変数の一元管理
volumeのマウント先 authなどのソースコードがappから参照される設計
開発と本番の切り替え docker-compose.override.yml による柔軟な切替

つまり、機能を連携させる"舞台"がappディレクトリであり、appなくして開発・起動が成り立たない設計です。

■ 例:authサービスを単独で起動できない理由

authのリポジトリ単体には、以下が欠けています