ユーザーマニュアル (USER_DOC)
1. サービス概要
このDocker Infrastructureスタックは、安全でコンテナ化されたWebインフラストラクチャを提供します。
- NGINX: エントリーポイント(ゲートウェイ)。
https://local.dev経由でアクセスします。 - WordPress: PHP 8.2 で動作するブログプラットフォーム。
- MariaDB: WordPressのコンテンツを保存するデータベース。
- Redis: WordPressを高速化するキャッシュサービス。
- FTP Server: WordPressファイル(テーマ、プラグイン、アップロード)へのアクセス。
- Adminer: MariaDBデータベースを管理するためのWebインターフェース。
- Static Website: プロジェクトドキュメントを紹介するボーナスサイト。
2. プロジェクトの開始と停止
すべてのコマンドは、リポジトリのルートから make を使用して実行する必要があります。
開始:
bashmakeイメージをビルドし、バックグラウンドでコンテナを起動します。
停止:
bashmake downコンテナとネットワークを停止して削除します。
再起動:
bashmake re
3. サービスへのアクセス
ドメインを解決するために、/etc/hosts ファイルに以下の行を追加してください:
127.0.0.1 local.dev- メインWebサイト: https://local.dev
- WordPress管理画面: https://local.dev/wp-admin
- Adminer (DB管理): https://local.dev/adminer
- 静的Webサイト: https://local.dev/website
注:自己署名証明書を使用しているため、セキュリティ警告が表示されます。このローカル環境では安全に受け入れることができます。
4. 構成と認証情報 (Configuration & Credentials)
セキュリティ向上のため、プロジェクトでは機密でない構成情報と機密性の高い認証情報を分離しています。
構成 (.env)
機密でない環境変数(ドメイン名、データベースホストなど)は、srcs/ にある .env ファイルで定義されています。
シークレット (secrets/)
機密情報(パスワード、APIキー)は .env には保存されません。代わりに、Docker Secrets を介して管理されます。 各シークレットは、secrets/ ディレクトリ内の単一ファイルとして保存されます。
- 生成: 管理者はツールやスクリプト(例:
secrets/gen_secret_txt.sh)を使用してこれらのファイルを生成する必要があります。 - 使用法: サービスは実行時にこれらのファイルを
/run/secrets/<secret_name>にマウントします。
詳細なセキュリティ実装については、以下を参照してください: データセキュリティガイド
5. サービスステータスの確認
すべてが正しく実行されていることを確認するには:
docker psすべてのコンテナ(nginx, wordpress, mariadb, redis, ftp, website, adminer)が Up ステータスである必要があります。 WordPress/MariaDB/Redisについては、ヘルスチェックに合格したことを示す (healthy) ステータスを確認してください。
起動時の注意: WordPressは、安定した接続を確保するため、MariaDBとRedisのヘルスチェックが完了(healthy状態)するのを待ってから起動します。