PinkieItは、Laravelを使用したWebアプリケーションです。このREADMEでは、プロジェクトのセットアップと実行方法について説明します。
- Docker 20.10.13以上
- Docker Compose v2.17.2以上
Dockerがインストールされていない場合は、以下の手順でインストールしてください:
-
Dockerをインストールします:
curl -fsSL https://get.docker.com | sudo sh
※ 環境に応じて公式ドキュメントの最新手順を確認してください
-
現在のユーザーをdockerグループに追加します:
sudo usermod -aG docker $USER newgrp docker # グループ変更を即時反映
-
インストールを確認します:
docker --version docker compose version # Compose v2を確認
-
リポジトリをクローンします:
git clone git@github.com:w-pinkietech/pinkieit.git cd pinkieit
-
セットアップスクリプトを実行:
chmod +x setup.sh ./setup.sh # .envファイル生成と設定確認
※ DBパスワードは12文字以上の英数字記号を推奨
-
Dockerコンテナをビルド&起動:
- 初回またはDockerfile変更時
docker compose up -d --build
- 通常起動時(2回目以降)
docker compose up -d
-
依存関係インストールとデータベース移行:
docker compose exec web-app composer install docker compose exec web-app php artisan migrate
-
(オプション)テストデータ投入:
docker compose exec web-app php artisan db:seed
-
(オプション)管理者ユーザー作成:
docker compose exec web-app php artisan make:user admin \ admin@example.com 'StrongP@ssw0rd!'
※ パスワードはシングルクォートで囲んでください
- ローカルアクセス:http://localhost:18080
- リモートアクセス:http://<サーバーIP>:18080
※ ファイアウォール設定でポート18080と8080(Laravel Reverb WebSocket)を開放してください
本プロジェクトはVS Code DevcontainerとGitHub Codespaces対応しています。以下の機能が利用可能です:
-
VS Code Devcontainerでの開発:
- VS Codeで「Dev Containersで再度開く」を選択
- 必要な拡張機能が自動的にインストール
- Laravel開発用の設定が自動的に適用
-
GitHub Codespaces対応:
- GitHubウェブサイトから「Code」→「Codespaces」→「新しいcodespace」
- ブラウザ上でVS Code環境が利用可能
- 自動的に開発環境が構築
-
Docker開発サポート:
- コンテナ内でのDocker操作が可能
- VS Code Docker拡張機能によるコンテナ管理
- Docker Buildxとcompose v2対応
.env
ファイルの主な設定項目:
# Laravel Reverb WebSocket設定(外部サービス不要)
BROADCAST_DRIVER=reverb
REVERB_APP_ID=pinkieit
REVERB_APP_KEY=your_app_key
REVERB_APP_SECRET=your_app_secret
REVERB_HOST=localhost
REVERB_PORT=8080
アプリケーションログ監視:
docker compose logs -f web-app # 複数サービス指定可能
MQTTメッセージ監視:
docker compose exec mqtt mosquitto_sub -h mqtt -p 1883 -t 'production/#'
リアルタイムリソース監視:
docker compose stats # 全コンテナのCPU/Memory使用量表示
キャッシュ問題が疑われる場合:
docker compose exec web-app php artisan optimize:clear
docker compose exec web-app php artisan route:cache
docker compose exec web-app php artisan config:cache
コンテナ再構築(根本解決が必要な場合):
docker compose down -v --remove-orphans
docker compose up -d --build
このプロジェクトでは以下の自動化を実施しています:
- GitHub Actions: プルリクエストとmainブランチへのプッシュ時に自動テスト実行
- テストカバレッジ: PHPUnitとPCOVによるカバレッジ測定
- SonarQube Cloud: コード品質とセキュリティの継続的な分析
詳細は CI/CDワークフロードキュメント を参照してください。