Skip to content

[GraphQL] Laravel10 + Apollo ClientのDockerComposeテンプレート

License

Notifications You must be signed in to change notification settings

perilla0/laravel_v10_graphql_template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1. このプロジェクトについて

Laravel v10を自前のDocker Composeで使用するためのテンプレ用プロジェクトです。

※ このプロジェクトでは、あえて.gitignoreにて/srcディレクトリを捕捉しないよう設定しています。(必要に応じて指定を削除してください)

1.1. 環境ファイル(.env)編集

.envファイルの以下のオプションを設定します。

  • LARAVEL_BREEZE_FRONTEND_OPTION(Laravel Breezeのフロントエンドオプション。)
  • APOLLO_CLIENT_TEMPLATE_OPTION(Viteの言語オプション。)

1.2. プロジェクト作成&削除

srcフォルダを作成します。
srcフォルダには、以下の2つのコンテナで使用するソースファイルが含まれます。

  • backend(Laravel v10プロジェクトファイル一式)
  • frontend(Viteを中核としたフロントエンドファイル一式)
cd script/init/
./create_src.sh

srcフォルダを削除したい場合にのみ実行します。

cd script/init/
./remove_src.sh

1.3. CORS設定

/src/backend/config/cors.phpを編集する

https://lighthouse-php.com/master/getting-started/configuration.html#cors https://developer.mozilla.org/ja/docs/Web/HTTP/CORS

Apollo ClientからGraphQLエンドポイントを使用するために必要な設定です。

return [
-   'paths' => ['api/*', 'sanctum/csrf-cookie'],
+   'paths' => ['api/*', 'graphql', 'sanctum/csrf-cookie'],
    ...
];

1.4. コンテナ立ち上げ

コンテナビルド

cd script
./build.sh

コンテナ立ち上げ

docker compose up --build
docker compose up

テーブル作成(最初のみ)

docker compose upを実行して各コンテナが立ち上がっていることが前提。

docker compose exec -u $(id -u):$(id -g) backend php artisan migrate

usersテーブルにレコードを追加

docker compose exec backend php artisan tinker
\App\Models\User::factory(10)->create();

1.5. すべてのコンテナを削除

cd script
./down_clear.sh

2. URL

2.1. バックエンド

Laravel Breeze
http://localhost

Laravel GraphQL クライアント
http://localhost/graphiql

Laravel Horizon
http://localhost/horizon

2.2. フロントエンド

http://localhost:4000

3. Qiita記事のURL

Docker ComposeでGraphQL環境構築。[バック = Laravel v10] [フロント = Apollo Client] https://qiita.com/perilla/items/36b51751e25d3a30b9b5

About

[GraphQL] Laravel10 + Apollo ClientのDockerComposeテンプレート

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published