質問するログイン新規登録

質問編集履歴

1

投稿予定のアカウントを間違えたため削除しました。

2024/08/25 10:30

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- Docker環境で構築したLaravelBreezeとNext.jsでログイン機能が使えない
1
+ アカウント変更のため当記事内容は削除まし
body CHANGED
@@ -1,286 +1,1 @@
1
- ### 実現したいこと
2
- Laravel Breezeをバックエンド、Next.jsをフロントエンドとしてAPI連携の勉強のため、普段使用させていただいている[Docker環境](https://github.com/ucan-lab/docker-laravel)のリポジトリをUse this templateで自分のリポジトリにコピーしAPI連携用に改造しています。
3
- 既存のリポジトリにinfra/dorker/next/Dockerfileを作成し中でnode.js環境を入れました。
4
-
5
- Laravelのwelcome画面右上に表示されているLoginリンクからログインができるようにしたいです。
6
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-08-25/8b69801d-46ab-4cba-9f34-ded76f8637a1.png)
7
-
8
- `docker compose up -d`で起動させログイン画面の表示まではできましたが、ログイン情報を入力しログインボタンを押下するとエラーが発生しており進められない状況です。
9
-
10
- ### 発生している問題・分からないこと
11
- Loginボタンをクリックすると、左下にerrorが表示される
12
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-08-25/a47386b0-5d5b-41b9-88e9-f90b9606ed33.png)
13
-
14
- errorをクリックしたら表示される画面
15
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-08-25/fcdb1090-1502-4c9d-a11b-4c56191dc70b.png)
16
-
17
- ### エラーメッセージ
18
- ```error
19
- Unhandled Runtime Error
20
- Error: Network Error
21
-
22
- Call Stack
23
- createError
24
- node_modules/axios/lib/core/createError.js (16:1)
25
- XMLHttpRequest.handleError
26
- node_modules/axios/lib/adapters/xhr.js (99:1)
27
- ```
28
-
29
- ### 該当のソースコード
30
-
31
- ```infra/docker/nuxt/Dockerfile
32
- FROM node:20.17-alpine
33
-
34
- ENV TZ =UTC
35
-
36
- WORKDIR /workspace
37
-
38
- COPY ./client /workspace
39
-
40
- RUN npm install
41
-
42
- CMD ["npm", "run", "dev"]
43
- ```
44
-
45
- ```infra/docker/php/Dockerfile
46
- FROM php:8.3-fpm-bullseye AS base
47
-
48
- WORKDIR /workspace
49
-
50
- # timezone environment
51
- ENV TZ=UTC \
52
- # locale
53
- LANG=en_US.UTF-8 \
54
- LANGUAGE=en_US:en \
55
- LC_ALL=en_US.UTF-8 \
56
- # composer environment
57
- COMPOSER_HOME=/composer
58
-
59
- ARG UID=1000
60
- ARG GID=1000
61
-
62
- COPY --from=composer:2.7 /usr/bin/composer /usr/bin/composer
63
-
64
- RUN <<EOF
65
- apt-get update
66
- apt-get -y install --no-install-recommends \
67
- locales=2.31-13+deb11u10 \
68
- git=1:2.30.2-1+deb11u2 \
69
- unzip=6.0-26+deb11u1 \
70
- libzip-dev=1.7.3-1 \
71
- libicu-dev=67.1-7 \
72
- libonig-dev=6.9.6-1.1 \
73
- default-mysql-client=1.0.7
74
- locale-gen en_US.UTF-8
75
- localedef -f UTF-8 -i en_US en_US.UTF-8
76
- docker-php-ext-install \
77
- intl \
78
- pdo_mysql \
79
- zip \
80
- bcmath
81
- # permission denied bind mount in Linux environment
82
- groupadd --gid $GID phper
83
- useradd --uid $UID --gid $GID phper
84
- mkdir /composer
85
- mkdir -p /home/phper/.config/psysh
86
- chown phper:phper /composer
87
- chown phper:phper /workspace
88
- chown phper:phper /home/phper/.config/psysh
89
- apt-get clean
90
- rm -rf /var/lib/apt/lists/*
91
- EOF
92
-
93
- FROM base AS development
94
-
95
- COPY ./infra/docker/php/php.development.ini /usr/local/etc/php/php.ini
96
-
97
- USER phper
98
-
99
- FROM base AS development-xdebug
100
-
101
- RUN <<EOF
102
- pecl install xdebug
103
- docker-php-ext-enable xdebug
104
- EOF
105
-
106
- COPY ./infra/docker/php/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
107
-
108
- USER phper
109
-
110
- FROM base AS deploy
111
-
112
- COPY ./infra/docker/php/php.deploy.ini /usr/local/etc/php/php.ini
113
- COPY --chown=phper:phper ./server /workspace
114
-
115
- USER phper
116
-
117
- RUN <<EOF
118
- composer install --quiet --no-interaction --no-ansi --no-dev --no-scripts --no-progress --prefer-dist
119
- composer dump-autoload --optimize
120
- chmod -R 777 storage bootstrap/cache
121
- php artisan optimize:clear
122
- php artisan optimize
123
- EOF
124
-
125
- ```
126
-
127
- ```compose.yaml
128
- volumes:
129
- db-store:
130
-
131
- services:
132
- app:
133
- build:
134
- context: .
135
- dockerfile: ./infra/docker/php/Dockerfile
136
- args:
137
- UID: ${UID:-1000}
138
- GID: ${GID:-1000}
139
- target: ${APP_BUILD_TARGET:-development}
140
- volumes:
141
- - type: bind
142
- source: ./server
143
- target: /workspace
144
- environment:
145
- # Please remove this environment variable, after created the Laravel project. Please write in .env
146
- - DB_CONNECTION=${DB_CONNECTION:-mysql}
147
- - DB_HOST=${DB_HOST:-db}
148
- - DB_PORT=${DB_PORT:-3306}
149
- - DB_DATABASE=${DB_DATABASE:-laravel}
150
- - DB_USERNAME=${DB_USERNAME:-phper}
151
- - DB_PASSWORD=${DB_PASSWORD:-secret}
152
-
153
- next:
154
- build:
155
- context: .
156
- dockerfile: ./infra/docker/next/Dockerfile
157
- ports:
158
- - "3000:3000" # Nuxt.js の開発サーバーのポート (変更可能)
159
- volumes:
160
- - type: bind
161
- source: ./client
162
- target: /workspace
163
-
164
- web:
165
- build:
166
- context: .
167
- dockerfile: ./infra/docker/nginx/Dockerfile
168
- ports:
169
- - target: 80
170
- published: ${WEB_PUBLISHED_PORT:-80}
171
- protocol: tcp
172
- mode: host
173
- volumes:
174
- - type: bind
175
- source: ./server
176
- target: /workspace
177
-
178
- db:
179
- build:
180
- context: .
181
- dockerfile: ./infra/docker/mysql/Dockerfile
182
- ports:
183
- - target: 3306
184
- published: ${DB_PUBLISHED_PORT:-3306}
185
- protocol: tcp
186
- mode: host
187
- volumes:
188
- - type: volume
189
- source: db-store
190
- target: /var/lib/mysql
191
- volume:
192
- nocopy: true
193
- environment:
194
- - MYSQL_DATABASE=${DB_DATABASE:-laravel}
195
- - MYSQL_USER=${DB_USERNAME:-phper}
196
- - MYSQL_PASSWORD=${DB_PASSWORD:-secret}
197
- - MYSQL_ROOT_PASSWORD=${DB_PASSWORD:-secret}
198
-
199
- mailpit:
200
- image: axllent/mailpit
201
- ports:
202
- - target: 8025
203
- published: ${MAILPIT_PUBLISHED_PORT:-8025}
204
- protocol: tcp
205
- mode: host
206
-
207
- ```
208
-
209
- ```server/.env
210
- APP_URL=http://localhost:8000
211
- FRONTEND_URL=http://localhost:3000
212
- FRONTEND_URL=http://localhost:3000
213
-
214
- APP_LOCALE=en
215
- APP_FALLBACK_LOCALE=en
216
- APP_FAKER_LOCALE=en_US
217
- ```
218
-
219
- ```client/.env.local
220
- NEXT_PUBLIC_BACKEND_URL=http://localhost:8000
221
- ```
222
-
223
- ### 試したこと・調べたこと
224
- - [x] teratailやGoogle等で検索した
1
+ 投稿記事は載せるアカウントを間違えたため削除まし
225
- - [ ] ソースコードを自分なりに変更した
226
- - [ ] 知人に聞いた
227
- - [ ] その他
228
-
229
- ##### 上記の詳細・結果
230
- **検索して試したこと**
231
- - リストバックエンドとフロントエンドのenvファイルの確認
232
- Laravel側
233
- ```.env
234
- APP_URL=http://localhost:8000
235
- FRONTEND_URL=http://localhost:3000
236
- ```
237
- Next.js側
238
- ```.env.local
239
- NEXT_PUBLIC_BACKEND_URL=http://localhost:8000
240
- ```
241
-
242
- - リストバックエンドとフロントエンドのenvの設定変更
243
- Laravel側
244
- ```.env
245
- APP_URL=http://localhost
246
- FRONTEND_URL=http://localhost:3000
247
- ```
248
- Next.js側
249
- ```.env.local
250
- NEXT_PUBLIC_BACKEND_URL=http://localhost
251
- ```
252
-
253
- [侍テラコヤの質問であった内容](https://terakoya.sejuku.net/question/detail/18379)を試しましたが、別のエラーがブラウザのコンソールに表示されました。
254
- ```console:error
255
- GET http://localhost/api/user 500 (Internal Server Error)
256
- ```
257
-
258
- ### 補足
259
- テンプレートとして初期インストールされるNext.jsとLaravelのプロジェクトに関するファイル階層は省略しています。
260
-
261
- ディレクトリ階層は以下の通りです。
262
- docker-laravel
263
- ├── LICENSE
264
- ├── Makefile
265
- ├── README.md
266
- ├── Taskfile.yml
267
- ├── client
268
- │   └── Next.jsのプロジェクト
269
- ├── compose.yaml
270
- ├── infra
271
- │   └── docker
272
- │   ├── mysql
273
- │   │   ├── Dockerfile
274
- │   │   └── my.cnf
275
- │   ├── next
276
- │   │   └── Dockerfile
277
- │   ├── nginx
278
- │   │   ├── Dockerfile
279
- │   │   └── default.conf
280
- │   └── php
281
- │   ├── Dockerfile
282
- │   ├── php.deploy.ini
283
- │   ├── php.development.ini
284
- │   └── xdebug.ini
285
- └── server
286
-    └── Laravelのプロジェクト