【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.pnghttps://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に変更するにも書きました。