【Docker】ローカル環境の Strapi のパスワードを忘れてしまった時
ローカルの Docker 上で動かしている Strapi のパスワードを忘れてしまったので、直し方をメモしておきます。😢
forgot password からはメールは届きません。
前提
ローカル環境は「Strapi を開発環境と本番環境のDockerで動かしたい【まとめ版】 開発環境の構築」の方法にて構築しています。
パスワードの再設定
# 対象の Strapi プロジェクトのディレクトリに移動
$ cd ~/StrapiProjects/vps-docker-strapi
# Docker コンテナの起動
$ docker compose -f docker-compose.dev.yml --env-file .env.development build
$ docker compose -f docker-compose.dev.yml --env-file .env.development up
# Docker コンテナ内にはいる
$ docker exec -it コンテナ名 bash
# Dockerコンテナ内で実行
root@ae387b24be32:/opt/app# strapi admin:reset-user-password
? User email? メールアドレス
? New password? 新しいパスワード
? Do you really want to reset this user's password? (Y/n) Y
ありがとう,Strapi のフォーラム
急にローカル環境の Strapi にログインができなくなり、かれこれ数時間が経ちました。
実際の原因は、PUBLIC_URL
という環境変数を追加していたからでした。
やりたかったことはStrapiの画像のパスが/upload/hogehoge.png
をhttps://api.cookin.dev/upload/hogehoge.png
といった形に整形したく、PUBLIC_URL
という環境変数を追加しました。
How to add the server url in the image src? Roslovets-Inc /
strapi-plugin-ckeditor5
ローカル環境にはローカル環境の環境変数を設定していたのですが、何が悪さしていたのか、ログイン時に本番環境の方にPOSTを叩いていました。
結果として何をしてもパスワードが合わない状態になってしまい、データベースを削除しても何をしてもダメという状態になってしまいました😢
予約語だったのか環境変数の設定方法が間違っているのか、どちらだったのかを調査するにはあまりに疲れてしまったので、とにかくそういうこともあるよというメモだけ残しておきます。
環境変数名を変えてみても、ダメでした。
.dockerignore
に.env
を書いてあげることで、正しい.env.development
が反映されるようになりました。
この件についてはStrapi の画像のパスを相対パスから正しいURLに変更するにも書きました。