SimpleGrants西尾の試行錯誤ログ
SimpleGrants西尾の試行錯誤ログ
個人的メモ書いてたnishio.icon
続き
NEXT_PUBLIC_FINGERPRINT_KEYに何を入れるのか調べてる
これか
✅
なぜ入れる?QFだから複数アカウント作られたくない的なこと?
GOOGLE_CLIENT_ID
雑に設定してGOOGLE_CLIENT_IDとGOOGLE_CLIENT_SECRETを入れたが'"ikm" must be at least one byte in length'になってしまった
何をどう設定しておく必要があったのか
あーNEXTAUTH_SECRETか
どうやって取得?
randomでいいらしい
$ openssl rand -base64 32
ここまでできた
https://scrapbox.io/files/65b9ab407ec10700240e6331.png
redirect urlを設定する必要があるのだな
https://scrapbox.io/files/65b9ac81dff3b50023b9c8a1.png
frontendもdockerで動かす必要がある
$ cp .env.example .env.production
$ docker-compose up
Type error: Object is possibly 'null'.とか言って死んだ...
code::
DBのスキーマ周りの問題?
あそうか、.env.localじゃなくて.env.productionに書かないといけないのか(ここが間違い)
/frontendでやってるのがダメらしい
rootでやる
project rootで
$ docker compose -f docker-compose.dev.yml up --build
バックエンドフォルダに入ってDB初期化
$ cd backend && yarn setup
code::
All migrations have been successfully applied.
Environment variables loaded from .env
Running seed command ts-node prisma/seed ...
An error occurred while running the seed command:
Error: Command failed with ENOENT: ts-node prisma/seed
spawn ts-node ENOENT
うーん
この問題が解決してない
https://scrapbox.io/files/65b9ab407ec10700240e6331.png
ああー、そうかhttpsではなくhttpか!
一歩進んだ
https://scrapbox.io/files/65b9b36cc93fe5002534cd32.png
おっと、設定のミスか
Publishing status: In productionにした
ログインダイアログはエラーにならずに完了したが
2024-01-31 02:44:34.623 UTC [93] FATAL: no PostgreSQL user name specified in startup packet
ユーザデータを書き込もうとして死んでる...
docker container prune/image全削除してやり直そう
おっ、network errorにもならなくなった
しかしsigninできなくなった
[next-auth][error][OAUTH_CALLBACK_HANDLER_ERROR]
backendのNEXTAUTH_URLがproductionになったから# If production, change this to the same as FRONTEND_URLを変更する必要があるのか
うーん、それでもダメだな
code::
User was denied access on the database .public
...
simplegrants-frontend | name: 'GetUserByAccountError',
simplegrants-frontend | code: undefined
simplegrants-frontend | }
あっそうかdocker composeした後
$ cd backend && yarn setup
をし忘れてる
それでもダメだ、何もわからん...
時間を置いたらわかった
project rootで
$ docker compose -f docker-compose.dev.yml up --build
docker-compose.dev.ymlを使ってるのだから「.env.localじゃなくて.env.productionに書かないといけないのか」が間違い
.env.productionに書いてたPOSTGRES_USER/POSTGRES_PASSWORDを.env.localにも書く
docker composeからやり直したらできた!
https://scrapbox.io/files/65ba27a64280560026f89df1.png
サンプルデータが入ってないぞ?
localhost:3000/apiでswaggerが出るのは確認した
まだやってないこと: Stripeの設定